Live Upgrade to Solaris Build 89
I did a live upgrade on our Sun x4500 today from build 64 to build 89. I wanted to use the native CIFS (windows) server capability for zfs in the newer Solaris build.
The live upgrade was essentially a mirror of the process I undertook to get to b64 in the first place, where I created a boot environment in the alternate disk, copied my existing boot environment to it, and used a Solaris build 89 dvd image to upgrade it. Details on that can be found in this old post.
I had one problem, where the local filesystem service failed to start after the reboot into the new version of Solaris. It was complaining that some of the directories that my zfs filesystem uses for mount points were not empty. The directories it complained about were root filesystems I had created for some Solaris zones inside the zfs. I exported the zpool, which unmounted everything, and indeed, the zone subdirectory still existed in the zfs directory hierarchy. I moved those directories out of the way, and rebooted with init 6. The system came up as expected, and everything booted up normally.
It appears that what happened was that when I ran lucreate to create the duplicate of my b64 environment prior to upgrading it to b89, it erroneously copied my zone roots into it from the zfs filesystem. Then when I upgraded the system and rebooted, those files were in the way of my zfs pool, preventing if from mounting cleanly.
Other than that, the upgrade went swimmingly. I will have to check to see if the zone in question also managed to get upgraded, since I moved the files created by lucreate after the upgrade to get back to the files stored in the zfs pool.
Update - the zone I mentioned is still on build 64. I’ll have to figure out how to upgrade that.
Add comment 2008-06-10

