SunUpgrade

From My Admin Page
Jump to: navigation, search
** This info was supplied by the great, hard working Karl Simpson **

Oracle 11g installation attempts will fail on Solaris 10 distributions older that 05/08. I have worked with two clients to upgrade multiple Solaris 10 servers to current releases during maintenance windows. It takes some time but is a relatively simple process. Below are the steps if anyone is interested.

Preparation

  1. Download the latest Solaris 10 DVD iso and either have someone on site burn a disk and insert it for you. This my preference as this can be used to boot to a rescue environment. Alternatively save the iso to a local file system (this can speed things up).
  2. Document the system as if preparing to rebuild from scratch (networking, mirrors, disk layout, hosts file.
  3. Check backups.
  4. Check logs for issues and note available space in / and /var as these tend to get filled up during the upgrades and patching. Clean up as needed. I find removing unneeded international locales can save a lot of space, particularly, China, Japan, Thailand, etc.
  5. Optional but recommended: Boot to single-user mode and create a flash archive, save to an nfs share.
  6. Back up /etc/vfstab and /etc/system then comment out all non-OS file systems.
  7. If using svm or Veritas mirrors, break the remaining file system mirrors (/, /var, /usr, swap, etc) and clear all related entries from the metadb. Hardware mirrors should remain intact.
  8. Reboot.

Method 1 – Offline Upgrade

If you have hardware mirrors.

  1. Boot from the DVD and perform an “Upgrade installation”. Use your notes to fill in network settings, etc, Then select “Upgrade install”.
  2. Apply the latest Solaris patches.
  3. Restore commented entries in /etc/vfstab.
  4. Restore any broken svm mirrors.
  5. Clean up the flash archives.

Method 2 – Live Upgrade

Though there are many more steps than Method 1, this can be used while machine is running in multi-user mode with the apps running, it runs faster and provides a quick, convenient way to back out if the upgrade fails. I use this method most often though it is usually not an option with hardware mirrors, and though it can be done on a live system, I recommend using a maintenance window.


1. Install Live Upgrade packages from the installation DVD/iso (SUNWlur, SUNWluu and SUNWlcfg). It is important that Live Upgrade be installed from the media that will be used. An existing installation of Live Upgrade or will not work.

2. Set up the offline half of each mirror as an alternate boot environment. For example, if the now-broken os file systems mirror were

/ = d0 (d10:c0t0d0s0 and d20: c1t0d0s0)
swap = d1 (d11:c0t0d0s1 and d21: c1t0d0s1)
/var = d3 (d13:c0t0d0s3 and d23: c1t0d0s3)
Then run:
lucreate -n “second_disk” -m /:/dev/dsk/c0t0d0s0:ufs,preserve -m -:/dev/dsk/c1t0d0s1:swap -m /var:/dev/dsk/c1t0d0s3:ufs,preserve
This will create a pair of boot environments. The current active one, which will automatically be named “c0t0d0s0”, and the alternate which will be named “second_disk”. The “preserve” option, preserves the mirror contents which speeds things up. Otherwise lucreate will copy the contents of c0t0d0sx over c1t0d0sx. When complete, check with lustatus.
boot environment	Is		Active	Active		Can		Copy
Name			Complete 	Now	OnReboot	Delete		Status
-------------------------------------------------------------------------------------
c0t0d0s0		yes		yes	yes		no		-
second_disk		no		no	no		yes		-

3. Mount the DVD (e.g. /dev/sr0 -> /mnt/cdrom)

4. Create a sysidcfg file to disable Oracle’s auto registration in the next step:

echo "auto_reg=disable" > /tmp/sysidcfg

5. Upgrade the alternate boot environment:

luupgrade -u -n second_disk -k /tmp/sysidcfg -s /mnt/cdrom

6. Once the upgrade is complete, activate the newly upgraded boot environment.

luactivate second_disk

7. Perform an init 6 to reboot into the new environment. Once the reboot is finished, verify with lustatus, or df commands. Cat /etc/release and/or uname -a to verify that the distribution has been upgraded. If these are unchanged, it is likely that you have rebooted into the original boot environment.

8. If all goes well then the original boot environment can be deleted:

ludelete c0t0d0s0

9. Re-establish the mirrors for /, /var and swap.

10. Uncomment the non-os file systems in /etc/vfstab.

11. Do a sanity reboot and check that everything is back to normal.

12. Apply the latest Solaris patches.

13. Clean up the flash archives.