Installing the Solaris 9 OS From a Flash Archive Dynamically

Joseph GanSystem Admin
CERTIFIED EXPERT
Published:
My previous tech tip, Installing the Solaris OS From the Flash Archive On a Tape, discussed installing the Solaris Operating System from a tape archive.  In that case, the server has to be booted from a installation CD or DVD and the server is not available for use during the installation.

In this tech tip, I'd like to show how to install a Solaris flash archive onto a server dynamically. Using this method, the server is available all the time during the installation.

Note: This tech tip shows an example of upgrading from the Solaris 8 release to the Solaris 9 9/04 OS.  It is possible that a similar procedure would work for other versions of the Solaris OS.
In the following example, I used the Solaris Live Upgrade command line.

The server was running the Solaris 8 OS, and I wanted to use Solaris Live Upgrade software to install the Solaris 9 OS onto a spare disk.  Instead of cloning the Solaris 8 OS onto a spare disk and using Solaris Live Upgrade software to upgrade to the Solaris 9 OS, I used a Solaris 9 flash archive on the local disk. The archive includes other third-party software and configurations.

The server I used in this example was a Sun Fire V440 Server with four 72-Gbyte internal disks. The Solaris 8 OS was installed on the first disk, with the following layout:

# df -k
Filesystem          kbytes    used   avail capacity  Mounted on
                      /dev/dsk/c9t0d0s0   482775  123810  310688    29%    /
                      /dev/dsk/c9t0d0s1  1490047 1206654  223792    85%    /usr
                      /proc                    0       0       0     0%    /proc
                      mnttab                   0       0       0     0%    /etc/mnttab
                      fd                       0       0       0     0%    /dev/fd
                      /dev/dsk/c9t0d0s3  9079661 7856344 1132521    88%    /var
                      swap               30179160     24 30179136    1%    /var/run
                      /dev/dsk/c9t0d0s6  30257446 19623302 10331570 66%    /opt

Open in new window

I wanted to upgrade the fourth internal disk to the Solaris 9 9/04 OS, so the first thing I needed to do was to update the current OS to the latest cluster patch level.  Doing this makes things much easier; for example, there are minimum patch and package requirements for the Solaris Live Upgrade software. Check the SunSolve web site for the latest cluster patch.

Also, you have to upgrade two Solaris Live Upgrade packages (SUNWlur and SUNWluu) from the Solaris 8 OS to the Solaris 9 OS before the upgrade. After doing that, you are ready to go.

First, I named the current Solaris 8 boot environment s8os:

# lucreate -c s8os

# lustatus
Boot Environment       Is       Active Active    Can    Copy
                      Name                   Complete Now    On Reboot Delete Status
                      ---------------------- -------- ------ --------- ------ ------
                      s8os                   yes      yes    yes       no     -

Open in new window


Next, from a similar server, I got a Solaris 9 flash archive I created named S9arch.flar and put it under /opt on the local server:

# cd /opt
# ls -al
total 31364348
                      drwxr-xr-x  14 root  sys        512 Jan  2 10:17 .
                      drwxr-xr-x  61 root  root      1536 Jan  2 11:04 ..
                      drwxr-xr-x   3 fs    fs         512 Sep 17 11:29 fs
                      drwxr-xr-x  17 root  staff      512 Sep 17 11:29 local
                      drwx------   2 root  root      8192 Sep 10 12:13 lost+found
                      -rw-r--r--   1 root  other  6968820585 Dec 23 11:57 S9arch.flar
                      drwxr-xr-x   2 root  staff      512 Sep 17 11:29 startupfiles
                      drwxr-xr-x   6 root  sys        512 Sep 17 11:29 SUNWebnfs
                      drwxrwxr-x   3 bin   bin        512 Sep 17 11:29 SUNWits
                      drwxr-xr-x   5 root  sys        512 Sep 17 11:29 SUNWrtvc

Open in new window

Then, I wanted to install the Solaris 9 OS onto the fourth internal disk.  The following command shows all the disks:

