Sun Cluster 软件安装指南(适用于 Solaris OS)

如何镜像根 (/) 文件系统

使用此过程可以镜像根 (/) 文件系统。

  1. 成为节点的超级用户。

  2. 使用 metainit(1M) 命令将根盘片置于一个单盘片(单向)并置中。

    指定该根盘片的物理磁盘名称 (cNtXdYsZ)。


    # metainit -f submirror1 1 1 root-disk-slice
    

  3. 创建第二个并置。


    # metainit submirror2 1 1 submirror-disk-slice
    

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


    # metainit mirror -m submirror1
    


    注意 –

    镜像的元设备名称或卷名在整个群集中必须是唯一的。


  5. 运行 metaroot(1M) 命令。

    此命令编辑 /etc/vfstab/etc/system 文件,以便可以通过元设备或卷上的根 (/) 文件系统来引导系统。


    # metaroot mirror
    

  6. 运行 lockfs(1M) 命令。

    该命令清理日志中的所有事务,并将这些事务写入所有已安装的 UFS 文件系统上的主文件系统中。


    # lockfs -fa
    

  7. 从节点中清空任何资源组或设备组。


    # scswitch -S -h from-node
    
    -S

    清空所有资源组和设备组

    -h from-node

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

  8. 重新引导该节点。

    此命令重新装载新镜像的根 (/) 文件系统。


    # shutdown -g0 -y -i6
    

  9. 使用 metattach(1M) 命令将第二个子镜像连接到镜像。


    # metattach mirror submirror2
    

  10. 如果用于镜像根磁盘的磁盘已物理连接至多个节点(多主机),则请启用 localonly 特性。

    请执行以下步骤,为用于镜像根磁盘的磁盘启用原始磁盘设备组的 localonly 特性。如果引导设备与多个节点连接,则必须启用 localonly 特性以防止意外地将节点与其引导设备隔开。

    1. 如果需要,可以使用 scdidadm(1M) -L 命令来显示原始磁盘设备组的完整设备 ID 路径名称。

      在以下示例中,原始磁盘设备组名称 dsk/d2 是输出的第三列(即完整的设备 ID 路径名称)的一部分。


      # scdidadm -L
      …
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      

    2. 查看原始磁盘设备组的节点列表。

      输出类似于以下内容:


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

    3. 如果节点列表包含多个节点名称,请从节点列表中删除对其根磁盘进行了镜像的节点以外的所有节点。

      原始磁盘设备组节点列表中应只保留对其根磁盘进行了镜像的节点。


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

      指定原始磁盘设备组在群集范围内唯一的名称

      nodelist=node

      指定要从节点列表中删除的节点的名称

    4. 使用 scconf(1M) 命令启用 localonly 属性。

      启用 localonly 特性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该特性可以防止意外地将节点与其引导设备隔开。


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

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

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

  11. 记录备选引导路径,以后可能会用到。

    如果主引导设备出现故障,可以通过这个备选引导设备引导。有关备选引导设备的详细信息,请参阅Solstice DiskSuite 4.2.1 User's Guide》中的 “Troubleshooting the System”Solaris Volume Manager Administration Guide》中的 “Mirroring root (/) Special Considerations”


    # ls -l /dev/rdsk/root-disk-slice
    

  12. 在群集的其余各节点上重复执行步骤 1步骤 11

    确保镜像的每个元设备名称或卷名在整个群集中是唯一的。

  13. (可选的) 要镜像全局名称空间 /global/.devices/node@nodeid,请转至如何镜像全局名称空间

  14. (可选的) 要镜像无法卸载的文件系统,请转至如何镜像无法卸载的根文件系统 (/) 以外的文件系统

  15. (可选的) 要镜像用户定义的文件系统,请转至如何镜像无法卸载的文件系统

  16. 请转至在群集中创建磁盘组。以创建磁盘组。

示例—镜像根 (/) 文件系统

以下示例显示了在节点 phys-schost-1 上创建镜像 d0 的过程,该镜像由分区 c0t0d0s0 上的子镜像 d10 和分区 c2t2d0s0 上的子镜像 d20 组成。设备 c2t2d0 是一个多主机磁盘,所以启用了 localonly 特性。


(创建镜像)
# metainit -f d10 1 1 c0t0d0s0
d11: Concat/Stripe is setup
# metainit d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
# metainit d0 -m d10
d10: Mirror is setup
# metaroot d0
# lockfs -fa
 
(移动 phys-schost-1 中的资源组和设备组)
# scswitch -S -h phys-schost-1
 
(重新引导节点)
# shutdown -g0 -y -i6
 
(附加第二个子镜像)
# metattach d0 d20
d0: Submirror d20 is attached
 
(显示设备组节点列表)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(从节点列表中删除 phys-schost-3)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(启用 localonly 特性)
# scconf -c -D name=dsk/d2,localonly=true
 
(记录备用引导路径)
# ls -l /dev/rdsk/c2t2d0s0
lrwxrwxrwx  1 root     root          57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 
–> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw