Sun Cluster 3.0 U1 安装指南

如何镜像不能卸装的文件系统

使用该过程镜像无法在正常系统使用期间卸装的文件系统,如 /usr/optswap

  1. 成为群集中一个节点上的超级用户。

  2. 使不可卸装文件系统所在的片处于单片(单向)并置状态。


    # metainit -f submirror1 1 1 diskslice
    

  3. 再创建一个并置状态。


    # metainit -f submirror2 1 1 submirror-diskslice
    

  4. 创建带有一个子镜像的单向镜像。


    # metainit mirror -m submirror1
    


    注意:

    镜像的元设备名称在群集中必是唯一的。


  5. 为要镜像的每个不可卸装的文件系统重复执行步骤 1步骤 4

  6. 在每个节点上,为镜像的每个可卸装的文件系统编辑 /etc/vfstab 文件条目。

    用镜像名称替代 device to mountdevice to fsck 两列中的名称。


    # 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. 从节点抽出所有资源组或设备组。


    # scswitch -S -h node
    
    -S

    抽出所有资源组和设备组

    -h node

    指定要从中抽出资源或设备组的节点的名称

  8. 重新引导节点。


    # shutdown -g0 -y -i6
    

  9. 将第二个子镜像与每个镜像连接。

    连接时将对子镜像进行同步。


    # metattach mirror submirror2
    

  10. 等待在 步骤 9 中启动的镜像同步的完成。

    使用 metastat(1M) 命令查看镜像状态。


    # metastat mirror
    

  11. 如果用于镜像不可卸装的文件系统的磁盘物理连接到多个节点(多端口连接),请启用用于镜像不可卸装的文件系统的磁盘的原始磁盘设备组的 localonly 特性。

    如果引导设备与多个节点连接,则必须启用 localonly 特性以防止意外地将节点与其引导设备隔开。

    1. 如果必要,请使用 scdidadm -L 命令来显示原始磁盘设备组的完整设备 ID (DID) 伪驱动程序名称。

      在下面的示例中,原始磁盘设备组名称 dsk/d2 是输出的第三列(即完整的 DID 伪驱动程序名称)的一部分。


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

      有关 localonly 特性的详细信息,请参阅 scconf_dg_rawdisk(1M) 手册页。

    2. 使用 scconf(1M) 命令可启用 localonly 特性。


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

      指定原始磁盘设备组的名称

  12. 是否打算镜像用户定义的文件系统?

示例 - 镜像不可卸装的文件系统

下面的示例显示了在节点 phys-schost-1 上创建镜像 d1,以便镜像 c0t0d0s1 上的 /usr 的方法。镜像 d1 由分区 c0t0d0s1 中的子镜像 d11 和分区 c2t2d0s1 中的子镜像 d21 组成。用于 /usr/etc/vfstab 文件条目被更新为使用镜像名称 d1。磁盘 c2t2d0 是一个多端口磁盘,所以已启用 localonly 特性。


(创建镜像)
# metainit -f d11 1 1 c0t0d0s1
d11:Concat/Stripe is setup 
# metainit -f d21 1 1 c2t2d0s1
d21: Concat/Stripe is setup 
# metainit d1 -m d11
d1:Mirror is setup
 
(编辑 /etc/vfstab 文件)
# vi /etc/vfstab
#device        device          mount           FS      fsck    mount   mount 
#to mount      to fsck         point           type    pass    at boot options 
# 
/dev/md/dsk/d1 /dev/md/rdsk/d1 /usr            ufs     2       no      global
 
(重新引导节点)
# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i6
 
(连接第二个子镜像)
# metattach d1 d21
d1:Submirror d21 is attached
 
(查看同步状态)
# metastat d1
d1:Mirror
      Submirror 0: d11
         State: Okay
      Submirror 1: d21
         State: Resyncing
      Resync in progress: 15 % done 
...
 
(标识镜像磁盘的原始磁盘设备组的 DID 名称)
# scdidadm -L
...
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(启用镜像磁盘的原始磁盘设备组的 localonly 特性)
# scconf -c -D name=dsk/d2,localonly=true