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

Procedure如何镜像无法卸载的文件系统

使用该过程可以镜像无法卸载的用户定义文件系统。在此过程中,不需要重新引导节点。

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

  2. 卸载要镜像的文件系统。

    确保文件系统中没有正在运行的进程。


    # umount /mount-point
    

    有关更多信息,请参见 umount(1M) 手册页和《System Administration Guide: Devices and File Systems》中的第 18  章 “Mounting and Unmounting File Systems (Tasks)”

  3. 使包含可以卸载的用户定义的文件系统的盘片处于单片(单向)并置状态。

    指定该磁盘片的物理磁盘名称 (cNtX dY sZ)。


    # metainit -f submirror1 1 1 diskslice
    
  4. 创建第二个并置。


    # metainit submirror2 1 1 submirror-diskslice
    
  5. 创建具有一个子镜像的单向镜像。


    # metainit mirror -m submirror1
    

    注 –

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


  6. 对要镜像的每个可安装的文件系统重复步骤 1步骤 5

  7. 在每个节点上,为已镜像的每个文件系统编辑 /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
  8. 将第二个子镜像与镜像连接。

    这一连接操作会启动子镜像的同步。


    # metattach mirror submirror2
    
  9. 等待在步骤 8 中启动的镜像同步完成。

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


    # metastat mirror
    
  10. 如果用于镜像用户定义的文件系统的磁盘已物理连接至多个节点(多主机),请启用 localonly 属性。

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

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

      在下面的示例中,原始磁盘设备组名称 dsk/d4 是输出的第三列(即完整的磁盘 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. 启用 localonly 属性。

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


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

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

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

  11. 安装已镜像的文件系统。


    # mount /mount-point
    

    有关更多信息,请参见 mount(1M) 手册页和《System Administration Guide: Devices and File Systems》中的第 18  章 “Mounting and Unmounting File Systems (Tasks)”


示例 3–5 镜像可以卸装的文件系统

下面的示例显示了创建镜像 d4 以镜像驻留在 c0t0d0s4 上的 /export 的过程。镜像 d4 由分区 c0t0d0s4 上的子镜像 d14 和分区 c2t2d0s4 上的子镜像 d24 组成。/export/etc/vfstab 文件条目被更新为使用镜像名称 d4。设备 c2t2d0 是一个多主机磁盘,所以启用了 localonly 属性。


(卸载文件系统)
# umount /export
 
(创建镜像)
# 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
 
(编辑 /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/d4 /dev/md/rdsk/d4 /export ufs 2 no    global
 
(连接第二个子镜像)
# metattach d4 d24
d4: Submirror d24 is attached
 
(查看同步状态)
# metastat d4
d4: Mirror
       Submirror 0: d14
          State: Okay
       Submirror 1: d24
          State: Resyncing
       Resync in progress: 15 % done
…
 
(标识已镜像磁盘的原始磁盘设备组的设备 ID 名称)
# scdidadm -L
…
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(显示设备组节点列表)
# 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 
 
(安装文件系统)
# mount /export

接下来的操作

如果需要创建磁盘组,请转到以下任务之一:

如果您有足够的磁盘组来满足需要,则转到以下任务之一:

故障排除

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