Patch Installation on Solaris10

Hi All,

I am new to Solaris. I have to install some latest patches on my SPARC Machine running Solaris 10. I have installed the required patches.
Please guide me through the rest of the process. Please include even minute details so that I don't face any problems while doing this activity.

I am using mirrored root filesystem through SVM. So please include the unmirroring steps also.

Your help will be really appreciated.

Thanks,
Kamal

The best way of updating your patching is apply a Sun supplied recommended patch cluster, there are instructions here:
Solaris Patch Cluster Install
on how to do that, it is best to have the system running in single user mode (run "reboot -- -s" if system is running or just "boot -s" if at the Open Boot prompt), you do not need to break the mirrors for patching unless you want a quick way of reverting back to the system state before the patching was applied.

So steps are:

  1. Download appropriate recommended patch cluster from here:
    SunSolve

  2. Copy patch cluster into /var/tmp and unzip it, e.g.:
    # unzip -q 10_Receommended.zip

  3. Reboot into single user mode:
    # reboot -- -s

  4. Log back on as root and ensure all local filesystems are mounted:
    # mountall

  5. Apply patch cluster:
    # cd /var/tmp/10_Recommended
    # ./install_cluster

Answer questions, and wait for patches to apply.

  1. Reboot:
    # reboot

Done.

You may then wish to use something like the patchdiag tool (may be downloaded from here: Product Downloads ) with an up to date patchdiag.xref to see if there are any patches that were not included in the Recommended Patch Cluster that your system needs.

If this is a critical system then it goes without saying that you should take backups before patching although patches can be backed out using the patchrm(1M) command but could be a long and laborious process.

Thanks alot for such a nice reply.

Please tell me how to unmirror the volumes in SVM as I have mirrored Root disks.

Find below the # metastat and #df -h outputs:

# df -h
Filesystem             size   used  avail capacity  Mounted on
/dev/md/dsk/d0         9.6G   3.2G   6.3G    34%    /
/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                    84G   1.5M    84G     1%    /etc/svc/volatile
objfs                    0K     0K     0K     0%    /system/object
/dev/md/dsk/d2         9.6G   4.4G   5.1G    47%    /usr
/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr/libc_psr_hwcap2.so.1
                       9.6G   3.2G   6.3G    34%    /platform/sun4v/lib/libc_psr.so.1
/platform/SUNW,SPARC-Enterprise-T5220/lib/sparcv9/libc_psr/libc_psr_hwcap2.so.1
                       9.6G   3.2G   6.3G    34%    /platform/sun4v/lib/sparcv9/libc_psr.so.1
fd                       0K     0K     0K     0%    /dev/fd
/dev/md/dsk/d3         9.6G   609M   8.9G     7%    /var
swap                    84G    96K    84G     1%    /tmp
swap                    84G   104K    84G     1%    /var/run
/dev/dsk/c4t5000D310000C8C0Ad0s0
                       591G   153G   432G    27%    /npbsunh2
/dev/dsk/c4t5000D310000C8C0Ad1s0
                        15G   3.8G    11G    26%    /jump
/dev/md/dsk/d4         9.6G   335M   9.2G     4%    /opt
/dev/md/dsk/d5          33G   1.9G    30G     6%    /export/home
10.231.25.100:/backup/npb/local/dev/sun
                       9.5T   7.7T   1.8T    81%    /ddomain
