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

管理基于存储的复制设备

您可以对 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 复制设备

下表列出了为设置 Hitachi TrueCopy 基于存储的复制设备而必须执行的任务。

表 5–2 任务表:管理 Hitachi TrueCopy 基于存储的复制设备

任务 

指导 

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

请参见 Hitachi 存储设备附带的文档。 

配置 Hitachi 复制组 

如何配置 Hitachi TrueCopy 复制组

配置 DID 设备 

如何配置 DID 设备以使用 Hitachi TrueCopy 进行复制

注册复制组 

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

检验配置  

如何检验 Hitachi TrueCopy 复制全局设备组配置

Procedure如何配置 Hitachi TrueCopy 复制组

开始之前

首先,在主群集的共享磁盘上配置 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 或原始磁盘)必须与所复制的设备组同名。


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

  2. horcm 条目添加到 /etc/services 文件中。


    horcm  9970/udp

    为新条目指定一个端口号和协议名称。

  3. /etc/horcm.conf 文件中指定 Hitachi TrueCopy 设备组的配置信息。

    有关说明,请参阅 TrueCopy 软件附带的文档。

  4. 在所有节点上运行 horcmstart.sh 命令以启动 TrueCopy CCI 守护进程。


    # /usr/bin/horcmstart.sh
  5. 如果尚未创建副本对,请立即创建。

    使用 paircreate 命令创建具有所需隔离级别的副本对。有关创建副本对的说明,请参阅 TrueCopy 文档。

  6. 在每个配置了复制设备的节点上,使用 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   -
  7. 检验所有节点是否均可对复制组进行控制。

    1. 使用 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) 设备的节点包含辅助副本。

    2. 在包含辅助副本的节点上运行 horctakeover 命令,使辅助节点成为主节点。


      # horctakeover -g group-name
      

      请先等初始数据完成复制操作之后,再继续执行下一步骤。

    3. 检验已执行 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   -
    4. 在最初包含主副本的节点上运行 horctakeover 命令。


      # horctakeover -g group-name
      
    5. 运行 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 进行复制中的说明,继续对复制设备进行配置。

Procedure如何配置 DID 设备以使用 Hitachi TrueCopy 进行复制

开始之前

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

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

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

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

  2. 确保所有节点上正在运行 horcm 守护进程。

    如果该守护进程未在运行,可使用以下命令来启动它。如果该守护进程已在运行,系统将显示一条消息。


    # /usr/bin/horcmstart.sh
  3. 运行 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) 设备的节点包含辅助副本。

  4. 在包含辅助副本(由上一步确定)的节点上,配置 DID 设备以用于基于存储的复制。

    此命令会将设备副本对的两个独立 DID 实例组合成单个逻辑 DID 实例。该单个实例使两端的卷管理软件都能够使用该设备。


    注意 – 注意 –

    如果有多个节点与辅助副本相连,请仅在这些节点中的一个节点上运行此命令。



    # cldevice replicate -D primary-replica-nodename -S secondary replica-nodename
    
    primary-replica-nodename

    指定包含主副本的远程节点的名称。

    -S

    指定源节点(非当前节点)。

    secondary replica-nodename

    指定包含辅助副本的远程节点的名称。


    注 –

    默认情况下,当前节点就是源节点。使用 -S 选项指定其他源节点。


  5. 检验是否已组合 DID 实例。


    # cldevice list -v logical_DID_device
    
  6. 检验是否已设置 TrueCopy 复制。


    # cldevice show logical_DID_device
    

    该命令输出应指出 TrueCopy 是复制类型。

  7. 如果 DID 重映射未能成功组合所有复制设备,请手动组合各个复制设备。


    注意 – 注意 –

    手动组合 DID 实例时要非常小心。重映射设备不当可导致数据受损。


    1. 在包含辅助副本的所有节点上运行 cldevice combine 命令。


      # cldevice combine -d destination-instance source-instance
      
      -d destination-instance

      与主副本相对应的远程 DID 实例。

      source-instance

      与辅助副本相对应的本地 DID 实例。

    2. 检验 DID 重映射是否成功。


      # cldevice list desination-instance source-instance
      

    屏幕上不应再列出其中一个 DID 实例。

  8. 在所有节点上,检验所有组合 DID 实例所对应的 DID 设备是否均可访问。


    # cldevice list -v
    
接下来的操作

要完成对复制设备组的配置,请执行以下过程中的步骤。

Procedure如何检验 Hitachi TrueCopy 复制全局设备组配置

开始之前

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


注意 – 注意 –

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


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

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

  1. 检验主设备组是否对应于包含主副本的同一节点。


    # pairdisplay -g group-name
    # cldevicegroup status -n nodename group-name
    
  2. 检验是否已为设备组设置复制属性。


    # cldevicegroup show -n nodename group-name
    
  3. 检验是否已为设备设置复制属性。


    # usr/cluster/bin/cldevice status [-s state] [-n node[,?]] [+| [disk-device ]]
    
  4. 尝试执行切换,确保设备组已正确配置,而且,副本可在节点之间移动。

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


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

    设备组被切换到的节点。该节点将成为新的主节点。

  5. 通过比较以下命令的输出内容检验切换操作是否成功。


    # pairdisplay -g group-name
    # cldevicegroup status -n nodename group-name
    

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

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

本示例要用到一个使用 TrueCopy 的三节点群集。群集跨两个远程站点分布,一个站点有两个节点,另一站点有一个节点。每个站点都有自己的 Hitachi 存储设备。

以下示例显示了每个节点上的 TrueCopy /etc/horcm.conf 配置文件。


示例 5–1 节点 1 上的 TrueCopy 配置文件


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


示例 5–2 节点 2 上的 TrueCopy 配置文件


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


示例 5–3 节点 3 上的 TrueCopy 配置文件


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 包含的是主副本。


示例 5–4 pairdisplay 命令在节点 1 上的输出


# 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  -


示例 5–5 pairdisplay 命令在节点 2 上的输出


# 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  -


示例 5–6 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-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 选项,如以下示例所示。


示例 5–7 pairdisplay 命令在节点 1 上的输出,显示已用磁盘


# 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  -


示例 5–8 pairdisplay 命令在节点 2 上的输出,显示已用磁盘


# 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  -


示例 5–9 pairdisplay 命令在节点 3 上的输出,显示已用磁盘


# 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  -

这些示例显示,系统正在使用以下磁盘:

要查看与这些磁盘相对应的 DID 设备,请使用 cldevice list 命令,如以下示例所示。


示例 5–10 显示与已用磁盘相对应的 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
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 实例时的输出。


示例 5–11 组合 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 设备,如下例所示。


示例 5–12 显示组合后的 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)发出此命令。使设备组与副本组具有相同的名称,如以下示例所示。


示例 5–13 创建 Solaris Volume Manager 设备组


# 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 命令在群集配置中将设备组标记为已复制。


示例 5–14 使切换和故障转移更有效


# 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 复制设备

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