A major FreeNAS upgrade to TrueNAS has been on the cards for most of 2020. TrueNAS 12.0 was released in October, but I’ve waited until the first U1 release before attempting my FreeNAS upgrade. How did it go? Well, there’s some good and bad…
To be fair, I ran the upgrade this morning (Friday) and as I start typing this later in the day, most things are working exactly as they were before the day began, so a pretty good update by all accounts.
It’s probably worth giving some context around the name change, which is much more significant. FreeNAS has always been the free version of TrueNAS, which is an enterprise-grade Network Attached Storage (NAS) solution from IXsystems. FreeNAS allowed them to test things out on non-paying customer before releasing their TrueNAS product upgrades.
They were always two different products though, with different code and TrueNAS 12.0 brings them both together, with the Core version replacing what was FreeNAS, and the Enterprise version replacing what was TrueNAS. So quite a major upgrade, which also included changes to the based version of FreeBSD (from 11 to 12) and OpenZFS (from 1 to 2).
The FreeNAS community had suggested that the equivalent of the FreeNAS release version would actually be the final release candidate (RC) version, as this would have gone through the same number of test iterations as a TrueNAS product. That would mean the 12.0 release was the equivalent of the first U1 point release, so in theory, I’d held off until the U2 version in ‘old money’, if that makes any sense?
The actual upgrade went remarkably well, with everything coming back online with no obvious problems. The jails are the most obvious, as I have a Nextcloud icon in my macOS menu bar and that’s usually a big green tick. If that’s not running it’s pretty noticeable. But on the first inspection, all of my jails were back up and running just fine. Next, I checked the VMs and from the console and an initial check, everything looked to be running.
I then checked access via the SMB shares and encountered my first issue which was simply fixed by restarting the SMB service. After that, I could access and write to all of the SMB shares from my iMac. I then started testing each jail and VM service in more detail, and it was here that I noticed some of the services running on my Docker VM weren’t accessible.
It looked like they were running, but I couldn’t access Portainer which is the main control interface for my Docker VM, and some of the VMs weren’t accessible either, although some were! A bit more digging and Googling led me to restart the NFS service, which is how all the datasets are shared with my Linux VMs. I still don’t know why, but this fixed things and everything was back up and running.
So at this point, It looked like the upgrade had gone very well and I’d have even given it an A rating. But with a major FreeBSD update comes upgrades to each of the iocage jails, which is another long process in itself.
I started with something that I don’t currently have running, which is my old Calibre jail. Although this took well over an hour, it updated fine or at least it did from a FreeBSD perspective as I didn’t really test the old interface. Next was another old one, Plex. This time I deleted the /usr/src folder within the jail, which contains all the old FreeBSD build folders. This reduced the time to around 30 minutes, and when I tested Plex it was still working fine, although the service running is now pretty old as I’ve not kept it up to date.
I was feeling pretty confident with things at this stage, which is where technology has a great way of putting you back in your place! I’m pretty sure I tested my MediaWiki jail after the update, and seem to remember it was still running. I didn’t test before starting the upgrade, and after completing it’s not working anymore. At first, the database service wasn’t starting, but a pkg update and upgrade seems to have fixed that but I still can’t access the MediaWiki site.
It’s just a test one, so not a big issue, but it just plants the seeds of worry for the remaining jails, which are more important and used much more frequently. I thought I go with my LimeSurvey jail next, as that’s also running a database, and if that doesn’t work I’ll need to work out the problem before trying any others.
The LimeSurvey jail worked fine though, at least after a pkg update and upgrade. And that’s pretty much where I am at the end of the day. I’m sure I’ve broken the wiki jail completely, as I’d tried to roll back a snapshot but that seemed to think it was still on 12.2-RELEASE, so can’t have fully rolled back. I don’t mind rebuilding that, but the fear is around the others – Nextcloud, WordPress and emby – which I use far more frequently and would be a pain to rebuild.
I’ll leave those for another day though, possibly as an extension of this blog depending how things go…
So, an update from today (Saturday), or tomorrow if you’re continuing the blog! I spent most of the day playing around with rebuilding the MediaWiki jail, which presented some challenges but was also a useful refresher as I’ve not done it in a while. It was also a good test that building new jails on TrueNAS 12.0 is working fine.
I also updated my emby jail, which again worked fine without needing to update any packages, and my openVPN jail which displayed some strange messages during the update and I fully expected it not to work, but after updating the packages it worked just fine.
So all I’m left with is the two most important – Nextcloud which I use daily for work and WordPress which hosts this blog and my company website. I’m putting them both off until tomorrow (Sunday)…
Well, tomorrow (Sunday) was actually yesterday (Sunday) and Nextcloud wasn’t a straightforward upgrade, but I also haven’t needed to rebuild it. It wouldn’t start after upgrading or running pkg update/upgrade in the jail. It appeared to be another database related issue, although again I struggled to identify exactly what. Eventually, I attempted to roll back the jail and the separate database dataset I use, and voila it worked! What’s strange is that I don’t think the jail rollback worked, as freebsd-version says it’s running 12-2 p2, but everything appears to be working fine so I guess that’s somewhat of a result.
I didn’t feel up to attempting the WordPress one today (Monday), although will have a go tomorrow (Tuesday). I’ve just updated everything on the 11-3 p5 jail, so I’m hoping that will make things smoother. I guess you’ll only know if you briefly stumble upon this blog and then the whole site goes down!
But that’s enough for this one. I’ll give the update a B- overall, given the problems and fact some of the core functionality is broken, which really shouldn’t be for a U1 or even U2 release. Maybe see you on the other side…