Jim's Blog
Live Upgrade
My experience with live upgrade....
First, my system.
X86 laptop. One hard drive. Initial install.
c0d0s0 - / (15G)
c0d0s1 - swap (2G)
c0d0s3 - /extra (15G and not mounted - set aside during initial install for the live upgrade copy of /)
c0d0s7 - zfs filesystem and given the rest of the disk space.
Two zones - stemplate & dir6. Both are sparse zones. This caused problems? I had this in my output from Step Two orginally
WARNING: The file </tmp/lucopy.errors.4697> contains a list of <3>
potential problems (issues) that were encountered while populating boot
environment <b80>.
INFORMATION: You must review the issues listed in
</tmp/lucopy.errors.4697> and determine if any must be resolved. In
general, you can ignore warnings about files that were skipped because
they did not exist or could not be opened. You cannot ignore errors such
as directories or files that could not be created, or file systems running
out of disk space. You must manually resolve any such problems before you
activate boot environment <b80>.
That file said....
cpio: Error during chown() of "/.alt.tmp.b-clb.mnt/dev/zcons/stemplate/masterconsole", errno 22, Invalid argument
cpio: Error during chown() of "/.alt.tmp.b-clb.mnt/dev/zcons/dir62/masterconsole", errno 22, Invalid argument
cpio: Error during chown() of "/.alt.tmp.b-clb.mnt/dev/zcons/dir62/zoneconsole", errno 22, Invalid argument
I'm willing to wager that it is fixable. However, these zones weren't that important at this time. So, to walk through the live upgrade, I uninstalled and deleted these zones.
Currently, / has Open Solaris, b78. The plan is to live upgrade to b80 onto c0d0s3.
Step One. lustatus reports that no live upgrade environment has been established.
Step Two. The initial live upgrade environment
# lucreate -n b80 -m /:/dev/dsk/c0d0s3:ufs
Discovering physical storage devices
Discovering logical storage devices
Cross referencing storage devices with boot environment configurations
Determining types of file systems supported
Validating file system requests
Preparing logical storage devices
Preparing physical storage devices
Configuring physical storage devices
Configuring logical storage devices
Analyzing system configuration.
Comparing source boot environment <c0d0s0> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Searching /dev for possible boot environment filesystem devices
Updating system configuration files.
The device </dev/dsk/c0d0s3> is not a root device for any boot environment; cannot get BE ID.
Creating configuration for boot environment <b80>.
Source boot environment is <c0d0s0>.
Creating boot environment <b80>.
Checking for GRUB menu on boot environment <b80>.
The boot environment <b80> does not contain the GRUB menu.
Creating file systems on boot environment <b80>.
Creating <ufs> file system for </> in zone <global> on </dev/dsk/c0d0s3>.
Mounting file systems for boot environment <b80>.
Calculating required sizes of file systems for boot environment <b80>.
Populating file systems on boot environment <b80>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
Creating shared file system mount points.
Copying root of zone <dir62>.
Copying root of zone <stemplate>.
Creating compare databases for boot environment <b80>.
Creating compare database for file system </>.
Updating compare databases on boot environment <b80>.
Making boot environment <b80> bootable.
Updating bootenv.rc on ABE <b80>.
Population of boot environment <b80> successful.
Creation of boot environment <b80> successful.
Now for the upgrade... I have it in 6 cd iso images. A little easier with one dvd image. However, I learned a little more about live upgrade in doing it this way :)
First, mounting an iso image...
# lofiadm -a /<path_to_iso>/solaris_1.iso /dev/lofi/1
# mount -f hsfs /dev/lofi/1 /mnt
# luupgrade -u -n b80 /mnt
# umount /mnt
# lofiadm -d /dev/lofi/1
Now, if this was a dvd image, you could skip over the rest of the cd images to install, however....
# lofiadm -a /<path_to_iso>/solaris_2.iso /dev/lofi/1
# mount -f hsfs /dev/lofi/1 /mnt
# luupgrade -i -n b80 /mnt (selecting the typical install is just fine!)
# umount /mnt
# lofiadm -d /dev/lofi/1
Do like wise for images 3,4,5 & 6.
Okay, onto finishing up and booting into build 80.
Activate the new image -
# luactivate b80
Reboot, but with init 6!
# init 6
Inspect your work -
# lustatus
| Boot Environment | Is | Active | Active | Can | Copy |
| Name | Complete | Now | Reboot | Delete | Status |
| c0d0s0 | yes | no | no | yes | - |
| b80 | yes | yes | yes | no | - |
Posted at 04:42PM Jan 15, 2008 by jimblog in Solaris |
Tuesday Jan 15, 2008