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

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

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


注 –

此过程提供了 Sun Cluster 命令的完整形式。此外,大多数命令还有简短格式。除了命令名称的形式以外,简写形式和完整形式的命令是相同的。有关各命令及其简写形式的列表,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的附录 A “Sun Cluster 面向对象的命令”


  1. 成为超级用户。

  2. 将根盘片置于单盘片(单向)并置中。

    指定根磁盘分片的物理磁盘名称 (cNtXdY sZ)。


    phys-schost# metainit -f submirror1 1 1 root-disk-slice
    
  3. 创建第二个并置。


    phys-schost# metainit submirror2 1 1 submirror-disk-slice
    
  4. 创建具有一个子镜像的单向镜像。


    phys-schost# metainit mirror -m submirror1
    

    注 –

    如果该设备是用于挂载全局设备文件系统 /global/.devices/node@nodeid 的本地设备,则镜像的卷名称必须在整个群集中是唯一的。


  5. 为根 (/) 目录设置系统文件。


    phys-schost# metaroot mirror
    

    此命令编辑 /etc/vfstab/etc/system 文件,以便可以通过元设备或卷上的根 (/) 文件系统来引导系统。有关更多信息,请参见 metaroot(1M) 手册页。

  6. 清理所有文件系统。


    phys-schost# lockfs -fa
    

    该命令清理日志中的所有事务,并将这些事务写入所有已安装的 UFS 文件系统上的主文件系统中。有关更多信息,请参见 lockfs(1M) 手册页。

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


    phys-schost# clnode evacuate from-node
    
    from-node

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

  8. 重新引导该节点。

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


    phys-schost# shutdown -g0 -y -i6
    
  9. 将第二个子镜像与镜像连接。


    phys-schost# metattach mirror submirror2
    

    有关更多信息,请参见 metattach(1M) 手册页。

  10. 如果用来镜像根磁盘的磁盘与多个节点建立了物理连接(多宿主),请修改设备组的属性以支持将其用作镜像。

    确保设备组符合以下要求:

    • 原始磁盘设备组的节点列表中只能配置有一个节点。

    • 原始磁盘设备组的 localonly 属性必须已启用。如果节点的引导设备与多个节点相连,则启用 localonly 属性可防止节点与其引导设备之间发生意外隔离。

    1. 如有必要,可使用 cldevice 命令来确定原始磁盘设备组的名称。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      提示 –

      如果从与磁盘物理相连的某个节点上发出此命令,则可以按照 cNtXdY 而非其完整设备路径名来指定磁盘的名称。


      在以下示例中,原始磁盘设备组的名称 dsk/d2 是 DID 设备名称的一部分。


      === DID 设备实例 ===                   
      
      DID 设备名称:                                   /dev/did/rdsk/d2
        完整设备路径:                               phys-schost-1:/dev/rdsk/c1t1d0
        完整设备路径:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

      有关更多信息,请参见 cldevice(1CL) 手册页。

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


      phys-schost# cldevicegroup show dsk/dN
      

      设备组 dsk/d2 的输出结果类似如下内容:


      设备组名称:                                            dsk/d2
      …
        节点列表:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                    false
    3. 如果节点列表包含多个节点名称,请从节点列表中删除对其根磁盘进行了镜像的节点以外的所有节点。

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


      phys-schost# cldevicegroup remove-node -n node devicegroup
      
      -n node

      指定要从设备组节点列表中删除的节点。

    4. 启用原始磁盘设备组的 localonly 属性(如果该属性尚未启用)。

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -p

      设置设备组属性的值。

      localonly=true

      启用设备组的 localonly 属性。

      有关 localonly 属性的更多信息,请参见 cldevicegroup(1CL) 手册页。

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

    如果主引导设备出现故障,可以通过这个备用引导设备引导。有关备用引导设备的更多信息,请参见《Solaris Volume Manager Administration Guide》中的“Special Considerations for Mirroring root (/)”《Solaris Volume Manager Administration Guide》中的“Creating a RAID-1 Volume”


    phys-schost# ls -l /dev/rdsk/root-disk-slice
    
  12. 在群集的其余每个节点上重复步骤 1步骤 11

    确保其上要挂载全局设备文件系统 /global/.devices/node@nodeid 的镜像的每个卷名称在整个群集中都是唯一的。


示例 4–2 镜像根 (/) 文件系统

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


phys-schost# metainit -f d10 1 1 c0t0d0s0
d11: Concat/Stripe is setup
phys-schost# metainit d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
phys-schost# metainit d0 -m d10
d10: Mirror is setup
phys-schost# metaroot d0
phys-schost# lockfs -fa
phys-schost# clnode evacuate phys-schost-1
phys-schost# shutdown -g0 -y -i6
phys-schost# metattach d0 d20
d0: Submirror d20 is attached
phys-schost# cldevicegroup show dsk/d2
设备组名称:                              dsk/d2
…
  节点列表:                                      phys-schost-1, phys-schost-3
…
  localonly:                                     false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly-true dsk/d2
phys-schost# 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

接下来的操作

要镜像全局设备名称空间 /global/.devices/node@nodeid,请转至如何镜像全局设备名称空间

要镜像无法卸载的文件系统,请转到如何镜像无法卸载的根文件系统 (/) 以外的文件系统

要镜像用户定义的文件系统,请转到如何镜像无法卸载的文件系统

否则,请转到在群集中创建磁盘组以创建磁盘组。

故障排除

此镜像过程中的某些步骤可能会导致出现类似于以下内容的错误消息:"metainit: dg-schost-1: d1s0: not a metadevice"。这样的错误消息是无碍的,可以忽略。