下表列出了为设置和管理 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 |