# format
Searching for disks...done
                      
                      AVAILABLE DISK SELECTIONS:
                           0. c9t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
                              /pci@1f,700000/scsi@2/sd@0,0
                           1. c9t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
                              /pci@1f,700000/scsi@2/sd@1,0
                           2. c9t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
                              /pci@1f,700000/scsi@2/sd@2,0
                           3. c9t3d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
                              /pci@1f,700000/scsi@2/sd@3,0
                      Specify disk (enter its number):

Open in new window


So I created a new boot environment without actually copying the current OS over to it:

# lucreate -s - -m /:/dev/dsk/c9t3d0s0:ufs -m
/usr:/dev/dsk/c9t3d0s3:ufs -m /var:/dev/dsk/c9t3d0s4:ufs -m
                      /opt:/dev/dsk/c9t3d0s1:ufs  -m -:/dev/dsk/c9t3d0s5:swap -n
                      4thdisk

Open in new window


The outcome looked similar to this:
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.
                      Updating boot environment description database on all BEs.
                      Searching /dev for possible boot environment filesystem
                      devices
                      
                      Updating system configuration files.
                      Creating <ufs> file system for </> on </dev/dsk/c9t3d0s0>.
                      Creating <ufs> file system for </opt> on </dev/dsk/c9t3d0s1>.
                      Creating <ufs> file system for </usr> on </dev/dsk/c9t3d0s3>.
                      Creating <ufs> file system for </var> on </dev/dsk/c9t3d0s4>.
                      Creation of boot environment <4thdisk> successful.

Open in new window

This process didn't take very long, because it was just creating all the file systems on the disk.  After it was done, the following command showed that the new boot environment was not completed yet:

# lustatus
Boot Environment       Is       Active Active    Can    Copy
                      Name                   Complete Now    On Reboot Delete Status
                      ---------------------- -------- ------ --------- ------ ------
                      s8os                   yes      yes    yes       no     -
                      4thdisk                no       no     no        yes    -

Open in new window

To complete the full installation using the Solaris 9 archive, I ensured that I put a Solaris 9 installation CD or DVD into the local server's CD-ROM drive, and then I ran this command:

# luupgrade -f -n 4thdisk -s  /cdrom/sol_9_904_sparc/s0 -a /opt/S9arch.flar

The outcome of the command looked similar to this:
Validating the contents of the media </cdrom/sol_9_904_sparc/s0>.
                      The media is a standard Solaris media.
                      Validating the contents of the miniroot
                      </cdrom/sol_9_904_sparc/s0/Solaris_9/Tools/Boot>.
                      Locating the flash install program.
                      Checking for existence of previously scheduled Live Upgrade
                      requests.
                      Constructing flash profile to use.
                      Creating flash profile for BE <4thdisk>.
                      Performing the operating system flash install of the BE
                      <4thdisk>.
                      CAUTION: Interrupting this process may leave the boot
                      environment unstable or unbootable.
                      Extracting Flash Archive: 100% completed (of 6645.98
                      megabytes)
                      The operating system flash install completed.
                      The Live Flash Install of the boot environment <4thdisk>
                      is complete.

Open in new window

After it completed, I used the following commands to check things:

#  lustatus
Boot Environment       Is       Active Active    Can    Copy
                      Name                   Complete Now    On Reboot Delete Status
                      ---------------------- -------- ------ --------- ------ ------
                      s8os                   yes      yes    yes       no     -
                      4thdisk                yes      no     no        yes    -

Open in new window


# lufslist 4thdisk
               boot environment name: 4thdisk
                      
                      Filesystem        fstype device size Mounted on Mount Options
                      ----------------- ------ ----------- ---------- -------------
                      /dev/dsk/c9t3d0s5  swap    2625896448 -          -
                      /dev/dsk/c9t3d0s0  ufs     1052442624 /          -
                      /dev/dsk/c9t3d0s1  ufs    37752471552 /opt       -
                      /dev/dsk/c9t3d0s3  ufs     5246582784 /usr       -
                      /dev/dsk/c9t3d0s4  ufs    15729328128 /var       -

Open in new window


The new boot environment was completely installed from the Solaris 9 flash archive, and it was active upon the next reboot.

[Ed. Note: Reprinted from: http://www.sun.com/bigadmin/content/submitted/flash_arch_dynam.jsp ]
1
4,920 Views
Joseph GanSystem Admin
CERTIFIED EXPERT

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.