Sun Cluster System Administration Guide for Solaris OS

How to Restore the root (/) File System (Solstice DiskSuite/Solaris Volume Manager)

Use this procedure to restore the root (/) file systems to a new disk, such as after replacing a bad root disk. The node being restored should not be booted. Be sure the cluster is running problem-free before performing the restore procedure.


Note –

Since you must partition the new disk using the same format as the failed disk, identify the partitioning scheme before you begin this procedure, and recreate file systems as appropriate.


  1. Become superuser on a cluster node with access to the metaset, other than the node you want to restore.

  2. Remove from all metasets the hostname of the node being restored.

    Run this command from a node in the metaset other than the node you are removing.


    # metaset -s setname -f -d -h nodelist
    

    -s setname

    Specifies the disk set name.

    -f

    Force.

    -d

    Deletes from the disk set.

    -h nodelist

    Specifies the name of the node to delete from the disk set.

  3. Replace the failed disk on the node on which the root (/) file system will be restored.

    Refer to disk replacement procedures in the documentation that came with your server.

  4. Boot the node that you want to restore.

    • If you are using the Solaris CD:

      • SPARC: At the OpenBoot PROM ok prompt, type the following command:


        ok boot cdrom -s
        

      • x86: Insert the CD into the system's CD drive and boot the system by shutting it down and then turning it off and on. On the Current Boot Parameters screen, type the following command:


                             <<< Current Boot Parameters >>>
        Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@
        7,1/sd@0,0:a
        Boot args:
        
        Type b [file-name] [boot-flags] <ENTER> to boot with options
        or   i <ENTER>                          to enter boot interpreter
        or   <ENTER>                            to boot with defaults
        
                         <<< timeout in 5 seconds >>>
        Select (b)oot or (i)nterpreter: b -s
        

    • If you are using a Solaris JumpStartTM server:

      • SPARC: At the OpenBoot PROM ok prompt, type the following command:


        ok boot net -s
        

      • x86: Boot the system by shutting it down and then turning it off and on. On the Current Boot Parameters screen, type the following command:


                             <<< Current Boot Parameters >>>
        Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@
        7,1/sd@0,0:a
        Boot args:
        
        Type b [file-name] [boot-flags] <ENTER> to boot with options
        or   i <ENTER>                          to enter boot interpreter
        or   <ENTER>                            to boot with defaults
        
                         <<< timeout in 5 seconds >>>
        Select (b)oot or (i)nterpreter: b -s
        

  5. Create all the partitions and swap on the root disk using the format(1M) command.

    Recreate the original partitioning scheme that was on the failed disk.

  6. Create the root (/) file system and other file systems as appropriate, using the newfs(1M) command.

    Recreate the original file systems that were on the failed disk.


    Note –

    Be sure to create the /global/.devices/node@nodeid file system.


  7. Mount the root (/) file system on a temporary mount point.


    # mount device temp-mountpoint
    

  8. Use the following commands to restore the root (/) file system.


    # cd temp-mountpoint
    # ufsrestore rvf dump-device
    # rm restoresymtable
    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device
    

    The file system is now restored.

  9. Install a new boot block on the new disk.


    # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device
    

  10. Reboot the node in single-user mode.


    # reboot -- "-s"
    

  11. Replace the disk ID using the scdidadm(1M) command.


    # scdidadm -R rootdisk
    

  12. Use the metadb(1M) command to recreate the state database replicas.


    # metadb -c copies -af raw-disk-device
    

    -c copies

    Specifies the number of replicas to create.

    -f raw-disk-device

    Raw disk device on which to create replicas.

    -a

    Adds replicas.

  13. Reboot the node in cluster mode.

    1. Start the reboot.


      # reboot
      

      During this boot you might see an error or warning message, ending with the following instruction:


      Type control-d to proceed with normal startup,
      (or give root password for system maintenance):

    2. Press Control-d to boot into multiuser mode.

  14. From a cluster node other than the restored node, use the metaset command to add the restored node to all metasets.


    phys-schost-2# metaset -s setname -a -h nodelist
    

    -a

    Creates and adds the host to the disk set.

    The node is rebooted into cluster mode. The cluster is ready to use.

Example—Restoring the root (/) File System (Solstice DiskSuite/Solaris Volume Manager)

The following example shows the root (/) file system restored to the node phys-schost-1 from the tape device /dev/rmt/0. The metaset command is run from another node in the cluster, phys-schost-2, to remove and later add back node phys-schost-1 to the disk set schost-1. All other commands are run from phys-schost-1. A new boot block is created on /dev/rdsk/c0t0d0s0, and three state database replicas are recreated on /dev/rdsk/c0t0d0s4.


[Become superuser on a cluster node other than the node to be restored.]
[Remove the node from the metaset:]
phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1
[Replace the failed disk and boot the node:]

Boot the node from the Solaris CD:


[Use format and newfs to recreate partitions and file systems.]
[Mount the root file system on a temporary mount point:]
# mount /dev/dsk/c0t0d0s0 /a
[Restore the root file system:]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[Install a new boot block:]
# /usr/sbin/installboot /usr/platform/`uname \
-i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0
[Reboot in single-user mode:]
# reboot -- "-s"
[Replace the disk ID:]
# scdidadm -R /dev/dsk/c0t0d0
[Recreate state database replicas:]
# metadb -c 3 -af /dev/rdsk/c0t0d0s4
# reboot
Press Control-d to boot into multiuser mode.
[Add the node back to the metaset:]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1