No Turning Back
No Turning Back
A Smooth Upgrade - OpenSolaris 2009.06 snv_111b
So earlier this week the new OpenSolaris 2009.06 was released in conjunction with CommunityOne in San Francisco. The new stable release of OpenSolaris snv_111b is hot off the presses and is getting good reviews. It was actually selected as a release candidate the week before, but I’m sure Sun wanted to promote it during the CommunityOne festivities. I’m a two days late with this entry, but better late than never.
Upgrade The Server
My home NAS server I’ve been using for quite a while which I just migrated to OpenSolaris 2008.11 was doing just fine, but I wanted to have the latest build as I intend to try building OpenSolaris from scratch in the next few weeks and wanted to be up-to-date. After all it took me a year to get migrated to the latest version a few weeks ago, so I figured, why wait this time.
The upgrade was a snap. However, the usual disclaimers apply when doing this as when doing anything as root. Usual disclaimers apply, please read “the fine print.”
I went to Sun’s web site and found the section on upgrading an existing install to OpenSolaris install 2009.06 and it really couldn’t have been simpler. Before trying this out on my live server, even though be’s (boot environments) and zfs rollback works like a charm, I built a virtual machine in VirtualBox and installed OpenSoalris 2008.11 just to be safe. I did the following from the command line:
‣pfexec su -
‣pkg install -v SUNWipkg
‣pkg image-update -v
‣init 6
That’s it and I’m now up and running the latest version of OpenSolaris 2009.06.
I have to say it did take a little bit of time due to the extra load the Sun servers were having to deal with due to the enthusiasm of people wanting to upgrade and download. I did add the “-v” option for verbose because I wanted to see what it was doing while it was doing it and it gave me something to watch during the upgrade. In all, it took about 30-45 minutes due to slow response times and load on the servers.
One side note, I’ve only found one problem with the upgrade, but it was simple enough to fix and didn’t notice it until today.
root@spirit:/# man pkg
windex entry incorrect: pkg(1t) not found.
root@spirit:/root# catman -w &
This is easily fixed by issuing a catman -w to rebuild the whatis database.
UPDATE: 10 June 2009 - Did find one more things which needs to be done after upgrade. Any disk pools you have will most likely be on a lower version of ZFS. I only noticed this because I wanted to scrub the disks after a less than graceful shutdown and checked the status of the pools. Very easy to take care of using the zfs upgrade command.
root@spirit:~# zpool status rpool
pool: rpool
state: ONLINE
status: The pool is formatted using an older on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
pool will no longer be accessible on older software versions.
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c5d0s0 ONLINE 0 0 0
c4d0s0 ONLINE 0 0 0
errors: No known data errors
root@spirit:~# zpool upgrade
This system is currently running ZFS pool version 14.
The following pools are out of date, and can be upgraded. After being
upgraded, these pools will no longer be accessible by older software versions.
VER POOL
--- ------------
13 rpool
13 xpool
Use 'zpool upgrade -v' for a list of available versions and their associated
features.
root@spirit:~# zpool upgrade -v
This system is currently running ZFS pool version 14.
The following versions are supported:
VER DESCRIPTION
--- --------------------------------------------------------
1 Initial ZFS version
2 Ditto blocks (replicated metadata)
3 Hot spares and double parity RAID-Z
4 zpool history
5 Compression using the gzip algorithm
6 bootfs pool property
7 Separate intent log devices
8 Delegated administration
9 refquota and refreservation properties
10 Cache devices
11 Improved scrub performance
12 Snapshot properties
13 snapused property
14 passthrough-x aclinherit support
For more information on a particular version, including supported releases, see:
http://www.opensolaris.org/os/community/zfs/version/N
Where 'N' is the version number.
root@spirit:~# zpool upgrade rpool
This system is currently running ZFS pool version 14.
Successfully upgraded 'rpool' from version 13 to version 14
Pools are then updated. So simply:
•Check the pools on the machine: zpool upgrade
•Check the ZFS versions available in your installation: zpool upgrade -v
•Upgrade and repeat for each pool: zpool upgrade poolname
A Couple Of Extras
I’m very much a command line person and have been for a long time. I’m not particularly fond of GUI’s, I don’t like watching the little orange bar moving across my screen while the system is booting. Bad things sometimes happen during this process and you can be stuck staring at the graphical boot for a very long time. So, when I’m booting, this is what my /rpool/boot/grub/menu.lst file looks like. My changes highlighted in blue:
splashimage /boot/grub/splash.xpm.gz
background 215ECA
timeout 5
default 3
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title OpenSolaris 2008.11 snv_101b_rc2 X86
findroot (pool_rpool,0,a)
splashimage /boot/solaris.xpm
foreground d25f00
background 115d93
bootfs rpool/ROOT/opensolaris
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphics
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------
title OpenSolaris 2008.11 snv_101b_rc2 X86 text boot
findroot (pool_rpool,0,a)
bootfs rpool/ROOT/opensolaris
kernel$ /platform/i86pc/kernel/$ISADIR/unix -v -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
title opensolaris-1
findroot (pool_rpool,0,a)
splashimage /boot/solaris.xpm
foreground d25f00
background 115d93
bootfs rpool/ROOT/opensolaris-1
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphics
module$ /platform/i86pc/$ISADIR/boot_archive
#============ End of LIBBE entry =============
title OpenSolaris 2009.06 snv_111b X86 text boot
findroot (pool_rpool,0,a)
bootfs rpool/ROOT/opensolaris-1
kernel$ /platform/i86pc/kernel/$ISADIR/unix -v -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
Notice, I’m using the 4th boot entry (indicated by “default 3”, the first is “0”) and I also don’t like waiting so I set the timeout on the GRUB screen to 5 seconds which is plenty of time to select something else if I need to. Also, I’ve added the “-v” verbose option to the kernel so I have something to look at while it’s booting. It just gives me a warm feeling to see the machine “doing something” at boot and this is a “headless” server most of the time anyway.
In all, I’m very pleased with how smoothly the upgrade went. Many thanks go out to everyone who helped build, test and package this great operating system.
Get OpenSolaris 2009.06snv_111b now.
Friday, 5 June 2009