使用该过程可以镜像无法卸载的用户定义文件系统。在此过程中,不需要重新引导节点。
此过程提供了 Sun Cluster 命令的完整形式。此外,大多数命令还有简短格式。除了命令名称的形式以外,简写形式和完整形式的命令是相同的。有关各命令及其简写形式的列表,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的附录 A “Sun Cluster 面向对象的命令”。
成为超级用户。
卸载要镜像的文件系统。
确保文件系统中没有正在运行的进程。
phys-schost# umount /mount-point |
有关更多信息,请参见 umount(1M) 手册页和《System Administration Guide: Devices and File Systems》中的第 18 章 “Mounting and Unmounting File Systems (Tasks)”。
使包含可以卸载的用户定义的文件系统的盘片处于单片(单向)并置状态。
指定该磁盘片的物理磁盘名称 (cNtX dYsZ)。
phys-schost# metainit -f submirror1 1 1 diskslice |
创建第二个并置。
phys-schost# metainit submirror2 1 1 submirror-diskslice |
创建具有一个子镜像的单向镜像。
phys-schost# metainit mirror -m submirror1 |
此镜像的卷名称,不必在整个群集中保持唯一。
在每个节点上,为已镜像的每个文件系统编辑 /etc/vfstab 文件条目。
将 device to mount 列和 device to fsck 列中的名称替换为镜像名称。
phys-schost# 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 |
将第二个子镜像与镜像连接。
这一连接操作会启动子镜像的同步。
phys-schost# metattach mirror submirror2 |
等待在步骤 8 中启动的镜像同步完成。
可使用 metastat(1M) 命令查看镜像状态。
phys-schost# metastat mirror |
如果用来镜像用户自定义文件系统的磁盘与多个节点建立了物理连接(多宿主),请确保设备组节点列表仅包含一个节点并且 localonly 属性已启用。
确保设备组符合以下要求:
原始磁盘设备组的节点列表中只能配置有一个节点。
原始磁盘设备组的 localonly 属性必须已启用。如果节点的引导设备与多个节点相连,则启用 localonly 属性可防止节点与其引导设备之间发生意外隔离。
如有必要,可使用 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) 手册页。
查看原始磁盘设备组的节点列表。
phys-schost# cldevicegroup show dsk/dN |
设备组 dsk/d2 的输出结果类似如下内容:
设备组名称: dsk/d2 … 节点列表: phys-schost-1, phys-schost-3 … localonly: false |
如果节点列表包含多个节点名称,请从节点列表中删除除对其根磁盘进行了镜像的节点以外的所有节点。
原始磁盘设备组节点列表中应只保留对其根磁盘进行了镜像的节点。
phys-schost# cldevicegroup remove-node -n node devicegroup |
指定要从设备组节点列表中删除的节点。
启用原始磁盘设备组的 localonly 属性(如果该属性尚未启用)。
启用 localonly 属性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该特性可以防止意外地将节点与其引导设备隔开。
phys-schost# cldevicegroup set -p localonly=true devicegroup |
设置设备组属性的值。
启用设备组的 localonly 属性。
有关 localonly 属性的更多信息,请参见 cldevicegroup(1CL) 手册页。
安装已镜像的文件系统。
phys-schost# mount /mount-point |
有关更多信息,请参见 mount(1M) 手册页和《System Administration Guide: Devices and File Systems》中的第 18 章 “Mounting and Unmounting File Systems (Tasks)”。
下面的示例显示了创建镜像 d4 以镜像驻留在 c0t0d0s4 上的 /export 的过程。镜像 d4 由分区 c0t0d0s4 上的子镜像 d14 和分区 c2t2d0s4 上的子镜像 d24 组成。/export 的 /etc/vfstab 文件条目被更新为使用镜像名称 d4。设备 c2t2d0 是一个多主机磁盘,所以启用了 localonly 属性。
phys-schost# umount /export phys-schost# metainit -f d14 1 1 c0t0d0s4 d14: Concat/Stripe is setup phys-schost# metainit d24 1 1 c2t2d0s4 d24: Concat/Stripe is setup phys-schost# metainit d4 -m d14 d4: Mirror is setup phys-schost# 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 phys-schost# metattach d4 d24 d4: Submirror d24 is attached phys-schost# metastat d4 d4: Mirror Submirror 0: d14 State: Okay Submirror 1: d24 State: Resyncing Resync in progress: 15 % done … phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0 … DID 设备名称: /dev/did/rdsk/d2 phys-schost# cldevicegroup show dsk/d2 设备组名称: dsk/d2 … 节点列表: phys-schost-1, phys-schost-2 … localonly: false phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2 phys-schost# cldevicegroup set -p localonly=true dsk/d2 phys-schost# mount /export |
如果需要创建磁盘组,请转到以下任务之一:
要创建供 Oracle RAC 使用的 Solaris Volume Manager for Sun Cluster 磁盘集,请转至《Sun Cluster Data Service for Oracle RAC Guide for Solaris OS》中的“How to Create a Multi-Owner Disk Set in Solaris Volume Manager for Sun Cluster for the Oracle RAC Database”。
要为任何其他应用程序创建磁盘组,请转到在群集中创建磁盘组。
如果您有足够的磁盘组来满足需要,则转到以下任务之一:
如果群集包含正好配置了两个磁盘附件和两个节点的磁盘组,则必须添加双串调解器。请转到配置双串调解器。
如果群集配置不需要双串调解器,请转到如何创建群集文件系统。
此镜像过程中的某些步骤可能会导致类似 metainit: dg-schost-1: d1s0: not a metadevice 的错误消息。这样的错误消息是无碍的,可以忽略。