# metastat
d5: Mirror
    Submirror 0: d51
      State: Okay
    Submirror 1: d52
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 69644544 blocks (33 GB)
d51: Submirror of d5
    State: Okay
    Size: 69644544 blocks (33 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s6          0     No            Okay   Yes

d52: Submirror of d5
    State: Okay
    Size: 69644544 blocks (33 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s6          0     No            Okay   Yes

d3: Mirror
    Submirror 0: d31
      State: Okay
    Submirror 1: d32
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 20494464 blocks (9.8 GB)
d31: Submirror of d3
    State: Okay
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s4          0     No            Okay   Yes

d32: Submirror of d3
    State: Okay
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s4          0     No            Okay   Yes

d2: Mirror
    Submirror 0: d21
      State: Okay
    Submirror 1: d22
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 20494464 blocks (9.8 GB)
d21: Submirror of d2
    State: Okay
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s3          0     No            Okay   Yes

d22: Submirror of d2
    State: Okay
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s3          0     No            Okay   Yes

d1: Mirror
    Submirror 0: d11
      State: Okay
    Submirror 1: d12
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 126976128 blocks (60 GB)
d11: Submirror of d1
    State: Okay
    Size: 126976128 blocks (60 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s1          0     No            Okay   Yes

d12: Submirror of d1
    State: Okay
    Size: 126976128 blocks (60 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s1          0     No            Okay   Yes

d0: Mirror
    Submirror 0: d10
      State: Okay
    Submirror 1: d20
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 20494464 blocks (9.8 GB)
d10: Submirror of d0
    State: Okay
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s0          0     No            Okay   Yes

d20: Submirror of d0
    State: Okay
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s0          0     No            Okay   Yes

d4: Mirror
    Submirror 0: d41
      State: Okay
    Submirror 1: d42
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 20494464 blocks (9.8 GB)
d41: Submirror of d4
    State: Okay
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t0d0s5          0     No            Okay   Yes

d42: Submirror of d4
    State: Okay
    Size: 20494464 blocks (9.8 GB)
    Stripe 0:
        Device     Start Block  Dbase        State Reloc Hot Spare
        c1t1d0s5          0     No            Okay   Yes

Device Relocation Information:
Device   Reloc  Device ID
c1t1d0   Yes    id1,sd@n5000c500091c1a1b
c1t0d0   Yes    id1,sd@n5000c500091bd557
#

To keep the forums high quality for all users, please take the time to format your posts correctly.

First of all, use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags

```text
 and 
```

by hand.)

Second, avoid adding color or different fonts and font size to your posts. Selective use of color to highlight a single word or phrase can be useful at times, but using color, in general, makes the forums harder to read, especially bright colors like red.

Third, be careful when you cut-and-paste, edit any odd characters and make sure all links are working property.

Thank You.

The UNIX and Linux Forums

Ok DukeNuke I'll take care in future.

Hi All,

Please reply.

why do you want to unmirror the disk? you don't need to do that for patching... if you wan't to to it anyway have a look at the command "metadetach".

Don't we need to unmirror the root disk for Patching?

Are you sure about that?

just read my last post. this IS my answer... and yes, i've done that a thousend times! you CAN unmirror the disks to have a backup of the system but you don't need to!

Thanks for the reply.

yes we need to unmirror to have a backup of the system.

I do know how to unmirror the root filesystem, but I have some doubts that what all steps we should leave from the un-mirroring procedure, as we have to re-mirror the root disks again after patching.

Also will the unmirror steps be same for root and /opt,/usr etc. ?

Thanks,
Kamal.

As I have already said, no you do not need to break the mirrors in order to patch the system, just as you would not break the mirrors to add a new user account or add a new mount.

If you have an off line back from which you can restore the system quickly enough then breaking the mirrors just makes the whole process a lot longer.

If you wish to break the mirrors using metdetach(1m) then you run:

# metadetach mirror submirror

In your case:

# metadetach d0 d20

The /etc/vfstab inside d20 will need amending to make it mount the actual device that is in d20 (i.e. /dev/dsk/c1t1d0s0 ) and when booting off it you will need to boot off the dev-alias in the OBP that points to that disk, if you are wanting to use the broken off sub-mirror to recover back to the state the machine was in before mirroring make sure you can boot off it before patching the other side of the mirror.

Absolutely sure. No need to unmirror. However, I like to use live update to keep the down time at a minimum and to allow me to quickly and easily go back if the patches end up breaking something on my systems. If you haven't done it before, it may be a bit of a learning curve; but, once you've done it, it is so easy and nice. See BigAdmin Sun Docs: How To Use Solaris Live Upgrade to Install Patches and check out the documentation at Upgrading With Solaris Live Upgrade (Solaris 10 5/09 Installation Guide: Solaris Live Upgrade and Upgrade Planning) - Sun Microsystems.

I can apply a patch cluster in the middle of the day without affecting my users at all. Then just after the end of the day, I can activate the patched environment and reboot. Total downtime just a few minutes.

Hi kamaldeep1986,
if I got your question true,question is do you need to unmirror your disks in case system patching. Absolutely "no". Suns patches upgrading enough often, you would not unmirror your disks every time when u need patch your system ::))

thank you all, for your help.

We have performed the patching successfully.