Oracle® Solaris Cluster 系统管理指南

退出打印视图

更新时间: 2015 年 10 月
 
 

管理 EMC Symmetrix Remote Data Facility 复制设备

下表列出了设置和管理 EMC Symmetrix Remote Data Facility (SRDF) 基于存储的复制设备时必须执行的任务。

表 5-2  任务列表:管理 EMC SRDF 基于存储的复制设备
任务
说明
在存储设备和节点上安装 SRDF 软件
EMC 存储设备随附的文档。
配置 EMC 复制组
配置 DID 设备
注册复制组
检验配置
校园群集的主工作间彻底故障后手动恢复数据

如何配置 EMC SRDF 复制组

开始之前

  • 在配置 EMC Symmetrix Remote Data Facility (SRDF) 复制组之前,必须在所有群集节点上安装 EMC Solutions Enabler 软件。首先,在群集的共享磁盘上配置 EMC SRDF 设备组。有关如何配置 EMC SRDF 设备组的更多信息,请参见 EMC SRDF 产品文档。

  • 使用 EMC SRDF 时,请使用动态设备而不是静态设备。静态设备更改主副本时需要几分钟,这会影响故障转移时间。


Caution

注意  -  您创建的 Oracle Solaris Cluster 设备组(Solaris Volume Manager 或原始磁盘)必须与复制的设备组同名。


  1. 在连接到存储阵列的所有节点上,承担可提供 solaris.cluster.modify RBAC 授权的角色。
  2. 要使用并发 SRDF 或级联设备完成三站点或三数据中心实现,请设置 SYMAPI_2SITE_CLUSTER_DG 参数。

    在所有参与的群集节点上向 Solutions Enabler 选项文件添加下列条目:

    SYMAPI_2SITE_CLUSTER_DG=:rdf-group-number
    device-group

    指定设备组的名称。

    rdf-group-number

    指定 RDF 组,用于将主机的本地 symmetrix 连接到第二个站点的 symmetrix。

    此条目使群集软件能够自动在两个 SRDF 同步站点间移动应用程序。

    有关三个数据中心配置的更多信息,请参见Oracle Solaris Cluster Geographic Edition Overview 中的Three-Data-Center (3DC) Topologies

  3. 在配置有复制数据的每个节点上,搜索 Symmetrix 设备配置。

    此过程可能需要几分钟时间。

    # /usr/symcli/bin/symcfg discover
  4. 如果尚未创建副本对,请立即创建。

    使用 symrdf 命令创建副本对。有关创建副本对的说明,请参阅 SRDF 文档。


    注 -  如果使用并发 RDF 设备完成三站点或三数据中心实现,请在所有 symrdf 命令中添加以下参数:
    -rdfg rdf-group-number

    symrdf 命令中指定 RDF 组编号可确保 symrdf 操作针对正确的 RDF 组执行。


  5. 在配置有复制设备的每个节点上,检验数据复制设置是否正确。
    # /usr/symcli/bin/symdg show group-name
  6. 执行设备组交换。
    1. 检验主副本和辅助副本是否同步。
      # /usr/symcli/bin/symrdf -g group-name verify -synchronized
    2. 使用 symdg show 命令确定哪个节点包含主副本,哪个节点包含辅助副本。
      # /usr/symcli/bin/symdg show group-name

      具有 RDF1 设备的节点包含主副本,具有 RDF2 设备状态的节点包含辅助副本。

    3. 启用辅助副本。
      # /usr/symcli/bin/symrdf -g group-name failover
    4. 交换 RDF1 和 RDF2 设备。
      # /usr/symcli/bin/symrdf -g group-name swap -refresh R1
    5. 启用副本对。
      # /usr/symcli/bin/symrdf -g group-name establish
    6. 检验主节点和辅助副本是否同步。
      # /usr/symcli/bin/symrdf -g group-name verify -synchronized
  7. 在最初具有主副本的节点上重复步骤 5 的所有操作。

接下来的步骤

为 EMC SRDF 复制设备配置了设备组之后,必须配置复制设备所使用的设备标识符 (Device Identifier, DID) 驱动程序。

如何使用 EMC SRDF 为复制配置 DID 设备

此过程将配置复制设备所使用的设备标识符 (Device Identifier, DID) 驱动程序。确保指定的 DID 设备实例是彼此的副本,并且属于指定的复制组。

