您可以对 Sun Cluster 设备组进行配置,使之包含那些通过基于存储的复制被复制的设备。Sun Cluster 支持使用 Hitachi TrueCopy 软件进行基于存储的复制。
在使用 Hitachi TrueCopy 软件复制数据之前,您必须先熟悉 Hitachi TrueCopy 文档,并在系统中安装 Hitachi TrueCopy 产品和最新的 Hitachi TrueCopy 修补程序。有关安装 Hitachi TrueCopy 软件的信息,请参见 Hitachi TrueCopy 产品文档。
Hitachi TrueCopy 软件可将一对设备配置为副本,一个是主副本,另一个是辅助副本。在任意给定时刻,与一组节点相连的设备将是主副本。与另一组节点相连的设备将是辅助副本。
在 Sun Cluster 中,一旦主副本所属的 Sun Cluster 设备组被移动,该主副本也会自动移动。因此,决不要通过直接发出 horcmtakeover 命令在 Sun Cluster 中移动主副本。正确的做法是:通过移动相关联的 Sun Cluster 设备组来实现接管。
下表列出了为设置基于存储的复制设备而必须执行的任务。
表 5–2 任务表:管理基于存储的复制设备
任务 |
参考 |
---|---|
在存储设备和节点上安装 TrueCopy 软件。 |
Hitachi 存储设备附带的文档 |
配置 Hitachi 复制组。 | |
配置 DID 设备。 | |
注册复制组。 | |
检验配置。 |
首先,在主群集的共享磁盘上配置 Hitachi TrueCopy 设备组。此配置信息在每个可访问 Hitachi 阵列的群集节点上的 /etc/horcm.conf 文件中指定。有关如何配置 /etc/horcm.conf 文件的更多信息,请参见《Sun StorEdge SE 9900 V Series Command and Control Interface User and Reference Guide》。
在与存储阵列相连的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。
将 horcm 条目添加到 /etc/services 文件中。
horcm 9970/udp |
为新条目指定一个端口号和协议名称。
在 /etc/horcm.conf 文件中指定 Hitachi TrueCopy 设备组的配置信息。
有关说明,请参阅 TrueCopy 软件附带的文档。
在所有节点上运行 horcmstart.sh 命令以启动 TrueCopy CCI 守护进程。
# /usr/bin/horcmstart.sh |
如果尚未创建副本对,请立即创建。
使用 paircreate 命令创建具所需隔离级别 (fence level) 的副本对。有关创建副本对的说明,请参阅 TrueCopy 文档。
在每个配置了复制设备的节点上,使用 pairdisplay 命令检验数据复制的设置是否正确。
# pairdisplay -g group-name Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#,P/S,Status,Fence,Seq#,P-LDEV# M group-name pair1(L) (CL1-C , 0, 9) 54321 58..P-VOL PAIR DATA ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..S-VOL PAIR DATA ,----- 58 - |
检验所有节点是否均可对复制组进行控制。
使用 pairdisplay 命令确定包含主副本的节点和包含辅助副本的节点。
# pairdisplay -g group-name Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#,P/S,Status,Fence,Seq#,P-LDEV# M group-name pair1(L) (CL1-C , 0, 9) 54321 58..P-VOL PAIR DATA ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..S-VOL PAIR DATA ,----- 58 - |
状态是 P-VOL 的本地 (L) 设备的节点包含主副本;状态是 S-VOL 的本地 (L) 设备的节点包含辅助副本。
在包含辅助副本的节点上运行 horctakeover 命令,使辅助节点成为主节点。
# horctakeover -g group-name |
请先等初始数据完成复制操作之后,再继续执行下一步骤。
检验已执行 horctakeover 的节点现在是否具有状态是 P-VOL 的本地 (L) 设备。
# pairdisplay -g group-name Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#,P/S,Status,Fence,Seq#,P-LDEV# M group-name pair1(L) (CL1-C , 0, 9) 54321 58..S-VOL PAIR DATA ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..P-VOL PAIR DATA ,----- 58 - |
在最初包含主副本的节点上,运行 horctakeover 命令。
# horctakeover -g group-name |
运行 pairdisplay 命令,检验主节点是否已更改回初始配置。
# pairdisplay -g group-name Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#,P/S,Status,Fence,Seq#,P-LDEV# M group-name pair1(L) (CL1-C , 0, 9) 54321 58..P-VOL PAIR DATA ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..S-VOL PAIR DATA ,----- 58 - |
请按照如何给复制配置 DID 设备中的说明,继续对复制设备进行配置。
给复制设备配置了设备组之后,您必须配置该复制设备所使用的设备标识符 (Device Identifier, DID) 驱动程序。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
在群集的任意一个节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。
确认所有节点上是否在运行 horcm 守护进程。
# /usr/bin/horcmstart.sh |
运行 pairdisplay 命令以确定包含辅助副本的节点。
# pairdisplay -g group-name Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#,P/S,Status,Fence,Seq#,P-LDEV# M group-name pair1(L) (CL1-C , 0, 9) 54321 58..P-VOL PAIR DATA ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..S-VOL PAIR DATA ,----- 58 - |
状态是 S-VOL 的本地 (L) 设备的节点包含辅助副本。
在包含辅助副本(由上一步确定)的节点上,配置 DID 设备以用于基于存储的复制。
此命令会将设备副本对的两个独立 DID 实例组合成单个逻辑 DID 实例。该单个实例允许两个节点中的卷管理软件使用该设备。
如果有多个节点与辅助副本相连,请仅在这些节点中的一个节点上运行此命令。
# cldevice replicate -D primary-replica-nodename -S secondary replica-nodename |
指定包含主副本的远程节点的名称。
指定源节点(非当前节点)。
指定包含辅助副本的远程节点的名称。
默认情况下,当前节点就是源节点。请使用 -S 选项指定其他源节点。
检验是否已组合 DID 实例。
# cldevice list -v device |
检验是否已设置 TrueCopy 复制。
# cldevice show device | |
如果 DID 重映射未能成功组合所有复制设备,请手动组合各个复制设备。
手动组合 DID 实例时要非常小心。重映射设备不当可导致数据受损。
在包含辅助副本的节点上运行 cldevice combine 命令。该节点必须在本地。
# cldevice combine -d destination-instance source-instance |
与主副本相对应的远程 DID 实例。
与辅助副本相对应的本地 DID 实例。
检验 DID 重映射是否成功。
# cldevice list desination-instance source-instance |
屏幕上不应再列出其中一个 DID 实例。
在所有节点上,检验所有组合 DID 实例所对应的 DID 设备是否均可访问。
# cldevice list -v |
要完成对复制设备组的配置,请执行以下过程中的步骤。
如何添加和注册设备组 (Solaris Volume Manager)或SPARC: 如何将磁盘组注册为设备组 (VERITAS Volume Manager)
注册设备组时,请确保使它与 TrueCopy 复制组同名。
在检验全局设备组之前,必须先创建它们。有关创建 Solstice DiskSuite 或 Solaris Volume Manager 设备组的信息,请参见如何添加和注册设备组 (Solaris Volume Manager)。有关创建 VERITAS Volume Manager 设备组的信息,请参见SPARC: 如何在封装磁盘时创建新磁盘组 (VERITAS Volume Manager)。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
检验主设备组是否对应于包含主副本的同一节点。
# pairdisplay -g group-name # cldevicegroup status -n nodename group-name |
尝试执行切换,确保设备组已正确配置,而且,副本可在节点之间移动。
如果设备组处于脱机状态,请使其联机。
# cldevicegroup switch -n nodename group-name |
设备组被切换到的节点。该节点将成为新的主节点。
通过比较以下命令的输出内容检验切换操作是否成功。
# pairdisplay -g group-name # cldevicegroup status -n nodename group-name |
本示例用于完成在群集中设置 TrueCopy 复制所需执行的特定于 Sun Cluster 的步骤。本示例假定您已执行以下任务:
设置了 Hitachi LUN
在存储设备和群集节点上安装了 TrueCopy 软件
在群集节点上配置了复制对
有关配置复制对的说明,请参见如何配置 Hitachi TrueCopy 复制组。
本示例要用到一个使用 TrueCopy 的三节点群集。群集跨两个远程站点分布,一个站点有两个节点,另一站点有一个节点。每个站点都有自己的 Hitachi 存储设备。
以下示例显示了每个节点上的 TrueCopy /etc/horcm.conf 配置文件。
HORCM_DEV #dev_group dev_name port# TargetID LU# MU# VG01 pair1 CL1-A 0 29 VG01 pair2 CL1-A 0 30 VG01 pair3 CL1-A 0 31 HORCM_INST #dev_group ip_address service VG01 node-3 horcm |
HORCM_DEV #dev_group dev_name port# TargetID LU# MU# VG01 pair1 CL1-A 0 29 VG01 pair2 CL1-A 0 30 VG01 pair3 CL1-A 0 31 HORCM_INST #dev_group ip_address service VG01 node-3 horcm |
HORCM_DEV #dev_group dev_name port# TargetID LU# MU# VG01 pair1 CL1-C 0 09 VG01 pair2 CL1-C 0 10 VG01 pair3 CL1-C 0 11 HORCM_INST #dev_group ip_address service VG01 node-1 horcm VG01 node-2 horcm |
在上面的示例中,两个站点间复制了三个 LUN。这些 LUN 都在名为 VG01 的复制组中。pairdisplay 命令检验了此信息,并显示节点 3 包含的是主副本。
# pairdisplay -g VG01 Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#.P/S,Status,Fence, Seq#,P-LDEV# M VG01 pair1(L) (CL1-A , 0, 29)61114 29..S-VOL PAIR DATA ,----- 58 - VG01 pair1(R) (CL1-C , 0, 9)20064 58..P-VOL PAIR DATA ,61114 29 - VG01 pair2(L) (CL1-A , 0, 30)61114 30..S-VOL PAIR DATA ,----- 59 - VG01 pair2(R) (CL1-C , 0, 10)20064 59..P-VOL PAIR DATA ,61114 30 - VG01 pair3(L) (CL1-A , 0, 31)61114 31..S-VOL PAIR DATA ,----- 60 - VG01 pair3(R) (CL1-C , 0, 11)20064 60..P-VOL PAIR DATA ,61114 31 - |
# pairdisplay -g VG01 Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#.P/S,Status,Fence, Seq#,P-LDEV# M VG01 pair1(L) (CL1-A , 0, 29)61114 29..S-VOL PAIR DATA ,----- 58 - VG01 pair1(R) (CL1-C , 0, 9)20064 58..P-VOL PAIR DATA ,61114 29 - VG01 pair2(L) (CL1-A , 0, 30)61114 30..S-VOL PAIR DATA ,----- 59 - VG01 pair2(R) (CL1-C , 0, 10)20064 59..P-VOL PAIR DATA ,61114 30 - VG01 pair3(L) (CL1-A , 0, 31)61114 31..S-VOL PAIR DATA ,----- 60 - VG01 pair3(R) (CL1-C , 0, 11)20064 60..P-VOL PAIR DATA ,61114 31 - |
# pairdisplay -g VG01 Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#.P/S,Status,Fence, Seq#,P-LDEV# M VG01 pair1(L) (CL1-C , 0, 9)20064 58..P-VOL PAIR DATA ,61114 29 - VG01 pair1(R) (CL1-A , 0, 29)61114 29..S-VOL PAIR DATA ,----- 58 - VG01 pair2(L) (CL1-C , 0, 10)20064 59..P-VOL PAIR DATA ,61114 30 - VG01 pair2(R) (CL1-A , 0, 30)61114 30..S-VOL PAIR DATA ,----- 59 - VG01 pair3(L) (CL1-C , 0, 11)20064 60..P-VOL PAIR DATA ,61114 31 - VG01 pair3(R) (CL1-A , 0, 31)61114 31..S-VOL PAIR DATA ,----- 60 - |
要查看正在使用哪些磁盘,请使用 pairdisplay 命令的 -fd 选项,如以下示例所示。
# pairdisplay -fd -g VG01 Group PairVol(L/R) Device_File ,Seq#,LDEV#.P/S,Status,Fence,Seq#,P-LDEV# M VG01 pair1(L) c6t500060E8000000000000EEBA0000001Dd0s2 61114 29..S-VOL PAIR DATA ,----- 58 - VG01 pair1(R) c5t50060E800000000000004E600000003Ad0s2 20064 58..P-VOL PAIR DATA ,61114 29 - VG01 pair2(L) c6t500060E8000000000000EEBA0000001Ed0s2 61114 30..S-VOL PAIR DATA ,----- 59 - VG01 pair2(R) c5t50060E800000000000004E600000003Bd0s2 0064 59..P-VOL PAIR DATA ,61114 30 - VG01 pair3(L) c6t500060E8000000000000EEBA0000001Fd0s2 61114 31..S-VOL PAIR DATA ,----- 60 - VG01 pair3(R) c5t50060E800000000000004E600000003Cd0s2 20064 60..P-VOL PAIR DATA ,61114 31 - |
# pairdisplay -fd -g VG01 Group PairVol(L/R) Device_File ,Seq#,LDEV#.P/S,Status,Fence,Seq#,P-LDEV# M VG01 pair1(L) c5t500060E8000000000000EEBA0000001Dd0s2 61114 29..S-VOL PAIR DATA ,----- 58 - VG01 pair1(R) c5t50060E800000000000004E600000003Ad0s2 20064 58..P-VOL PAIR DATA ,61114 29 - VG01 pair2(L) c5t500060E8000000000000EEBA0000001Ed0s2 61114 30..S-VOL PAIR DATA ,----- 59 - VG01 pair2(R) c5t50060E800000000000004E600000003Bd0s2 20064 59..P-VOL PAIR DATA ,61114 30 - VG01 pair3(L) c5t500060E8000000000000EEBA0000001Fd0s2 61114 31..S-VOL PAIR DATA ,----- 60 - VG01 pair3(R) c5t50060E800000000000004E600000003Cd0s2 20064 60..P-VOL PAIR DATA ,61114 31 - |
# pairdisplay -fd -g VG01 Group PairVol(L/R) Device_File ,Seq#,LDEV#.P/S,Status,Fence ,Seq#,P-LDEV# M VG01 pair1(L) c5t50060E800000000000004E600000003Ad0s2 20064 58..P-VOL PAIR DATA ,61114 29 - VG01 pair1(R) c6t500060E8000000000000EEBA0000001Dd0s2 61114 29..S-VOL PAIR DATA ,----- 58 - VG01 pair2(L) c5t50060E800000000000004E600000003Bd0s2 20064 59..P-VOL PAIR DATA ,61114 30 - VG01 pair2(R) c6t500060E8000000000000EEBA0000001Ed0s2 61114 30..S-VOL PAIR DATA ,----- 59 - VG01 pair3(L) c5t50060E800000000000004E600000003Cd0s2 20064 60..P-VOL PAIR DATA ,61114 31 - VG01 pair3(R) c6t500060E8000000000000EEBA0000001Fd0s2 61114 31..S-VOL PAIR DATA ,----- 60 - |
这些示例显示,系统正在使用以下磁盘:
在节点 1 上:
c6t500060E8000000000000EEBA0000001Dd0s2
c6t500060E8000000000000EEBA0000001Ed0s2
c6t500060E8000000000000EEBA0000001Fd0s
在节点 2 上:
c5t500060E8000000000000EEBA0000001Dd0s2
c5t500060E8000000000000EEBA0000001Ed0s2
c5t500060E8000000000000EEBA0000001Fd0s2
在节点 3 上:
c5t50060E800000000000004E600000003Ad0s2
c5t50060E800000000000004E600000003Bd0s2
c5t50060E800000000000004E600000003Cd0s2
要查看与这些磁盘相对应的 DID 设备,请使用 cldevice list 命令,如以下示例所示。
# cldevice list -v DID Device Full Device Path ---------- ---------------- 1 node-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 2 node-1:/dev/rdsk/c0t6d0 /dev/did/rdsk/d2 11 node-1:/dev/rdsk/c6t500060E8000000000000EEBA00000020d0 /dev/did/rdsk/d11 11 node-2:/dev/rdsk/c5t500060E8000000000000EEBA00000020d0 /dev/did/rdsk/d11 12 node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Fd0 /dev/did/rdsk/d12 12 node-2:/dev/rdsk/c5t500060E8000000000000EEBA0000001Fd0 /dev/did/rdsk/d12 13 node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Ed0 /dev/did/rdsk/d13 13 node-2:/dev/rdsk/c5t500060E8000000000000EEBA0000001Ed0 /dev/did/rdsk/d13 14 node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Dd0 /dev/did/rdsk/d14 14 node-2:/dev/rdsk/c5t500060E8000000000000EEBA0000001Dd0 /dev/did/rdsk/d14 18 node-3:/dev/rdsk/c0t0d0 /dev/did/rdsk/d18 19 node-3:/dev/rdsk/c0t6d0 /dev/did/rdsk/d19 20 node-3:/dev/rdsk/c5t50060E800000000000004E6000000013d0 /dev/did/rdsk/d20 21 node-3:/dev/rdsk/c5t50060E800000000000004E600000003Dd0 /dev/did/rdsk/d21 22 node-3:/dev/rdsk/c5t50060E800000000000004E600000003Cd0 /dev/did/rdsk/d2223 23 node-3:/dev/rdsk/c5t50060E800000000000004E600000003Bd0 /dev/did/rdsk/d23 24 node-3:/dev/rdsk/c5t50060E800000000000004E600000003Ad0 /dev/did/rdsk/d24 |
为每一对复制设备组合 DID 实例时,cldevice list 应分别将 DID 实例 12 与 22、实例 13 与 23 以及实例 14 与 24 组合在一起。由于节点 3 具有主副本,因此,应从节点 1 或节点 2 运行 cldevice -T 命令。此外,请始终从具有辅助副本的节点上组合实例。请仅从单个节点(而不是从两个节点)上运行该命令。
以下示例显示了在节点 1 上运行该命令以组合 DID 实例时的输出。
# cldevice replicate -D node-3 Remapping instances for devices replicated with node-3... VG01 pair1 L node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Dd0 VG01 pair1 R node-3:/dev/rdsk/c5t50060E800000000000004E600000003Ad0 Combining instance 14 with 24 VG01 pair2 L node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Ed0 VG01 pair2 R node-3:/dev/rdsk/c5t50060E800000000000004E600000003Bd0 Combining instance 13 with 23 VG01 pair3 L node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Fd0 VG01 pair3 R node-3:/dev/rdsk/c5t50060E800000000000004E600000003Cd0 Combining instance 12 with 22 |
检查 cldevice list 的输出。此时,两个站点的 LUN 具相同的 DID 实例。具相同的 DID 实例使每个副本对看起来像是单个 DID 设备,如下例所示。
# cldevice list -v DID Device Full Device Path ---------- ---------------- 1 node-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1 2 node-1:/dev/rdsk/c0t6d0 /dev/did/rdsk/d2 11 node-1:/dev/rdsk/c6t500060E8000000000000EEBA00000020d0 /dev/did/rdsk/d11 11 node-2:/dev/rdsk/c5t500060E8000000000000EEBA00000020d0 /dev/did/rdsk/d11 18 node-3:/dev/rdsk/c0t0d0 /dev/did/rdsk/d18 19 node-3:/dev/rdsk/c0t6d0 /dev/did/rdsk/d19 20 node-3:/dev/rdsk/c5t50060E800000000000004E6000000013d0 /dev/did/rdsk/d20 21 node-3:/dev/rdsk/c5t50060E800000000000004E600000003Dd0 /dev/did/rdsk/d21 22 node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Fd0 /dev/did/rdsk/d1222 22 node-2:/dev/rdsk/c5t500060E8000000000000EEBA0000001Fd0 /dev/did/rdsk/d12 22 node-3:/dev/rdsk/c5t50060E800000000000004E600000003Cd0 /dev/did/rdsk/d22 23 node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Ed0 /dev/did/rdsk/d13 23 node-2:/dev/rdsk/c5t500060E8000000000000EEBA0000001Ed0 /dev/did/rdsk/d13 23 node-3:/dev/rdsk/c5t50060E800000000000004E600000003Bd0 /dev/did/rdsk/d23 24 node-1:/dev/rdsk/c6t500060E8000000000000EEBA0000001Dd0 /dev/did/rdsk/d24 24 node-2:/dev/rdsk/c5t500060E8000000000000EEBA0000001Dd0 /dev/did/rdsk/d24 24 node-3:/dev/rdsk/c5t50060E800000000000004E600000003Ad0 /dev/did/rdsk/d24 |
下一步是创建卷管理器设备组。从具有主副本的节点(在本示例中是节点 3)上发出此命令。设备组的名称要与副本组的名称相同,如下例所示。
# metaset -s VG01 -ah phys-deneb-3 # metaset -s VG01 -ah phys-deneb-1 # metaset -s VG01 -ah phys-deneb-2 # metaset -s VG01 -a /dev/did/rdsk/d22 # metaset -s VG01 -a /dev/did/rdsk/d23 # metaset -s VG01 -a /dev/did/rdsk/d24 # metaset Set name = VG01, Set number = 1 Host Owner phys-deneb-3 Yes phys-deneb-1 phys-deneb-2 Drive Dbase d22 Yes d23 Yes d24 Yes |
此时,设备组可用,您可以创建元设备,还可以将设备组移至三个节点中的任意节点。但是,为使切换和故障转移更加有效,可运行 cldevicegroup set 命令在群集配置中将设备组标记为已复制。
# cldevicegroup sync VG01 # cldevicegroup show VG01 === Device Groups=== Device Group Name VG01 Type: SVM failback: no Node List: phys-deneb-3, phys-deneb-1, phys-deneb-2 preferenced: yes numsecondaries: 1 device names: VG01 Replication type: truecopy |
完成此步骤后,复制组的配置便已完成。要检验配置是否成功,请执行如何检验复制的全局设备组的配置中的步骤。