Sun Cluster 系统管理指南(适用于 Solaris OS)

管理 EMC Symmetrix Remote Data Facility 复制设备

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

表 5–3 任务表:管理 EMC SRDF 基于存储的复制设备

任务 

指导 

在存储设备和节点上安装 SRDF 软件 

EMC 存储设备附带的文档。 

配置 EMC 复制组 

如何配置 EMC SRDF 复制组

配置 DID 设备  

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

注册复制组 

如何添加和注册设备组 (Solaris Volume Manager)如何将磁盘组注册为设备组 (Veritas Volume Manager(Veritas 卷管理器))

检验配置  

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

校园群集的主工作间彻底失败后,手动恢复数据 

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

Procedure如何配置 EMC SRDF 复制组

开始之前

在配置 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 或原始磁盘)必须与所复制的设备组同名。


  1. 在与存储阵列相连的所有节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

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

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


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

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

  4. 在配置有复制设备的每个节点上,检验数据复制设置是否正确。


    # /usr/symcli/bin/symdg show group-name
    
  5. 执行设备组交换。

    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
      
  6. 在原先具有主副本的节点上重复步骤 5 的所有内容。

接下来的操作

给 EMC SRDF 复制设备配置了设备组之后,您必须配置该复制设备所使用的设备标识符 (device identifier, DID) 驱动程序。

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

该过程将配置复制设备所使用的设备标识符 (device identifier, DID) 驱动程序。

开始之前

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

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B

  1. 在群集的任意一个节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 确定对应于已配置 RDF1 和 RDF2 设备的 DID 设备。


    # /usr/symcli/bin/symdg show group-name
    

    注 –

    如果系统不显示整个 Solaris 设备修补程序,请将环境变量 SYMCLI_FULL_PDEVNAME 设置为 1,然后重新键入 symdg -show 命令。


  3. 确定对应于 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 设备,请使用带有 -b 选项的 scdidadm 命令取消对两个 DID 设备的组合。


    # scdidadm -b device 
    
    -bdevice

    组合实例时对应于 destination_device 的 DID 实例。


  5. 如果复制设备组的名称发生更改,则对于 Hitachi TrueCopy 和 SRDF,需要执行其他步骤。在完成步骤 1 到 4 之后,请执行适当的附加步骤。

    项 

    描述 

    TrueCopy 

    如果复制设备组(以及相应的全局设备组)的名称发生更改,必须重新运行 cldevice replicate 命令以更新复制的设备信息。

    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 复制全局设备组配置。

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

开始之前

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


注意 – 注意 –

您创建的 Sun Cluster 设备组(Solaris Volume Manager、Veritas Volume Manager 或原始磁盘)必须与所复制的设备组同名。


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

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B

  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
    

示例:为 Sun Cluster 配置 SRDF 复制组

本示例用于完成在群集中设置 SRDF 复制所需执行的特定于 Sun Cluster 的步骤。本示例假定您已执行以下任务:

本示例涉及一个四节点群集,其中两个节点连接到一个 symmetrix,另外两个节点连接到第二个 symmetrix。SRDF 设备组名为 dg1


示例 5–15 创建副本对

在所有节点上运行以下命令。


# 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–16 检验数据复制设置

从群集中的一个节点上,键入:


# 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–17 显示与已用磁盘相对应的 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–18 组合 DID 实例

从 RDF2 端,键入:


# cldevice combine -t srdf -g dg1 -d d217 d108
# 


示例 5–19 显示组合后的 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

# 

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

此过程可在校园群集的主工作间彻底失败、故障转移至辅助工作间并且主工作间重新联机后,执行数据恢复。校园群集的主工作间是主要节点和存储站点。工作间彻底故障是指该工作间内的主机和存储同时故障。如果主工作间失败,Sun 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)。有关创建 Veritas Volume Manager(Veritas 卷管理器) 设备组的信息,请参见如何在封装磁盘时创建新磁盘组 (Veritas Volume Manager(Veritas 卷管理器))


注 –

这些说明演示了一种在主工作间完成故障转移并重新联机后手动恢复 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. 故障转移完成后,可交换位于执行故障转移的设备上的数据。


    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–20 主站点故障转移后手动恢复 EMC SRDF 数据

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