Some Witty Tagline Goes Here

How to Upgrade Solaris With Volumes Under DiskSuite Control

The following information was sent to me by support at Sun.

PHASE I: Pre-Upgrade Preparations
=================================

It is very important to gather this data before
proceeding with the following procedure.

1) Get copies of the following files.

   /kernel/drv/md.conf
   /etc/opt/SUNWmd/md.tab
   /etc/opt/SUNWmd/mddb.cf
   /etc/opt/SUNWmd/md.ctlrmap
	(this file is not present with SDS 3.0)
   /etc/opt/SUNWmd/md.cf

2) Backup the entire system using "ufsdump" for 
   safe keeping.

3) If you have multiple controller #'s with 
   storage arrays attached, make note of the 
   controller #'s. (for SSA's run: ssaadm 
   display c# for each).

4) Get copies of /dev/dsk and /devices trees, 
   also /etc/path_to_inst file. 

   If adding new hardware to your system do not 
   move current controllers to different sbus 
   slots, this will cause controller #'s and 
   devices to change after a (boot -r) resulting 
   in devices not being mounted on reboot.

5) Repair any mirrors that have errors.

6) Get locations of all known replicas and 
   command line syntax of how each metadevice 
   was created.

   metastat -p > /etc/opt/SUNWmd/md.orig.tab
   metadb  > /etc/opt/SUNWmd/metadb.orig


7) Save copies of /etc/vfstab and /etc/system 
   files.

       # cp /etc/vfstab /etc/vfstab.orig
       # cp /etc/system /etc/system.orig

8) Backup to tape of files in step #1, 6, and 
   7 for safe keeping.


Phase II: Unmirroring OS Filesystems
====================================

1) metaroot cxtxdxsx

   This command returns root entry in /etc/vfstab to original 
   underlying physical device, for root only.

2) Edit

   /etc/vfstab:

   a) comment out all non-OS metadevices.

   b) return /usr, /var, /opt, and swap to underlying physical 
      devices if they reside in a metadevice.

   /etc/system:

   c) remove bootlist state replica lines.


3) Rename the DiskSuite startup files so they are no longer 
   initialized at boot time.

   # cd /etc/rcS.d; mv S35SUNWmd.init s35SUNWmd.init
   # cd /etc/rc2.d; mv S95SUNWmd.sync s95SUNWmd.sync
   # cd /etc/rc3.d; mv S25mdlogd s25mdlogd
     (for SDS 4.1 if SUNWmdn was installed)

   These links will be added later by reinstalling DiskSuite 
   after the upgrade.

4) Convert the root mirror to an one-way mirror with the 
   metadetach command.  We remove the primary sub-mirror 
   because if something were to go wrong with the upgrade; 
   we could use the secondary sub-mirror to boot from and 
   get back to our original config.

   So for example:

   # metastat d0

   d0: Mirror
    Submirror 0: d10
      State: Okay
    Submirror 1: d20
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 3026320 blocks

   d10: Submirror of d0
       State: Okay
       Size: 3026320 blocks
       Stripe 0:
           Device      Start Block  Dbase State   Hot Spare
           c0t0d0s0           0     No    Okay


   d20: Submirror of d0
       State: Okay
       Size: 4300560 blocks
       Stripe 0:
           Device      Start Block  Dbase State   Hot Spare
           c0t10d0s0          0     No    Okay

   #metadettach d0 d10   (where d10 contain boot disk c0t0d0)

5) Copy /etc/vfstab, /etc/system and startup files back. 
   We copy these files to the secondary sub-mirror. If 
   something happens during upgrade we can always boot 
   from mirror which would have original config.

     a) cp /etc/vfstab.orig /etc/vfstab
     b) cp /etc/system.orig /etc/system
     c) cd /etc/rcS.d; mv s35SUNWmd.init S35SUNWmd.init
     d) cd /etc/rc2.d; mv s95SUNWmd.sync S95SUNWmd.sync
     e) cd /etc/rc3.d; mv s25mdlogd S25mdlogd
        (for SDS 4.1 if SUNWmdn was installed)

