Yesterday, I tried to upgrade my FreeNAS 9.10.2 system to FreeNAS 11. The upgrade failed to set the boot environment to FreeNAS 11, so I did that manually after seeing a reboot simply took me back to FreeNAS 9.10.2. That was a mistake: now it boots into what appears to be FreeNAS 11, but when I try to go to the web GUI, I simply get "Internal Server Error." I am able to SSH into the server, at which point I tried to trigger another upgrade by typing sudo freenas-update -v update
. When I try this, here is what I get back:
[freenasOS.Configuration:692] TryGetNetworkFile(['http://update-master.ixsystems.com/FreeNAS/FreeNAS-9.10-STABLE/LATEST'])
[freenasOS.Configuration:822] TryGetNetworkFile(['http://update-master.ixsystems.com/FreeNAS/FreeNAS-9.10-STABLE/LATEST']): Read 2360 bytes total
[freenasOS.Configuration:692] TryGetNetworkFile(['http://update-master.ixsystems.com/updates/ix_crl.pem'])
[freenasOS.Configuration:84] CheckFreeSpace(path=/tmp/tmpa9lojvfr.pem, pool=None, required=1028)
[freenasOS.Configuration:822] TryGetNetworkFile(['http://update-master.ixsystems.com/updates/ix_crl.pem']): Read 1028 bytes total
[freenasOS.Update:977] Going to try checking cached manifest /var/db/system/update/MANIFEST
[freenasOS.Update:1001] Got this exception: [Errno 2] No such file or directory: '/var/db/system/update/MANIFEST'
[freenasOS.Configuration:692] TryGetNetworkFile(['http://update.ixsystems.com/FreeNAS/Validators/ValidateUpdate-dAn5lU.txt', 'http://update-master.ixsystems.com/FreeNAS/Validators/ValidateUpdate-dAn5lU.txt'])
[freenasOS.Configuration:84] CheckFreeSpace(path=/var/db/system/update/ValidateUpdate, pool=None, required=187)
[freenasOS.Configuration:822] TryGetNetworkFile(['http://update.ixsystems.com/FreeNAS/Validators/ValidateUpdate-dAn5lU.txt', 'http://update-master.ixsystems.com/FreeNAS/Validators/ValidateUpdate-dAn5lU.txt']): Read 187 bytes total
[freenasOS.Update:1034] DownloadUpdate: No update available
No updates available
Is there any way to force (from the command line) for the system to go through the FreeNAS 11 install process again so that it fill in whatever clearly didn't install properly in the previous version? If I can do it by SSH that would be idea -- the system is headless, so if I can take advantage of that SSH connection to repair the damage without starting from scratch, that'd be very helpful.
(I tried editing /boot/grub/grub.cfg to set default
to the previous, FreeNAS 9.x entry so that the system would boot to the previous version, but that didn't seem to have an effect when I rebooted. Of course, that still wouldn't solve the improper FreeNAS 11 install anyway.)
After a few stories like that we stopped using FreeNAS and switched to plain vanilla FreeBSD + ZFS. I'd strongly suggest you to do the same.
I figured out how to force the necessary upgrade. While the system was booting into FreeNAS 11, the failed upgrade had left the upgrade system thinking I was still on the FreeNAS 9.10.x "train." To switch trains while doing a command line upgrade, I used the following command
sudo freenas-update -v -T FreeNAS-11-STABLE update
.