本节提供了安装和配置 Solstice DiskSuite 或 Solaris Volume Manager 软件的信息和过程。符合以下条件时可以跳过某些过程:
如果使用 SunPlex Installer 安装了 Solstice DiskSuite 软件 (Solaris 8),则已完成如何安装 Solstice DiskSuite 软件到如何创建状态数据库复本的过程。请转到镜像根磁盘或在群集中创建磁盘组以继续配置 Solstice DiskSuite 软件。
如果您已安装 Solaris 9 或 Solaris 10 软件,则已安装 Solaris Volume Manager。您可以从如何设置元设备或卷名称以及磁盘组的数目开始进行配置。
下表列出了为 Sun Cluster 配置而安装和配置 Solstice DiskSuite 或 Solaris Volume Manager 软件所需执行的任务。
表 3–1 任务对应关系:安装和配置 Solstice DiskSuite 或 Solaris Volume Manager 软件
任务 |
参考 |
---|---|
1. 规划 Solstice DiskSuite 或 Solaris Volume Manager 配置的布局。 | |
2.(仅适用于 Solaris 8)安装 Solstice DiskSuite 软件。 | |
3.(仅适用于 Solaris 8 和 Solaris 9)计算您的配置所需的元设备名称和磁盘组的数目,并修改 /kernel/drv/md.conf 文件。 | |
4. 在本地磁盘中创建状态数据库的复本。 | |
5.(可选)镜像根磁盘上的文件系统。 |
以下情况下请勿执行此过程:
已安装 Solaris 9 软件。Solaris Volume Manager 软件随 Solaris 9 软件自动安装。请转到如何设置元设备或卷名称以及磁盘组的数目。
已安装 Solaris 10 软件。请转到如何创建状态数据库复本。
已使用 SunPlex Installer 安装 Solstice DiskSuite 软件。请执行以下过程之一:
如果打算创建其他磁盘组,请转到如何设置元设备或卷名称以及磁盘组的数目。
如果不打算创建其他磁盘组,请转到镜像根磁盘。
对群集中的每个节点执行该任务。
执行以下任务:
创建存储驱动器的映射。
完成以下配置规划工作单。有关规划指导,请参见规划卷管理。
成为群集节点的超级用户。
如果从 CD-ROM 安装,请将 Solaris 8 Software 2 of 2 CD-ROM 插入节点上的 CD-ROM 驱动器中。
此步骤假定卷管理守护进程 vold(1M) 正在运行并且被配置为管理 CD-ROM 设备。
安装 Solstice DiskSuite 软件包。
按以下示例中显示的顺序安装软件包。
# cd /cdrom/sol_8_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packages # pkgadd -d . SUNWmdr SUNWmdu [SUNWmdx] optional-pkgs |
所有 Solstice DiskSuite 安装都必需 SUNWmdr 和 SUNWmdu 软件包。
64 位 Solstice DiskSuite 安装还必需 SUNWmdx 软件包。
有关可选软件包的信息,请参阅 Solstice DiskSuite 安装文档。
如果要安装 Solstice DiskSuite 软件修补程序,在安装 Solstice DiskSuite 软件之后不要重新引导。
如果从 CD-ROM 安装,请弹出 CD-ROM。
安装所有 Solstice DiskSuite 修补程序。
有关修补程序的位置和安装说明,请参见《Sun Cluster 3.1 8/05 发行说明(适用于 Solaris OS)》中的“修补程序和所需的固件级别”。
从群集中的一个节点上,手动为 Solstice DiskSuite 输入全局设备名称空间。
# scgdevs |
如果使用 SunPlex Installer 安装了 Solstice DiskSuite 软件,请转到镜像根磁盘。
如果是在 Solaris 10 OS 上运行群集,请转到如何创建状态数据库复本。
否则,请转到如何设置元设备或卷名称以及磁盘组的数目。
scgdevs 命令可能返回与消息 Could not open /dev/rdsk/c0t6d0s2 to verify device id, Device busy 类似的消息。如果列出的设备是 CD-ROM 设备,则可以安全地忽略该消息。
在以下情况中,请勿执行此过程:
在 Solaris 10 OS 上运行群集。请转到如何创建状态数据库复本。
在 Solaris 10 版本中,Solaris Volume Manager 的功能已得到增强,它可以动态配置卷。不再需要编辑 /kernel/drv/md.conf 文件中的 nmd 和 md_nsets 参数。根据需要动态创建新卷。
已使用 SunPlex Installer 安装 Solstice DiskSuite 软件。请转到镜像根磁盘。
该过程介绍了如何确定您的配置所需的 Solstice DiskSuite 元设备或 Solaris Volume Manager 卷名称的数目以及磁盘组的数目。该过程还介绍如何通过修改 /kernel/drv/md.conf 文件指定这些数目。
每个磁盘组的元设备名称或卷名称的缺省数目是 128,但许多配置需要的数目都大于该缺省数目。着手配置前请增大这个数目,以便节省今后管理的时间。
同时,保持 nmd 字段和 md_nsets 字段的值尽可能低。所有可能设备的内存结构由 nmd 和 md_nsets 确定,即使尚未创建这些设备。为了获得最佳性能,应保持 nmd 和 md_nsets 的值仅比要使用的元设备或卷的数目略高一点。
使已完成的磁盘设备组配置工作单可用。
计算群集中所需的磁盘组的总数,然后再添加一个磁盘组用于专用磁盘管理。
群集最多可以包含 32 个磁盘组,31 个磁盘组用于一般用途,外加一个磁盘组用于专用磁盘管理。磁盘组的默认数为 4。您可以将此值应用于步骤 3 的 md_nsets 字段。
计算群集中任意磁盘组所需的最大元设备名称或卷名称数目。
每个磁盘组最多可有 8192 个元设备名称或卷名称。您可以将此值应用于步骤 3 中的 nmd 字段。
确定期望每个磁盘组所需的元设备名称或卷名称的数量。
如果您使用本地元设备或卷,请确保其上安装了全局设备文件系统 (/global/.devices/node@ nodeid) 的每个本地元设备或卷名称在整个群集中都是唯一的,并且没有使用与群集中任何设备 ID 名称相同的名称。
选择专用于设备 ID 名称的数值范围,以及供每个节点专用于其本地元设备名称或卷名的数值范围。例如,设备 ID 名称可以使用的数值范围为 d1 到 d100。节点 1 上的本地元设备或卷名称可以使用的数值范围为 d100 到 d199。节点 2 上的本地元设备或卷名称可以使用的数值范围为 d200 到 d299。
计算在任意磁盘组中所需的元设备名称或卷名称的最大值。
要设置的元设备名称或卷名称的数量取决于元设备名称或卷名称的值,而不是实际数量。例如,如果元设备名称或卷名的范围在 d950 到 d1000,Solstice DiskSuite 或 Solaris Volume Manager 软件要求将该值设置为 1000 个名称,而不是 50 个。
在每个节点上,成为超级用户并编辑 /kernel/drv/md.conf 文件。
所有群集节点(或群集对拓扑中的群集对)必须具有完全相同的 /kernel/drv/md.conf 文件,而不管每个节点为多少个磁盘组提供服务。不按本指南操作可能会导致严重的 Solstice DiskSuite 或 Solaris Volume Manager 错误,并且可能丢失数据。
在每个节点上,执行重新配置后的重新引导。
# touch /reconfigure # shutdown -g0 -y -i6 |
在执行了重新配置后的重新引导之后,对 /kernel/drv/md.conf 文件所作的更改方可生效。
创建本地状态数据库复本。请转到如何创建状态数据库复本。
如果使用 SunPlex Installer 安装了 Solstice DiskSuite 软件,则请勿执行此过程。请转到镜像根磁盘。
对群集中的每个节点执行该过程。
成为群集节点的超级用户。
在一个或多个本地设备上为每个群集节点创建状态数据库拷贝。
使用物理名称 (cNtXdY sZ)(而不是设备 ID 名称 [dN])指定要使用的盘片。
# metadb -af slice-1 slice-2 slice-3 |
要为状态数据提供保护(这是运行 Solstice DiskSuite 或 Solaris Volume Manager 软件所必需的),则至少为每个节点创建三个复本。此外,您可以将拷贝放在多个设备上,以在其中一个设备出现故障时提供保护。
有关详细信息,请参见 metadb(1M) 手册页和您的 Solstice DiskSuite 或 Solaris Volume Manager 文档。
检验复本。
# metadb |
metadb 命令显示复本列表。
以下示例显示了三个 Solstice DiskSuite 状态数据库复本。每个拷贝分别创建在不同的设备上。对于 Solaris Volume Manager,复本的大小会更大。
# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7 # metadb flags first blk block count a u 16 1034 /dev/dsk/c0t0d0s7 a u 16 1034 /dev/dsk/c0t1d0s7 a u 16 1034 /dev/dsk/c1t0d0s7 |
要在引导磁盘上镜像文件系统,请转到镜像根磁盘。
否则,请转到在群集中创建磁盘组以创建 Solstice DiskSuite 或 Solaris Volume Manager 磁盘组。
镜像根磁盘可防止因系统磁盘故障而关闭群集节点。四种类型的文件系统可驻留在根磁盘中。每种文件系统的镜像方法各不相同。
使用下列过程镜像各种类型的文件系统。
对于本地磁盘镜像,指定磁盘名称时不要将 /dev/global 用作路径。如果为非群集文件系统的系统指定了该路径,系统将无法引导。
使用此过程可以镜像根 (/) 文件系统。
成为节点的超级用户。
将根盘片置于单盘片(单向)并置中。
指定该根磁盘片的物理磁盘名称 (cNtXdY sZ)。
# metainit -f submirror1 1 1 root-disk-slice |
创建第二个并置。
# metainit submirror2 1 1 submirror-disk-slice |
创建具有一个子镜像的单向镜像。
# metainit mirror -m submirror1 |
如果该设备是用于安装全局设备文件系统 (/global/.devices/node@nodeid) 的本地设备,则镜像的元设备名称或卷名称必须在整个群集中是唯一的。
运行 metaroot(1M) 命令。
此命令编辑 /etc/vfstab 和 /etc/system 文件,以便可以通过元设备或卷上的根 (/) 文件系统来引导系统。
# metaroot mirror |
运行 lockfs(1M) 命令。
该命令清理日志中的所有事务,并将这些事务写入所有已安装的 UFS 文件系统上的主文件系统中。
# lockfs -fa |
从节点中清空任何资源组或设备组。
# scswitch -S -h from-node |
清空所有资源组和设备组
指定要从中清空资源组或设备组的节点的名称
重新引导该节点。
此命令重新装载新镜像的根 (/) 文件系统。
# shutdown -g0 -y -i6 |
使用 metattach(1M) 命令将第二个子镜像连接到镜像。
# metattach mirror submirror2 |
如果用于镜像根磁盘的磁盘已物理连接至多个节点(多主机),则请启用 localonly 属性。
请执行以下步骤,为用于镜像根磁盘的磁盘启用原始磁盘设备组的 localonly 属性。如果引导设备与多个节点连接,则必须启用 localonly 属性以防止意外地将节点与其引导设备隔开。
如有必要,可以使用 scdidadm(1M) -L 命令来显示原始磁盘设备组的完整设备 ID 路径名称。
在以下示例中,原始磁盘设备组名称 dsk/d2 是输出的第三列(即完整的设备 ID 路径名称)的一部分。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /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 … |
如果节点列表包含多个节点名称,请从节点列表中删除除对其根磁盘进行了镜像的节点以外的所有节点。
原始磁盘设备组节点列表中应只保留对其根磁盘进行了镜像的节点。
# scconf -r -D name=dsk/dN,nodelist=node |
指定原始磁盘设备组在群集范围内唯一的名称
指定要从节点列表中删除的节点的名称
使用 scconf(1M) 命令启用 localonly 属性。
启用 localonly 属性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该属性可以防止意外地将节点与其引导设备隔开。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁盘设备组的名称
有关 localonly 属性的更多信息,请参见 scconf_dg_rawdisk(1M) 手册页。
如果主引导设备出现故障,可以通过这个备选引导设备引导。有关备用引导设备的更多信息,请参见《Solstice DiskSuite 4.2.1 User’s Guide》中的第 7 章 “Troubleshooting the System”、《Solaris Volume Manager Administration Guide》中的“Special Considerations for Mirroring root (/)”或《Solaris Volume Manager Administration Guide》中的“Creating a RAID-1 Volume”中的“Creating a RAID-1 Volume”。
# ls -l /dev/rdsk/root-disk-slice |
确保其上要安装全局设备文件系统 (/global/.devices/node@nodeid) 的镜像的每个元设备名称或卷名称在整个群集中是唯一的。
以下示例显示了在节点 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 |
要镜像全局名称空间 (/global/.devices/node@nodeid),请转到如何镜像全局名称空间。
要镜像无法卸载的文件系统,请转到如何镜像无法卸载的根文件系统 (/) 以外的文件系统。
要镜像用户定义的文件系统,请转到如何镜像无法卸载的文件系统。
否则,请转到在群集中创建磁盘组以创建磁盘组。
此镜像过程中的某些步骤可能会导致类似 metainit: dg-schost-1: d1s0: not a metadevice 的错误消息。这样的错误消息是无碍的,可以忽略。
使用此过程可以镜像全局名称空间 /global/.devices/node@nodeid/。
成为群集中一个节点上的超级用户。
将全局名称空间盘片置于单盘片(单向)并置中。
使用该磁盘片的物理磁盘名称 (cNtXdY sZ)。
# metainit -f submirror1 1 1 diskslice |
创建第二个并置。
# metainit submirror2 1 1 submirror-diskslice |
创建具有一个子镜像的单向镜像。
# metainit mirror -m submirror1 |
其上要安装全局设备文件系统 (/global/.devices/node@nodeid) 的镜像的元设备名称或卷名称在整个群集中必须是唯一的。
将第二个子镜像与镜像连接。
这一连接操作会启动子镜像的同步。
# metattach mirror submirror2 |
编辑 /global/.devices/node@nodeid 文件系统的 /etc/vfstab 文件条目。
将 device to mount 和 device 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 /global/.devices/node@nodeid ufs 2 no global |
等待在步骤 5 中启动的镜像同步完成。
使用 metastat(1M) 命令查看镜像状态并检验镜像同步是否完成。
# metastat mirror |
如果用于镜像全局名称空间的磁盘已物理连接至多个节点(多主机),请启用 localonly 属性。
请执行以下步骤为用于镜像全局名称空间的磁盘启用原始磁盘设备组的 localonly 属性。如果引导设备与多个节点连接,则必须启用 localonly 属性以防止意外地将节点与其引导设备隔开。
如有必要,可以使用 scdidadm(1M) 命令来显示原始磁盘设备组的完整设备 ID 路径名称。
在以下示例中,原始磁盘设备组名称 dsk/d2 是输出的第三列(即完整的设备 ID 路径名称)的一部分。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /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 … |
如果节点列表包含多个节点名称,请从节点列表中删除除对其磁盘进行了镜像的节点以外的所有节点。
原始磁盘设备组节点列表中应只保留对其磁盘进行了镜像的节点。
# scconf -r -D name=dsk/dN,nodelist=node |
指定原始磁盘设备组在群集范围内唯一的名称
指定要从节点列表中删除的节点的名称
启用 localonly 属性。
启用 localonly 属性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该属性可以防止意外地将节点与其引导设备隔开。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁盘设备组的名称
有关 localonly 属性的更多信息,请参见 scconf_dg_rawdisk(1M) 手册页。
下面的示例显示了创建镜像 d101 的过程,该镜像由分区 c0t0d0s3 上的子镜像 d111 和分区 c2t2d0s3 上的子镜像 d121 组成。/global/.devices/node@1 的 /etc/vfstab 文件项被更新为使用镜像名称 d101。设备 c2t2d0 是一个多主机磁盘,所以启用了 localonly 属性。
(创建镜像) # metainit -f d111 1 1 c0t0d0s3 d111: Concat/Stripe is setup # metainit d121 1 1 c2t2d0s3 d121: Concat/Stripe is setup # metainit d101 -m d111 d101: Mirror is setup # metattach d101 d121 d101: Submirror d121 is attached (编辑 /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/d101 /dev/md/rdsk/d101 /global/.devices/node@1 ufs 2 no global (查看同步状态) # metastat d101 d101: Mirror Submirror 0: d111 State: Okay Submirror 1: d121 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 |
要镜像根文件系统 (/) 以外的无法卸载的文件系统,请转到如何镜像无法卸载的根文件系统 (/) 以外的文件系统。
要镜像用户定义的文件系统,请转到如何镜像无法卸载的文件系统
否则,请转到在群集中创建磁盘组以创建磁盘组。
此镜像过程中的某些步骤可能会导致类似 metainit: dg-schost-1: d1s0: not a metadevice 的错误消息。这样的错误消息是无碍的,可以忽略。
使用该过程,可以在正常使用系统期间镜像无法卸载的根文件系统 (/) 以外的文件系统,例如 /usr、/opt 或 swap。
成为群集中一个节点上的超级用户。
将无法卸载的文件系统所驻留的盘片置于单盘片(单向)并置中。
指定该磁盘片的物理磁盘名称 (cNtX dYsZ)。
# metainit -f submirror1 1 1 diskslice |
创建第二个并置。
# metainit submirror2 1 1 submirror-diskslice |
创建具有一个子镜像的单向镜像。
# metainit mirror -m submirror1 |
此镜像的元设备名称或卷名在整个群集中不必是唯一的。
在每个节点上,为已镜像的每个无法卸装的文件系统编辑 /etc/vfstab 文件条目。
将 device to mount 和 device 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 |
从节点中清空任何资源组或设备组。
# scswitch -S -h from-node |
清空所有资源组和设备组
指定要从中清空资源组或设备组的节点的名称
重新引导该节点。
# shutdown -g0 -y -i6 |
将第二个子镜像连接到每个镜像。
这一连接操作会启动子镜像的同步。
# metattach mirror submirror2 |
等待在步骤 9 中启动的镜像同步完成。
使用 metastat(1M) 命令查看镜像状态并检验镜像同步是否完成。
# metastat mirror |
如果用于镜像无法卸载的文件系统的磁盘已物理连接至多个节点(是多主机的),则启用 localonly 属性。
请执行以下步骤为用于镜像可卸载文件系统的磁盘启用原始磁盘设备组的 localonly 属性。如果引导设备与多个节点连接,则必须启用 localonly 属性以防止意外地将节点与其引导设备隔开。
如有必要,则使用 scdidadm -L 命令显示原始磁盘设备组的完整设备 ID 路径名称。
在以下示例中,原始磁盘设备组名称 dsk/d2 是输出的第三列(完整设备 ID 路径名称)的一部分。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /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 … |
如果节点列表包含多个节点名称,请从节点列表中删除除对其根磁盘进行了镜像的节点以外的所有节点。
原始磁盘设备组节点列表中应只保留对其根磁盘进行了镜像的节点。
# scconf -r -D name=dsk/dN,nodelist=node |
指定原始磁盘设备组在群集范围内唯一的名称
指定要从节点列表中删除的节点的名称
启用 localonly 属性。
启用 localonly 属性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该属性可以防止意外地将节点与其引导设备隔开。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁盘设备组的名称
有关 localonly 属性的更多信息,请参见 scconf_dg_rawdisk(1M) 手册页。
下面的示例显示了在节点 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 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 (在 phys-schost-1 中移动资源组和设备组) # 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 … (标识已镜像磁盘的原始磁盘设备组的设备 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 |
要镜像用户定义的文件系统,请转到如何镜像无法卸载的文件系统。
否则,请转到在群集中创建磁盘组以创建磁盘组。
此镜像过程中的某些步骤可能会导致类似 metainit: dg-schost-1: d1s0: not a metadevice 的错误消息。这样的错误消息是无碍的,可以忽略。
使用该过程可以镜像无法卸载的用户定义文件系统。在此过程中,不需要重新引导节点。
成为群集中一个节点上的超级用户。
卸载要镜像的文件系统。
确保文件系统中没有正在运行的进程。
# umount /mount-point |
有关更多信息,请参见 umount(1M) 手册页和《System Administration Guide: Devices and File Systems》中的第 18 章 “Mounting and Unmounting File Systems (Tasks)”。
使包含可以卸载的用户定义的文件系统的盘片处于单片(单向)并置状态。
指定该磁盘片的物理磁盘名称 (cNtX dY sZ)。
# metainit -f submirror1 1 1 diskslice |
创建第二个并置。
# metainit submirror2 1 1 submirror-diskslice |
创建具有一个子镜像的单向镜像。
# metainit mirror -m submirror1 |
此镜像的元设备名称或卷名在整个群集中不必是唯一的。
在每个节点上,为已镜像的每个文件系统编辑 /etc/vfstab 文件条目。
将 device to mount 和 device 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 |
将第二个子镜像与镜像连接。
这一连接操作会启动子镜像的同步。
# metattach mirror submirror2 |
等待在步骤 8 中启动的镜像同步完成。
使用 metastat(1M) 命令查看镜像状态。
# metastat mirror |
如果用于镜像用户定义的文件系统的磁盘已物理连接至多个节点(多主机),请启用 localonly 属性。
请执行以下步骤为用于镜像用户定义的文件系统的磁盘启用原始磁盘设备组的 localonly 属性。如果引导设备与多个节点连接,则必须启用 localonly 属性以防止意外地将节点与其引导设备隔开。
如果需要,可以使用 scdidadm -L 命令来显示原始磁盘设备组的完整设备 ID 路径名称。
在下面的示例中,原始磁盘设备组名称 dsk/d4 是输出的第三列(即完整的磁盘 ID 路径名称)的一部分。
# scdidadm -L … 1 phys-schost-3:/dev/rdsk/c1t1d0 /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 … |
如果节点列表包含多个节点名称,请从节点列表中删除除对其根磁盘进行了镜像的节点以外的所有节点。
原始磁盘设备组节点列表中应只保留对其根磁盘进行了镜像的节点。
# scconf -r -D name=dsk/dN,nodelist=node |
指定原始磁盘设备组在群集范围内唯一的名称
指定要从节点列表中删除的节点的名称
启用 localonly 属性。
启用 localonly 属性之后,该原始磁盘设备组将由节点列表中的节点专用。如果引导设备与多个节点连接,则启用该属性可以防止意外地将节点与其引导设备隔开。
# scconf -c -D name=rawdisk-groupname,localonly=true |
指定原始磁盘设备组的名称
有关 localonly 属性的更多信息,请参见 scconf_dg_rawdisk(1M) 手册页。
安装已镜像的文件系统。
# 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 属性。
(卸载文件系统) # 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 |
如果需要创建磁盘组,请转到以下任务之一:
要创建由 Oracle Real Application Clusters 使用的 Solaris Volume Manager for Sun Cluster 磁盘组,请转到《Sun Cluster Data Service for Oracle Real Application Clusters Guide for Solaris OS》中的“Creating a Multi-Owner Disk Set in Solaris Volume Manager for Sun Cluster for the Oracle Real Application Clusters Database”。
要为任何其他应用程序创建磁盘组,请转到在群集中创建磁盘组。
如果使用 SunPlex Installer 安装了 Solstice DiskSuite,则可能已存在一个到三个磁盘组。有关由 SunPlex Installer 创建的元集的信息,请参见使用 SunPlex Installer 配置 Sun Cluster 软件。
如果您有足够的磁盘组来满足需要,则转到以下任务之一:
如果群集包含正好配置了两个磁盘附件和两个节点的磁盘组,则必须添加双串调解器。请转到配置双串调解器。
如果群集配置不需要双串调解器,请转到如何创建群集文件系统。
此镜像过程中的某些步骤可能会导致类似 metainit: dg-schost-1: d1s0: not a metadevice 的错误消息。这样的错误消息是无碍的,可以忽略。