Feeds:
Posts
Comments

Archive for the ‘Live Upgrade’ Category

The lucreate command is part of a suite of commands that make up the Live Upgrade feature of the Solaris Operating environment.

Example:

# lucreate -n newsystem-new -c solaris10 -m /:/dev/dsk/c0t2d0s0:ufs -m -:/dev/dsk/c0t2d0s1:swap \-m /var:/dev/dsk/c0t2d0s5:ufs -m /usr:/dev/dsk/c0t2d0s6:ufs -m /opt:/dev/dsk/c0t2d0s7:ufs \

-l /var/log/lucreate.err -o /var/log/lucreate.log

BE: Boot Environment

-n: The name of the BE to be created. BE must be unique on a given system

-c: The current BE

-m: mount point:device[,volume]:fs

-l: Error messages and other status messages are sent to error log

-o: All command output is sent to outfile

To check the status of the BEs

The lustatus command displays the status information of the boot environment (BE)

#lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

————————– ——– —— ——— —— ————————-

solaris10 yes yes yes no –

newsystem-new yes no no yes –

To find out root and boot slices on both the BEs

bash-3.00# cat /etc/lutab
# DO NOT EDIT THIS FILE BY HAND. This file is not a public interface.
# The format and contents of this file are subject to change.
# Any user modification to this file may result in the incorrect
# operation of Live Upgrade.
1:solaris10:C:0
1:/:/dev/dsk/c0t0d0s0:1
1:boot-device:/dev/dsk/c0t0d0s0:2
2:solaris10-new:C:0
2:/:/dev/dsk/c0t2d0s0:1
2:boot-device:/dev/dsk/c0t2d0s0:2

To list the file system slices in New BE

bash-3.00# lufslist newsystem-new

boot environment name: newsystem-new

Filesystem fstype device size Mounted on Mount Options

———————– ——– ———— ——————- ————–

/dev/dsk/c0t2d0s1 swap 315432960 – –

/dev/dsk/c0t2d0s0 ufs 5370716160 / logging

/dev/dsk/c0t2d0s6 ufs 5370716160 /usr logging

/dev/dsk/c0t2d0s5 ufs 3223265280 /var logging

/dev/dsk/c0t2d0s7 ufs 3223265280 /opt logging

To rename the new BE

bash-3.00# lurename -e newsystem-new -n solaris10-new
Renaming boot environment <newsystem-new> to <solaris10-new>

Changing the name of BE in the BE definition file.
Changing the name of BE in configuration file.
Updating compare databases on boot environment <solaris10-new>.
Changing the name of BE in Internal Configuration Files.
Propagating the boot environment name change to all BEs.
Boot environment <newsystem-new> renamed to <solaris10-new>.

bash-3.00# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
————————– ——– —— ——— —— ———-
solaris10 yes yes yes no –
solaris10-new yes no no yes –

Mounting New BE

bash-3.00# mkdir solaris10-new
bash-3.00# lumount solaris10-new /solaris10-new
/solaris10-new

bash-3.00# df -h
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t0d0s0 4.8G 372M 4.4G 8% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 277M 1.0M 276M 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
/dev/dsk/c0t0d0s6 4.8G 3.5G 1.2G 75% /usr
fd 0K 0K 0K 0% /dev/fd
/dev/dsk/c0t0d0s5 2.9G 465M 2.4G 17% /var
swap 276M 0K 276M 0% /tmp
swap 276M 48K 276M 1% /var/run
/dev/dsk/c0t0d0s7 2.9G 3.6M 2.8G 1% /opt
/dev/dsk/c0t2d0s0 4.9G 376M 4.5G 8% /solaris10-new
/dev/dsk/c0t2d0s6 4.9G 3.5G 1.3G 73% /solaris10-new/usr
/dev/dsk/c0t2d0s5 3.0G 465M 2.4G 16% /solaris10-new/var
/dev/dsk/c0t2d0s7 3.0G 3.7M 2.9G 1% /solaris10-new/opt

Unmounting New BE

bash-3.00# luumount solaris10-new

Following are some of the live upgrade commands

lu: FMLI-based interface for creating and administering BEs.

luactivate: Designate a BE as the BE to boot from upon the next

reboot of the system.

lucancel: Cancel a previously scheduled operation.

lucompare: Compare the contents of two BEs.

lucurr: Display the name of the current BE.

ludelete: Delete a BE.

ludesc: Add or change BE descriptions.

lumake: Re-create a BE based on the active BE.

luupgrade: Upgrade an OS and install application software on a BE.

Such software includes flash archives, complete OS installations, OS and application packages, and OS patches

Read Full Post »

Liveupgrade is a great feature in Solaris which reduces the downtime patching, upgrades and providing a quick rollback mechanism. It is very interesting to see Sun’s Factory Boot Disk layout.

Check the following link for detail

http://wikis.sun.com/display/BigAdmin/BootDiskLayout

Read Full Post »

If you boot from a Solstice DiskSuiteTM or a SolarisTM Volume Manager mirrored root, or a Veritas encapsulated root, the lucreate command might be unable to determine the boot device. The following error message is displayed.

WARNING: Unable to determine root device by accessing boot device settings directly.
ERROR: Unable to determine root device for current BE.
ERROR: Unable to determine the physical boot device for the current BE <...>.
Use the <-C> command line option to specify the physical boot device for the current BE 
<...>

If you use lucreate -C to specify the physical boot device the command fails.

Workaround: Manually edit /usr/sbin/lucreate to enable Live Upgrade to determine the boot device from a Solstice DiskSuite or a Solaris Volume Manager mirrored root, or a Veritas encapsulated root. Follow these steps.

  1. Make a backup copy of /usr/sbin/lucreate.
  2. Open /usr/sbin/lucreate in a text editor.
  3. Locate the following line in /usr/sbin/lucreate.
    elif [ "${dpbe_pbeBootDev}" -eq "-" ] ; then
  4. Change the previous line to the following.
    elif [ "${dpbe_pbeBootDev}" = '-' ] ; then
  5. Locate the following line in /usr/sbin/lucreate.
     if [ "${OPTARG}" -ne "-" ] ; then
  6. Change the previous line to the following.
    if [ "${OPTARG}" != '-' ] ; then
  7. Save the changes to /usr/sbin/lucreate.The lucreate command can now determine the boot device and the -C option will function correctly.

    You can remove the backup copy of /usr/sbin/lucreate when the upgrade completes.

Read Full Post »