<

Go Premium for a chance to win a PS4. Enter to Win

x

Installing the Solaris 9 OS From a Flash Archive Dynamically

Published on
9,864 Points
3,764 Views
1 Endorsement
Last Modified:
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
Comment
Author:Joseph Gan
0 Comments

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Join & Write a Comment

This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.
Suggested Courses
Course of the Month10 days, 3 hours left to enroll

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month