6) Execute init S (go to single-user mode) fsck all underlying
partitions.

7) Reboot system


Phase III: Removing SDS
=======================

1) Verify that no metadevices are in use:

  #df -kl

      Filesystem     kbytes    used   avail capacity  Mounted on
  /dev/dsk/c0t0d0s0   96019   48553   37865    57%    /
  /dev/dsk/c0t0d0s6 1369054  487505  826787    38%    /usr
  /proc                   0       0       0     0%    /proc
  fd                      0       0       0     0%    /dev/fd
  /dev/dsk/c0t0d0s1   96019   54753   31665    64%    /var
  /dev/dsk/c0t0d0s7   24114       9   21694     1%    /export/home
  /dev/dsk/c0t0d0s4 2052609  336119 1654912    17%    /extra
  /dev/dsk/c0t0d0s5  288556  255427    4274    99%    /opt
  swap               168776     480  168296     1%    /tmp


2) Backout SDS related patches

   # ./backoutpatch xxx

     103926-xx Online DiskSuite 3.0: Jumbo patch
     102580-xx Solstice DiskSuite 4.0: Jumbo patch
     103421-xx Solstice DiskSuite 4.0: POINT PATCH
     104172-xx Solstice DiskSuite 4.1: Jumbo patch

3) Remove SDS packages: SUNWmd, SUNWmdg, and SUNWmdn.

   # /usr/sbin/pkgrm SUNWmd SUNWmdg SUNWmdn

   (SDS 3.0 will have package SUNWmd ONLY!)

   If removing SDS 3.0 or 4.0, you will be prompted for 
   these questions:

   -----------------------------------------------------
   ##Removing pathnames in class <preserve>
        The following files will be left installed:

                /kernel/drv/md.conf
                /etc/opt/SUNWmd/mddb.cf
                /etc/opt/SUNWmd/md.tab
                /etc/opt/SUNWmd/md.ctlrmap
                /etc/opt/SUNWmd/md.cf

        Do you with to remove them now (y,n,?) y
        The following lines will be left in /etc/system:

        *Begin MDD Database info (do not edit)
        set md:mddb_bootlist1="[SDS-MDDB-BOOTLIST]"
        *End MDD database info (do not edit)

        Do you with to remove them now (y,n,?) y
    ----------------------------------------------------

    If removing SDS4.1, you will not be prompted with these 
    questions SDS 4.1 removes them for us, this is why we 
    need to make copies of these important files.

9) Remove the disksuite devices. This step is not necessary 
   for SDS 4.1; it removes /dev and /devices for us.

        # rm -r /dev/md
        # rm /devices/pseudo/md*

   You have successfully backed out DiskSuite.


PHASE IV: Upgrading Solaris
===========================

1) Upgrade your system to the new Solaris release.

   See Solaris documentation for upgrade process.

2) Install current cluster patches for corresponding
   Solaris release.

3) Reboot system.


PHASE V: Installing New SDS and Recovering SDS Configurations
=============================================================

1) Install Solstice Disksuite packages SUNWmd, SUNWmdg, 
   and SUNWmdn.

   For Solaris 2.6 Server Edition, use the the Server Intranet
   Extension 1.0 cdrom.

   # cd /cdrom/cdrom0/DiskSuite_4.1/sparc
   # pkgadd -d `pwd` SUNWmd SUNWmdg SUNWmdn

   For Solaris 7 Server Edition, use the Solaris Easy Access
   Server 2.0 cdrom.

   # cd /cdrom/cdrom0
   # ./installer &

   The installer script will launch  a graphical gui to lead
   thru the process of installing SDS 4.2 along with other 
   bundled software as well.

2) Install the appropriate patches for your SDS release.

   104172-xx Solstice DiskSuite 4.1: Jumbo patch
   106627-xx Solstice DiskSuite 4.2: Product patch

3) Execute init 6 to reboot.

