下表列出了设置和管理 EMC Symmetrix Remote Data Facility (SRDF) 基于存储的复制设备时必须执行的任务。
|
开始之前
在配置 EMC Symmetrix Remote Data Facility (SRDF) 复制组之前,必须在所有群集节点上安装 EMC Solutions Enabler 软件。首先,在群集的共享磁盘上配置 EMC SRDF 设备组。有关如何配置 EMC SRDF 设备组的更多信息,请参见 EMC SRDF 产品文档。
使用 EMC SRDF 时,请使用动态设备而不是静态设备。静态设备更改主副本时需要几分钟,这会影响故障转移时间。
注意 - 您创建的 Oracle Solaris Cluster 设备组(Solaris Volume Manager 或原始磁盘)必须与复制的设备组同名。 |
在所有参与的群集节点上向 Solutions Enabler 选项文件添加下列条目:
SYMAPI_2SITE_CLUSTER_DG=:rdf-group-number
指定设备组的名称。
指定 RDF 组,用于将主机的本地 symmetrix 连接到第二个站点的 symmetrix。
此条目使群集软件能够自动在两个 SRDF 同步站点间移动应用程序。
有关三个数据中心配置的更多信息,请参见Oracle Solaris Cluster Geographic Edition Overview 中的Three-Data-Center (3DC) Topologies。
此过程可能需要几分钟时间。
# /usr/symcli/bin/symcfg discover
使用 symrdf 命令创建副本对。有关创建副本对的说明,请参阅 SRDF 文档。
-rdfg rdf-group-number
在 symrdf 命令中指定 RDF 组编号可确保 symrdf 操作针对正确的 RDF 组执行。
# /usr/symcli/bin/symdg show group-name
# /usr/symcli/bin/symrdf -g group-name verify -synchronized
# /usr/symcli/bin/symdg show group-name
具有 RDF1 设备的节点包含主副本,具有 RDF2 设备状态的节点包含辅助副本。
# /usr/symcli/bin/symrdf -g group-name failover
# /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
接下来的步骤
为 EMC SRDF 复制设备配置了设备组之后,必须配置复制设备所使用的设备标识符 (Device Identifier, DID) 驱动程序。
此过程将配置复制设备所使用的设备标识符 (Device Identifier, DID) 驱动程序。确保指定的 DID 设备实例是彼此的副本,并且属于指定的复制组。
开始之前
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
# /usr/symcli/bin/symdg show group-name
# cldevice list -v
# cldevice combine -t srdf -g replication-device-group \ -d destination-instance source-instance
指定复制类型。对于 EMC SRDF,键入 SRDF。
指定设备组的名称,如 symdg show 命令中所示。
指定与 RDF1 设备相对应的 DID 实例。
指定与 RDF2 设备相对应的 DID 实例。
# scdidadm -b device
组合实例时与 destination_device 相对应的 DID 实例。
|
# cldevice list -v device
# cldevice show device
# cldevice list -v
接下来的步骤
配置完复制设备所使用的设备标识符 (device identifier, DID) 驱动程序之后,必须检验 EMC SRDF 复制全局设备组配置。
开始之前
在检验全局设备组之前,必须先创建它。您可以使用 Solaris Volume Manager ZFS 或原始磁盘中的设备组。有关更多信息,请参阅以下内容:
注意 - 您创建的 Oracle Solaris Cluster 设备组(Solaris Volume Manager 或原始磁盘)必须与复制的设备组同名。 |
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。
# 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 复制时所需执行的特定于 Oracle Solaris Cluster 的步骤。本示例假定您已执行以下任务:
已针对阵列间的复制完成了 LUN 配对。
在存储设备和群集节点上安装 SRDF 软件。
本示例涉及一个四节点群集,其中两个节点连接到一个 Symmetrix,另外两个节点连接到第二个 Symmetrix。SRDF 设备组的名称为 dg1。
示例 5-1 创建副本对在所有节点上运行以下命令。
# 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示例 5-2 检验数据复制设置
从群集的一个节点上,键入:
# 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 #示例 5-3 显示与所用磁盘相对应的 DID
对 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 #示例 5-4 组合 DID 实例
从 RDF2 端,键入:
# cldevice combine -t srdf -g dg1 -d d217 d108 #示例 5-5 显示组合的 DID
从群集中的任一节点上,键入:
# 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 #
此过程可在校园群集的主工作间彻底故障、故障转移至辅助工作间并将主工作间重新联机之后,执行数据恢复。校园群集的主工作间是主节点和存储站点。工作间的彻底故障是指该工作间内的主机和存储设备同时发生故障。如果主工作间发生故障, Oracle Solaris 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)。
登录校园群集的主工作间执行以下步骤。在上述过程中,dg1 为 SRDF 设备组名。发生故障时,此过程中的主工作间是 phys-campus-1,辅助工作间是 phys-campus-2。
phys-campus-1# symrdf -g dg1 query
phys-campus-1# symrdf -g dg1 -force failover
phys-campus-1# symrdf -g dg1 query
phys-campus-1# symrdf -g dg1 swap
phys-campus-1# symrdf -g dg1 query
phys-campus-1# symrdf -g dg1 establish
phys-campus-1# symrdf -g dg1 query
本示例提供在校园群集的主工作间发生故障转移、辅助工作间进行接管并记录数据,随后主工作间重新联机之后,手动恢复 EMC SRDF 数据所必需的 Oracle Solaris 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