您可以对 Sun Cluster 设备组进行配置,使之包含那些通过基于存储的复制被复制的设备。Sun Cluster 软件支持使用 Hitachi TrueCopy 和 EMC Symmetrix Remote Data Facility 软件进行基于存储的复制。
在能够使用 Hitachi TrueCopy 或 EMC Symmetrix Remote Data Facility 软件复制数据之前,您必须熟悉基于存储的复制文档,并在系统上安装基于存储的复制产品和最新的修补程序。有关安装基于存储的复制软件的信息,请参见产品文档。
基于存储的复制软件可将一对设备配置为副本,一个作为主副本,另一个作为辅助副本。在任意给定时刻,与一组节点相连的设备将是主副本。与另一组节点相连的设备将是辅助副本。
在 Sun Cluster 配置中,一旦主副本所属的 Sun Cluster 设备组被移动,该主副本也会自动移动。因此,决不应在 Sun Cluster 配置中直接移动主副本。正确的做法是:通过移动相关联的 Sun Cluster 设备组来实现接管。
您创建的 Sun Cluster 设备组(Solaris Volume Manager、Veritas Volume Manager 或原始磁盘)必须与所复制的设备组同名。
本节包含以下过程:
下表列出了为设置 Hitachi TrueCopy 基于存储的复制设备而必须执行的任务。
表 5–2 任务表:管理 Hitachi TrueCopy 基于存储的复制设备
任务 |
指导 |
---|---|
在存储设备和节点上安装 TrueCopy 软件 |
请参见 Hitachi 存储设备附带的文档。 |
配置 Hitachi 复制组 | |
配置 DID 设备 | |
注册复制组 |
如何添加和注册设备组 (Solaris Volume Manager)或如何将磁盘组注册为设备组 (Veritas Volume Manager(Veritas 卷管理器)) |
检验配置 |
首先,在主群集的共享磁盘上配置 Hitachi TrueCopy 设备组。此配置信息在每个可访问 Hitachi 阵列的群集节点上的 /etc/horcm.conf 文件中指定。有关如何配置 /etc/horcm.conf 文件的更多信息,请参见《Sun StorEdge SE 9900 V Series Command and Control Interface User and Reference Guide》。
您创建的 Sun Cluster 设备组(Solaris Volume Manager、Veritas Volume Manager、ZFS 或原始磁盘)必须与所复制的设备组同名。
在与存储阵列相连的所有节点上,成为超级用户或使用一个可提供 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 命令创建具有所需隔离级别的副本对。有关创建副本对的说明,请参阅 TrueCopy 文档。
在每个配置了复制设备的节点上,使用 pairdisplay 命令检验数据复制的设置是否正确。 保护级别为 ASYNC 的 Hitachi TrueCopy 或 Hitachi Universal Replicator 设备组无法与系统上的任何其他设备组共享其 ctgid。
# 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 NEVER ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..S-VOL PAIR NEVER ,----- 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 NEVER ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..S-VOL PAIR NEVER ,----- 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 NEVER ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..P-VOL PAIR NEVER ,----- 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 NEVER ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..S-VOL PAIR NEVER ,----- 58 - |
按照如何配置 DID 设备以使用 Hitachi TrueCopy 进行复制中的说明,继续对复制设备进行配置。
给复制设备配置了设备组之后,您必须配置该复制设备所使用的设备标识符 (Device Identifier, DID) 驱动程序。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
在群集的任意一个节点上,成为超级用户或使用一个可提供 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 NEVER ,12345 29 - group-name pair1(R) (CL1-A , 0, 29)12345 29..S-VOL PAIR NEVER ,----- 58 - |
具有状态为 S-VOL 的本地 (L) 设备的节点包含辅助副本。
在包含辅助副本(由上一步确定)的节点上,配置 DID 设备以用于基于存储的复制。
此命令会将设备副本对的两个独立 DID 实例组合成单个逻辑 DID 实例。该单个实例使两端的卷管理软件都能够使用该设备。
如果有多个节点与辅助副本相连,请仅在这些节点中的一个节点上运行此命令。
# cldevice replicate -D primary-replica-nodename -S secondary replica-nodename |
指定包含主副本的远程节点的名称。
指定源节点(非当前节点)。
指定包含辅助副本的远程节点的名称。
默认情况下,当前节点就是源节点。使用 -S 选项指定其他源节点。
检验是否已组合 DID 实例。
# cldevice list -v logical_DID_device |
检验是否已设置 TrueCopy 复制。
# cldevice show logical_DID_device |
该命令输出应指出 TrueCopy 是复制类型。
如果 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)或如何将磁盘组注册为设备组 (Veritas Volume Manager(Veritas 卷管理器))
注册设备组时,确保使它与 TrueCopy 复制组同名。
在检验全局设备组之前,必须先创建它。可使用 Solaris Volume Manager、Veritas Volume Manager、ZFS 或原始磁盘的设备组。有关更多信息,请参考以下内容:
您创建的 Sun Cluster 设备组(Solaris Volume Manager、Veritas Volume Manager 或原始磁盘)必须与所复制的设备组同名。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
检验主设备组是否对应于包含主副本的同一节点。
# pairdisplay -g group-name # cldevicegroup status -n nodename group-name |
检验是否已为设备组设置复制属性。
# cldevicegroup show -n nodename group-name |
检验是否已为设备设置复制属性。
# usr/cluster/bin/cldevice status [-s state] [-n node[,?]] [+| [disk-device ]] |
尝试执行切换,确保设备组已正确配置,而且,副本可在节点之间移动。
如果设备组处于脱机状态,请使其联机。
# 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 NEVER ,----- 58 - VG01 pair1(R) (CL1-C , 0, 9)20064 58..P-VOL PAIR NEVER ,61114 29 - VG01 pair2(L) (CL1-A , 0, 30)61114 30..S-VOL PAIR NEVER ,----- 59 - VG01 pair2(R) (CL1-C , 0, 10)20064 59..P-VOL PAIR NEVER ,61114 30 - VG01 pair3(L) (CL1-A , 0, 31)61114 31..S-VOL PAIR NEVER ,----- 60 - VG01 pair3(R) (CL1-C , 0, 11)20064 60..P-VOL PAIR NEVER ,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 NEVER ,----- 58 - VG01 pair1(R) (CL1-C , 0, 9)20064 58..P-VOL PAIR NEVER ,61114 29 - VG01 pair2(L) (CL1-A , 0, 30)61114 30..S-VOL PAIR NEVER ,----- 59 - VG01 pair2(R) (CL1-C , 0, 10)20064 59..P-VOL PAIR NEVER ,61114 30 - VG01 pair3(L) (CL1-A , 0, 31)61114 31..S-VOL PAIR NEVER ,----- 60 - VG01 pair3(R) (CL1-C , 0, 11)20064 60..P-VOL PAIR NEVER ,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 NEVER ,61114 29 - VG01 pair1(R) (CL1-A , 0, 29)61114 29..S-VOL PAIR NEVER ,----- 58 - VG01 pair2(L) (CL1-C , 0, 10)20064 59..P-VOL PAIR NEVER ,61114 30 - VG01 pair2(R) (CL1-A , 0, 30)61114 30..S-VOL PAIR NEVER ,----- 59 - VG01 pair3(L) (CL1-C , 0, 11)20064 60..P-VOL PAIR NEVER ,61114 31 - VG01 pair3(R) (CL1-A , 0, 31)61114 31..S-VOL PAIR NEVER ,----- 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 NEVER ,----- 58 - VG01 pair1(R) c5t50060E800000000000004E600000003Ad0s2 20064 58..P-VOL PAIR NEVER ,61114 29 - VG01 pair2(L) c6t500060E8000000000000EEBA0000001Ed0s2 61114 30..S-VOL PAIR NEVER ,----- 59 - VG01 pair2(R) c5t50060E800000000000004E600000003Bd0s2 0064 59..P-VOL PAIR NEVER ,61114 30 - VG01 pair3(L) c6t500060E8000000000000EEBA0000001Fd0s2 61114 31..S-VOL PAIR NEVER ,----- 60 - VG01 pair3(R) c5t50060E800000000000004E600000003Cd0s2 20064 60..P-VOL PAIR NEVER ,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 NEVER ,----- 58 - VG01 pair1(R) c5t50060E800000000000004E600000003Ad0s2 20064 58..P-VOL PAIR NEVER ,61114 29 - VG01 pair2(L) c5t500060E8000000000000EEBA0000001Ed0s2 61114 30..S-VOL PAIR NEVER ,----- 59 - VG01 pair2(R) c5t50060E800000000000004E600000003Bd0s2 20064 59..P-VOL PAIR NEVER ,61114 30 - VG01 pair3(L) c5t500060E8000000000000EEBA0000001Fd0s2 61114 31..S-VOL PAIR NEVER ,----- 60 - VG01 pair3(R) c5t50060E800000000000004E600000003Cd0s2 20064 60..P-VOL PAIR NEVER ,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 NEVER ,61114 29 - VG01 pair1(R) c6t500060E8000000000000EEBA0000001Dd0s2 61114 29..S-VOL PAIR NEVER ,----- 58 - VG01 pair2(L) c5t50060E800000000000004E600000003Bd0s2 20064 59..P-VOL PAIR NEVER ,61114 30 - VG01 pair2(R) c6t500060E8000000000000EEBA0000001Ed0s2 61114 30..S-VOL PAIR NEVER ,----- 59 - VG01 pair3(L) c5t50060E800000000000004E600000003Cd0s2 20064 60..P-VOL PAIR NEVER ,61114 31 - VG01 pair3(R) c6t500060E8000000000000EEBA0000001Fd0s2 61114 31..S-VOL PAIR NEVER ,----- 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 |
完成此步骤后,复制组的配置便已完成。要检验配置是否成功,请执行如何检验 Hitachi TrueCopy 复制全局设备组配置中的步骤。
下表列出了为设置和管理 EMC Symmetrix Remote Data Facility (SRDF) 基于存储的复制设备而必须执行的任务。
表 5–3 任务表:管理 EMC SRDF 基于存储的复制设备
任务 |
指导 |
---|---|
在存储设备和节点上安装 SRDF 软件 |
EMC 存储设备附带的文档。 |
配置 EMC 复制组 | |
配置 DID 设备 | |
注册复制组 |
如何添加和注册设备组 (Solaris Volume Manager)或如何将磁盘组注册为设备组 (Veritas Volume Manager(Veritas 卷管理器)) |
检验配置 | |
校园群集的主工作间彻底失败后,手动恢复数据 |
在配置 EMC Symmetrix Remote Data Facility (SRDF) 复制组之前,必须在所有群集节点上安装 EMC Solutions Enabler 软件。首先,在群集的共享磁盘上配置 EMC SRDF 设备组。有关如何配置 EMC SRDF 设备组的更多信息,请参见 EMC SRDF 产品文档。
使用 EMC SRDF 时,请使用动态设备而非静态设备。静态设备更改复制主副本需要几分钟,而这会影响故障转移时间。
您创建的 Sun Cluster 设备组(Solaris Volume Manager、Veritas Volume Manager 或原始磁盘)必须与所复制的设备组同名。
在与存储阵列相连的所有节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。
在配置有复制数据的每个节点上,搜索 Symmetrix 设备配置。
此过程可能需要几分钟的时间。
# /usr/symcli/bin/symcfg discover |
如果尚未创建副本对,请立即创建。
使用 symrdf 命令创建副本对。有关创建副本对的说明,请参阅 SRDF 文档。
在配置有复制设备的每个节点上,检验数据复制设置是否正确。
# /usr/symcli/bin/symdg show group-name |
执行设备组交换。
检验主副本和辅助副本是否同步。
# /usr/symcli/bin/symrdf -g group-name verify -synchronized |
使用 symdg show 命令确定包含主副本的节点和包含辅助副本的节点。
# /usr/symcli/bin/symdg show group-name |
具有 RDF1 设备的节点包含主副本,具有 RDF2 设备状态的节点包含辅助副本。
启用辅助副本。
# /usr/symcli/bin/symrdf -g group-name failover |
交换 RDF1 和 RDF2 设备。
# /usr/symcli/bin/symrdf -g group-name swap -refresh R1 |
启用副本对。
# /usr/symcli/bin/symrdf -g group-name establish |
检验主节点和辅助副本是否同步。
# /usr/symcli/bin/symrdf -g group-name verify -synchronized |
在原先具有主副本的节点上重复步骤 5 的所有内容。
给 EMC SRDF 复制设备配置了设备组之后,您必须配置该复制设备所使用的设备标识符 (device identifier, DID) 驱动程序。
该过程将配置复制设备所使用的设备标识符 (device identifier, DID) 驱动程序。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
在群集的任意一个节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。
确定对应于已配置 RDF1 和 RDF2 设备的 DID 设备。
# /usr/symcli/bin/symdg show group-name |
如果系统不显示整个 Solaris 设备修补程序,请将环境变量 SYMCLI_FULL_PDEVNAME 设置为 1,然后重新键入 symdg -show 命令。
确定对应于 Solaris 设备的 DID 设备。
# cldevice list -v |
对于每对匹配的 DID 设备,将实例组合到单个复制 DID 设备中。从 RDF2/辅助端运行以下命令。
# cldevice combine -t srdf -g replication-device-group \ -d destination-instance source-instance |
SRDF 数据复制设备不支持 -T 选项。
指定复制类型。对于 EMC SRDF,键入 SRDF。
指定设备组的名称,如 symdg show 命令中所示。
指定对应于 RDF1 设备的 DID 实例。
指定对应于 RDF2 设备的 DID 实例。
如果组合了错误的 DID 设备,请使用带有 -b 选项的 scdidadm 命令取消对两个 DID 设备的组合。
# scdidadm -b device |
组合实例时对应于 destination_device 的 DID 实例。
如果复制设备组的名称发生更改,则对于 Hitachi TrueCopy 和 SRDF,需要执行其他步骤。在完成步骤 1 到 4 之后,请执行适当的附加步骤。
项 |
描述 |
---|---|
TrueCopy |
如果复制设备组(以及相应的全局设备组)的名称发生更改,必须重新运行 cldevice replicate 命令以更新复制的设备信息。 |
SRDF |
如果复制设备组(以及相应的全局设备组)的名称发生更改,必须先使用 scdidadm -b 命令删除现有的信息来更新已复制的设备信息。最后一步是使用 cldevice combine 命令创建一个新的更新设备。 |
检验是否已组合 DID 实例。
# cldevice list -v device |
检验是否已设置 SRDF 复制。
# cldevice show device |
在所有节点上,检验所有组合 DID 实例所对应的 DID 设备是否均可访问。
# cldevice list -v |
配置复制设备所使用的设备标识符 (device identifier, DID) 之后,必须检验 EMC SRDF 复制全局设备组配置。
在检验全局设备组之前,必须先创建它。可使用 Solaris Volume Manager、Veritas Volume Manager、ZFS 或原始磁盘的设置组。有关更多信息,请参考以下内容:
您创建的 Sun Cluster 设备组(Solaris Volume Manager、Veritas Volume Manager 或原始磁盘)必须与所复制的设备组同名。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
检验主设备组是否对应于包含主副本的同一节点。
# symdg -show group-name # cldevicegroup status -n nodename group-name |
尝试执行切换,确保设备组已正确配置,而且,副本可在节点之间移动。
如果设备组处于脱机状态,请使其联机。
# cldevicegroup switch -n nodename group-name |
设备组被切换到的节点。该节点将成为新的主节点。
通过比较以下命令的输出内容检验切换操作是否成功。
# symdg -show group-name # cldevicegroup status -n nodename group-name |
本示例用于完成在群集中设置 SRDF 复制所需执行的特定于 Sun Cluster 的步骤。本示例假定您已执行以下任务:
已针对阵列间的复制完成 LUN 配对。
在存储设备和群集节点上安装了 SRDF 软件。
本示例涉及一个四节点群集,其中两个节点连接到一个 symmetrix,另外两个节点连接到第二个 symmetrix。SRDF 设备组名为 dg1。
在所有节点上运行以下命令。
# symcfg discover ! This operation might take up to a few minutes. # symdev list pd Symmetrix ID: 000187990182 Device Name Directors Device --------------------------- ------------ -------------------------------------- Cap Sym Physical SA :P DA :IT Config Attribute Sts (MB) --------------------------- ------------- ------------------------------------- 0067 c5t600604800001879901* 16D:0 02A:C1 RDF2+Mir N/Grp'd RW 4315 0068 c5t600604800001879901* 16D:0 16B:C0 RDF1+Mir N/Grp'd RW 4315 0069 c5t600604800001879901* 16D:0 01A:C0 RDF1+Mir N/Grp'd RW 4315 ... |
在 RDF1 端的所有节点上,键入:
# symdg -type RDF1 create dg1 # symld -g dg1 add dev 0067 |
在 RDF2 端的所有节点上,键入:
# symdg -type RDF2 create dg1 # symld -g dg1 add dev 0067 |
从群集中的一个节点上,键入:
# symdg show dg1 Group Name: dg1 Group Type : RDF1 (RDFA) Device Group in GNS : No Valid : Yes Symmetrix ID : 000187900023 Group Creation Time : Thu Sep 13 13:21:15 2007 Vendor ID : EMC Corp Application ID : SYMCLI Number of STD Devices in Group : 1 Number of Associated GK's : 0 Number of Locally-associated BCV's : 0 Number of Locally-associated VDEV's : 0 Number of Remotely-associated BCV's (STD RDF): 0 Number of Remotely-associated BCV's (BCV RDF): 0 Number of Remotely-assoc'd RBCV's (RBCV RDF) : 0 Standard (STD) Devices (1): { -------------------------------------------------------------------- Sym Cap LdevName PdevName Dev Att. Sts (MB) -------------------------------------------------------------------- DEV001 /dev/rdsk/c5t6006048000018790002353594D303637d0s2 0067 RW 4315 } Device Group RDF Information ... # symrdf -g dg1 establish Execute an RDF 'Incremental Establish' operation for device group 'dg1' (y/[n]) ? y An RDF 'Incremental Establish' operation execution is in progress for device group 'dg1'. Please wait... Write Disable device(s) on RA at target (R2)..............Done. Suspend RDF link(s).......................................Done. Mark target (R2) devices to refresh from source (R1)......Started. Device: 0067 ............................................ Marked. Mark target (R2) devices to refresh from source (R1)......Done. Merge device track tables between source and target.......Started. Device: 0067 ............................................ Merged. Merge device track tables between source and target.......Done. Resume RDF link(s)........................................Started. Resume RDF link(s)........................................Done. The RDF 'Incremental Establish' operation successfully initiated for device group 'dg1'. # # symrdf -g dg1 query Device Group (DG) Name : dg1 DG's Type : RDF2 DG's Symmetrix ID : 000187990182 Target (R2) View Source (R1) View MODES -------------------------------- ------------------------ ----- ------------ ST LI ST Standard A N A Logical T R1 Inv R2 Inv K T R1 Inv R2 Inv RDF Pair Device Dev E Tracks Tracks S Dev E Tracks Tracks MDA STATE -------------------------------- -- ------------------------ ----- ------------ DEV001 0067 WD 0 0 RW 0067 RW 0 0 S.. Synchronized Total -------- -------- -------- -------- MB(s) 0.0 0.0 0.0 0.0 Legend for MODES: M(ode of Operation): A = Async, S = Sync, E = Semi-sync, C = Adaptive Copy D(omino) : X = Enabled, . = Disabled A(daptive Copy) : D = Disk Mode, W = WP Mode, . = ACp off # |
对 RDF1 和 RDF2 端执行相同的过程。
可以在 dymdg show dg 命令输出的 PdevName 字段下查看。
在 RDF1 端,键入:
# symdg show dg1 Group Name: dg1 Group Type : RDF1 (RDFA) ... Standard (STD) Devices (1): { -------------------------------------------------------------------- Sym Cap LdevName PdevName Dev Att. Sts (MB) -------------------------------------------------------------------- DEV001 /dev/rdsk/c5t6006048000018790002353594D303637d0s2 0067 RW 4315 } Device Group RDF Information ... |
要获取对应的 DID,请键入:
# scdidadm -L | grep c5t6006048000018790002353594D303637d0 217 pmoney1:/dev/rdsk/c5t6006048000018790002353594D303637d0 /dev/did/rdsk/d217 217 pmoney2:/dev/rdsk/c5t6006048000018790002353594D303637d0 /dev/did/rdsk/d217 # |
要列出对应的 DID,请键入:
# cldevice show d217 === DID Device Instances === DID Device Name: /dev/did/rdsk/d217 Full Device Path: pmoney2:/dev/rdsk/c5t6006048000018790002353594D303637d0 Full Device Path: pmoney1:/dev/rdsk/c5t6006048000018790002353594D303637d0 Replication: none default_fencing: global # |
在 RDF2 端,键入:
可以在 dymdg show dg 命令输出的 PdevName 字段下查看。
# symdg show dg1 Group Name: dg1 Group Type : RDF2 (RDFA) ... Standard (STD) Devices (1): { -------------------------------------------------------------------- Sym Cap LdevName PdevName Dev Att. Sts (MB) -------------------------------------------------------------------- DEV001 /dev/rdsk/c5t6006048000018799018253594D303637d0s2 0067 WD 4315 } Device Group RDF Information ... |
要获取对应的 DID,请键入:
# scdidadm -L | grep c5t6006048000018799018253594D303637d0 108 pmoney4:/dev/rdsk/c5t6006048000018799018253594D303637d0 /dev/did/rdsk/d108 108 pmoney3:/dev/rdsk/c5t6006048000018799018253594D303637d0 /dev/did/rdsk/d108 # |
要列出对应的 DID,请键入:
# cldevice show d108 === DID Device Instances === DID Device Name: /dev/did/rdsk/d108 Full Device Path: pmoney3:/dev/rdsk/c5t6006048000018799018253594D303637d0 Full Device Path: pmoney4:/dev/rdsk/c5t6006048000018799018253594D303637d0 Replication: none default_fencing: global # |
从 RDF2 端,键入:
# cldevice combine -t srdf -g dg1 -d d217 d108 # |
从群集中的任何节点上,键入:
# cldevice show d217 d108 cldevice: (C727402) Could not locate instance "108". === DID Device Instances === DID Device Name: /dev/did/rdsk/d217 Full Device Path: pmoney1:/dev/rdsk/c5t6006048000018790002353594D303637d0 Full Device Path: pmoney2:/dev/rdsk/c5t6006048000018790002353594D303637d0 Full Device Path: pmoney4:/dev/rdsk/c5t6006048000018799018253594D303637d0 Full Device Path: pmoney3:/dev/rdsk/c5t6006048000018799018253594D303637d0 Replication: srdf default_fencing: global # |
此过程可在校园群集的主工作间彻底失败、故障转移至辅助工作间并且主工作间重新联机后,执行数据恢复。校园群集的主工作间是主要节点和存储站点。工作间彻底故障是指该工作间内的主机和存储同时故障。如果主工作间失败,Sun Cluster 会自动故障转移至辅助工作间,使辅助工作间的存储设备可读写,并启用相应设备组和资源组的故障转移。
主工作间重新联机后,可手动从 SRDF 设备组恢复被写入至辅助工作间的数据,并重新同步数据。此过程可通过将原辅助工作间(此过程使用 phys-campus-2 作为辅助工作间)中的数据同步至原主工作间 (phys-campus-1),以恢复 SRDF 设备组。此过程还会将 phys-campus-2 和 phys-campus-1 上的 SRDF 设备组类型分别更改为 RDF1 和 RDF2。
在执行手动故障转移之前,必须先配置 EMC 复制组和 DID 设备,并注册 EMC 复制组。有关创建 Solaris Volume Manager 设备组的信息,请参见如何添加和注册设备组 (Solaris Volume Manager)。有关创建 Veritas Volume Manager(Veritas 卷管理器) 设备组的信息,请参见如何在封装磁盘时创建新磁盘组 (Veritas Volume Manager(Veritas 卷管理器))。
这些说明演示了一种在主工作间完成故障转移并重新联机后手动恢复 SRDF 数据的方法。有关其他方法,请查阅 EMC 文档。
登录校园群集的主工作间以执行这些步骤。在上述过程中,dg1 为 SRDF 设备组名称。发生故障时,此过程中的主工作间为 phys-campus-1,辅助工作间为 phys-campus-2。
登录校园群集的主工作间,并成为超级用户或担任可提供 solaris.cluster.modify RBAC 授权的角色。
从主工作间中,使用 symrdf 命令查询 RDF 设备的复制状态并查看有关这些设备的信息。
phys-campus-1# symrdf -g dg1 query |
处于 split 状态的设备组未同步。
如果 RDF 对的状态为 split,且设备组类型为 RDF1,则强制执行 SRDF 设备组的故障转移。
phys-campus-1# symrdf -g dg1 -force failover |
查看 RDF 设备的状态。
phys-campus-1# symrdf -g dg1 query |
故障转移完成后,可交换位于执行故障转移的设备上的数据。
phys-campus-1# symrdf -g dg1 swap |
检验 RDF 设备的状态及其他相关信息。
phys-campus-1# symrdf -g dg1 query |
在主工作间中建立 SRDF 设备组。
phys-campus-1# symrdf -g dg1 establish |
确认设备组处于同步状态,且设备组类型为 RDF2。
phys-campus-1# symrdf -g dg1 query |
本示例提供在校园群集的主工作间故障转移至辅助工作间、记录数据并重新联机后,手动恢复 EMC SRDF 数据所必需的 Sun Cluster 特定步骤。在本示例中,SRDF 设备组名为 dg1,标准逻辑设备为 DEV001。发生故障时,主工作间为 phys-campus-1,辅助工作间为 phys-campus-2。从校园群集的主工作间 phys-campus-1 中执行这些步骤。
phys-campus-1# symrdf -g dg1 query | grep DEV DEV001 0012RW 0 0NR 0012RW 2031 O S.. Split phys-campus-1# symdg list | grep RDF dg1 RDF1 Yes 00187990182 1 0 0 0 0 phys-campus-1# symrdf -g dg1 -force failover ... phys-campus-1# symrdf -g dg1 query | grep DEV DEV001 0012 WD 0 0 NR 0012 RW 2031 O S.. Failed Over phys-campus-1# symdg list | grep RDF dg1 RDF1 Yes 00187990182 1 0 0 0 0 phys-campus-1# symrdf -g dg1 swap ... phys-campus-1# symrdf -g dg1 query | grep DEV DEV001 0012 WD 0 0 NR 0012 RW 0 2031 S.. Suspended phys-campus-1# symdg list | grep RDF dg1 RDF2 Yes 000187990182 1 0 0 0 0 phys-campus-1# symrdf -g dg1 establish ... phys-campus-1# symrdf -g dg1 query | grep DEV DEV001 0012 WD 0 0 RW 0012 RW 0 0 S.. Synchronized phys-campus-1# symdg list | grep RDF dg1 RDF2 Yes 000187990182 1 0 0 0 0 |