开始之前

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。

  1. 在群集的任一节点上承担可提供 solaris.cluster.modify RBAC 授权的角色。
  2. 确定与已配置的 RDF1 和 RDF2 设备相对应的 DID 设备。
    # /usr/symcli/bin/symdg show group-name

    注 -  如果系统未显示整个 Oracle Solaris 设备修补程序,请将环境变量 SYMCLI_FULL_PDEVNAME 设置为 1 并重新键入 symdg -show 命令。
  3. 确定与 Oracle Solaris 设备相对应的 DID 设备。
    # cldevice list -v
  4. 对于每对匹配的 DID 设备,将实例组合到单个复制 DID 设备中。从 RDF2/辅助设备端运行以下命令。
    # cldevice combine -t srdf -g replication-device-group \
    -d destination-instance source-instance

    注 -  SRDF 数据复制设备不支持 –T 选项。
    -t replication-type

    指定复制类型。对于 EMC SRDF,键入 SRDF

    -g replication-device-group

    指定设备组的名称,如 symdg show 命令中所示。

    -d destination-instance

    指定与 RDF1 设备相对应的 DID 实例。

    source-instance

    指定与 RDF2 设备相对应的 DID 实例。


    注 -  如果组合了错误的 DID 设备,请使用 scdidadm 命令的 –b 选项撤消这两个 DID 设备的组合。
    # scdidadm -b device
    –b device

    组合实例时与 destination_device 相对应的 DID 实例。


  5. 如果复制设备组的名称发生更改,则对于 SRDF 需要执行其他步骤。完成步骤 1 到 4 后,请执行相应的其他步骤。
    项目
    描述
    SRDF
    如果复制设备组(以及相应的全局设备组)名称发生更改,则必须首先通过使用 scdidadm –b 命令删除现有信息来更新复制设备信息。最后一步是使用 cldevice combine 命令创建一个新的更新过的设备。
  6. 检验是否已组合 DID 实例。
    # cldevice list -v device
  7. 检验是否已设置 SRDF 复制。
    # cldevice show device
  8. 在所有节点上,检验是否可访问所有组合 DID 实例的 DID 设备。
    # cldevice list -v

接下来的步骤

配置完复制设备所使用的设备标识符 (device identifier, DID) 驱动程序之后,必须检验 EMC SRDF 复制全局设备组配置。

如何检验 EMC SRDF 复制全局设备组配置

开始之前

在检验全局设备组之前,必须先创建它。您可以使用 Solaris Volume Manager ZFS 或原始磁盘中的设备组。有关更多信息,请参阅以下内容:


Caution

注意  -  您创建的 Oracle Solaris Cluster 设备组(Solaris Volume Manager 或原始磁盘)必须与复制的设备组同名。


phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。

  1. 检验主设备组是否对应于包含主副本的同一节点。
    # symdg -show group-name
    # cldevicegroup status -n nodename group-name
  2. 尝试执行切换,确保设备组已正确配置且副本可在节点间移动。

    如果设备组处于脱机状态,请使其联机。

    # cldevicegroup switch -n nodename group-name
    -n nodename

    设备组切换到的节点。此节点成为新的主节点。

  3. 通过比较以下命令的输出来检验切换操作是否已成功。
    # symdg -show group-name
    # cldevicegroup status -n nodename group-name

示例:为 Oracle Solaris Cluster 配置 SRDF 复制组

本示例用于完成在群集中设置 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

# 

如何在主工作间彻底故障后恢复 EMC SRDF 数据

此过程可在校园群集的主工作间彻底故障、故障转移至辅助工作间并将主工作间重新联机之后,执行数据恢复。校园群集的主工作间是主节点和存储站点。工作间的彻底故障是指该工作间内的主机和存储设备同时发生故障。如果主工作间发生故障, Oracle Solaris Cluster 会自动故障转移至辅助工作间,使辅助工作间的存储设备可读写,并启用相应设备组和资源组的故障转移。

主工作间重新联机后,可手动从 SRDF 设备组恢复被写入至辅助工作间的数据,并重新同步数据。此过程可通过将原辅助工作间(此过程使用 phys-campus-2 作为辅助工作间)中的数据同步至原主工作间 (phys-campus-1),来恢复 SRDF 设备组。此过程还会将 phys-campus-2phys-campus-1 上的 SRDF 设备组类型分别更改为 RDF1 和 RDF2。

开始之前

在执行手动故障转移之前,必须先配置 EMC 复制组和 DID 设备,并注册 EMC 复制组。有关创建 Solaris Volume Manager 设备组的信息,请参见如何添加并注册设备组 (Solaris Volume Manager)


注 -  这些说明演示了一种在主工作间完成故障转移并重新联机后手动恢复 SRDF 数据的方法。有关其他方法,请查阅 EMC 文档。

登录校园群集的主工作间执行以下步骤。在上述过程中,dg1 为 SRDF 设备组名。发生故障时,此过程中的主工作间是 phys-campus-1,辅助工作间是 phys-campus-2

  1. 登录校园群集的主工作间,并承担可提供 solaris.cluster.modify RBAC 授权的角色。
  2. 在主工作间中,使用 symrdf 命令查询 RDF 设备的复制状态并查看有关这些设备的信息。
    phys-campus-1# symrdf -g dg1 query

    提示  -  如果设备组处于 split 状态,说明未同步。
  3. 如果 RDF 对的状态为 split 且设备组类型为 RDF1,则强制执行 SRDF 设备组的故障转移。
    phys-campus-1# symrdf -g dg1 -force failover
  4. 查看 RDF 设备的状态。
    phys-campus-1# symrdf -g dg1 query
  5. 故障转移后,可交换执行过故障转移的 RDF 设备上的数据。
    phys-campus-1# symrdf -g dg1 swap
  6. 查看有关 RDF 设备的状态及其他信息。
    phys-campus-1# symrdf -g dg1 query
  7. 在主工作间中建立 SRDF 设备组。
    phys-campus-1# symrdf -g dg1 establish
  8. 确认设备组处于已同步状态且设备组类型为 RDF2。
    phys-campus-1# symrdf -g dg1 query
示例 5-6  主站点故障转移后手动恢复 EMC SRDF 数据

本示例提供在校园群集的主工作间发生故障转移、辅助工作间进行接管并记录数据,随后主工作间重新联机之后,手动恢复 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