4) Re-create all of your state database replicas via the metadb 
   command. Use the metadb.orig (from PHASE I) file as your 
   reference.

   For example to recreate these replicas:

        flags     first blk    block count
     a m  p  luo     16           1034      /dev/dsk/c0t9d0s7
     a    p  luo     1050         1034      /dev/dsk/c0t9d0s7
     a    p  luo     2084         1034      /dev/dsk/c0t9d0s7
     a    p  luo     16           1034      /dev/dsk/c0t10d0s7
     a    p  luo     1050         1034      /dev/dsk/c0t10d0s7
     a    p  luo     2084         1034      /dev/dsk/c0t10d0s7

   Use this command syntax:

   # metadb -f -a -c 3 c0t9d0s7 c0t10d0s7

   (where the # after the -c is the number of replicas to put in 
   each slice)

5) Execute init 6 to reboot which will elect one of the replicas 
   to be the master replica.

6) Editing the /etc/opt/SUNWmd/md.tab file.

   i) cp md.orig.tab md.tab (md.orig.tab from PHASE I)

   ii) make the following changes to the contents of the md.tab 
       to avoid data loss during process of reinitialize 
       metadevices under new version of SDS.

      Modification Rules:
      -------------------

      a. Convert any 2-way metamirrors to 1-way meta-mirrors.

         For example:  d40 -m d14 d24 1

         Change to:  d40 -m d14

         Remember to reattach secondary sub-mirror to main 
         meta-mirror after metadevice have been reinitialized 
         and system have been rebooted.

         For example:  #metattach d40 d24

      b. Verify that there is a -k option in raid5 metadevice 
         syntax.

         If it's not there, then add it.

      For example:  d6 -r c1t10d0s0 c1t11d0s0 c1t12d0s0 -k -i 32b

      c. For Trans metadevice, follow same rules as for 2-way 
         mirrors. Just convert any 2-way mirrors to 1-way mirror.  
         It doesn't matter if the 2-way mirror is the logging 
         device, the master device, or it could be both.

         For example:  d9 -t d19 d29
                       d19 1 2 c1t11d0s4 c1t12d0s4 -i 32b
                       d29 -m d39 d49 1
                       d39 1 1 c1t12d0s5
                       d49 1 1 c1t11d0s5

         Change to:    d9 -t d19 d29
                       d19 1 2 c1t11d0s4 c1t12d0s4 -i 32b
                       d29 -m d39
                       d39 1 1 c1t12d0s5
                       d49 1 1 c1t11d0s5

         Remember to:  # metattach d29 d49
         (after Trans metadevice has been re-initialized and 
         system have have been rebooted.)

      d. Recursively remove all metadevice entries that 
         corresponds to metadevices containing OS filesystems.  
         It is safer to re-mirror these filesystems after 
         reinitializing the non-OS metadevices.

7) Re-create the metadevices using metainit -a

   # /usr/opt/SUNWmd/sbin/metainit -a

   If for any reasons that the reinitialization of any 
   metadevices should failed or data is corrupt within 
   reinitialized metadevice, then fall back to the "newfs 
   and restore from backup" strategy.

8) Edit the /etc/vfstab file to now mount non-OS metadevices 
   upon boot up.

9) Execute init 6 to reboot system.

10) Use metattach to attach submirrors to all mirrors that 
    previously had two(or more)-way meta-mirrors.

    example:   # metattach d0 d20
    example:   # metattach d4 d23

11) Compare the /kernel/drv/md.conf file to the original file
    /kernel/drv/md.conf any changes made to this file will 
    have to be repeated, default metadevices is 128


PHASE VI: Remirroring OS Filesystems
====================================

1. Once system is stable, go ahead and proceed with procedures 
   to mirror /, /usr, /var, /opt, and swap.

2. See SDS documentation for exact step-by-step procedures.

   Once remirroring of OS filesystems is done, the upgrade 
   process is complete.




 

Website Design & Maintenance by Erika Stokes