Sun Cluster 3.1 Software Installation Guide

How to Mirror File Systems That Can Be Unmounted

Use this procedure to mirror user-defined file systems that can be unmounted. In this procedure, nodes do not need to be rebooted.

  1. Become superuser on a node of the cluster.

  2. Put in a single slice (one-way) concatenation the slice on which a user-defined file system that can be unmounted resides.

    Use the physical disk name of the disk slice (cNtXdYsZ).


    # metainit -f submirror1 1 1 diskslice
    

  3. Create a second concatenation.


    # metainit submirror2 1 1 submirror-diskslice
    

  4. Create a one-way mirror with one submirror.


    # metainit mirror -m submirror1
    


    Note –

    The metadevice or volume name for the mirror does not need to be unique throughout the cluster.


  5. Repeat Step 1 through Step 4 for each mountable file system to be mirrored.

  6. On each node, edit the /etc/vfstab file entry for each file system you mirrored.

    Replace the names in the device to mount and device to fsck columns with the mirror name.


    # vi /etc/vfstab
    #device		device	mount		FS		fsck	mount		mount
    #to mount	to fsck	point		type	pass	at boot	options
    #
    /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global

  7. Attach the second submirror to the mirror.

    This attachment starts a sync of the submirrors.


    # metattach mirror submirror2
    

  8. Wait for the sync of the mirrors, started in Step 7, to complete.

    Use the metastat(1M) command to view mirror status.


    # metastat mirror
    

  9. Is the disk that is used to mirror the user-defined file system physically connected to more than one node (multiported)?

    • If no, go to Step 10.

    • If yes, enable the localonly property of the raw disk device group for the disk used to mirror the user-defined file system. You must enable the localonly property to prevent unintentional fencing of a node from its boot device if the boot device is connected to multiple nodes.

    1. If necessary, use the scdidadm -L command to display the full device ID (DID) pseudo-driver name of the raw disk device group.

      In the following example, the raw disk device group name dsk/d4 is part of the third column of output, which is the full DID pseudo-driver name.


      # scdidadm -L
      ...
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      # scconf -c -D name=dsk/d2,localonly=true
      

      For more information about the localonly property, see the scconf_dg_rawdisk(1M) man page.

    2. View the node list of the raw disk device group.

      Output will look similar to the following, where N is the DID number.


      # scconf -pvv | grep dsk/dN
      Device group name:						dsk/d2
      ...
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      ...

    3. Does the node list contain more than one node name?

    4. Remove all nodes from the node list for the raw disk device group except the node whose root disk you mirrored.

      Only the node whose root disk you mirrored should remain in the node list.


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      Specifies the cluster-unique name of the raw disk device group

      nodelist=node

      Specifies the name of the node or nodes to remove from the node list

    5. Use the scconf(1M) command to enable the localonly property.

      When the localonly property is enabled, the raw disk device group is used exclusively by the node in its node list. This prevents unintentional fencing of the node from its boot device if the boot device is connected to multiple nodes.


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      Specifies the name of the raw disk device group

  10. Create a diskset.

    Go to How to Create a Diskset.

Example—Mirroring File Systems That Can Be Unmounted

The following example shows creation of mirror d4 to mirror /export, which resides on c0t0d0s4. Mirror d4 consists of submirror d14 on partition c0t0d0s4 and submirror d24 on partition c2t2d0s4. The /etc/vfstab file entry for /export is updated to use the mirror name d4. Disk c2t2d0 is a multiported disk, so the localonly property is enabled.


(Create the mirror)
# metainit -f d14 1 1 c0t0d0s4
d14: Concat/Stripe is setup
# metainit d24 1 1 c2t2d0s4
d24: Concat/Stripe is setup
# metainit d4 -m d14
d4: Mirror is setup
 
(Edit the /etc/vfstab file)
# vi /etc/vfstab
#device		device	mount		FS		fsck	mount		mount
#to mount	to fsck	point		type	pass	at boot	options
#
/dev/md/dsk/d4 /dev/md/rdsk/d4 /export ufs 2 no	global
 
(Attach the second submirror)
# metattach d4 d24
d4: Submirror d24 is attached
 
(View the sync status)
# metastat d4
d4: Mirror
      Submirror 0: d14
         State: Okay
      Submirror 1: d24
         State: Resyncing
      Resync in progress: 15 % done
...
 
(Identify the DID name of the mirrored disk's raw
disk device group)
# scdidadm -L
...
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(Display the node list of the mirror disk's raw
disk device group)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
...
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
...
 
(Remove phys-schost-3 from the node list for the
raw disk device group)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(Enable the localonly property of the mirrored disk's
raw disk device group)
# scconf -c -D name=dsk/d2,localonly=true