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

第 5 章 管理全局设备、磁盘路径监视和群集文件系统

本章介绍了有关管理全局设备、磁盘路径监视及群集文件系统的信息和具体过程。

有关本章中相关过程的概括性说明,请参见表 5–4

有关与全局设备、全局名称空间、设备组、磁盘路径监视和群集文件系统有关的概念性信息,请参见《Sun Cluster Concepts Guide for Solaris OS》

管理全局设备和全局名称空间概述

对 Sun Cluster 设备组的管理依赖于群集上所安装的卷管理器。Solaris Volume Manager 支持群集,因此您可以使用 Solaris Volume Manager metaset(1M) 命令添加、注册和删除设备组。如果使用 Veritas Volume Manager (VxVM),则可通过 VxVM 命令创建磁盘组。您可以使用 clsetup 实用程序将磁盘组注册为 Sun Cluster 设备组。删除 VxVM 设备组时,既可使用 clsetup 命令,也可使用 VxVM 命令。


注 –

对于 Solaris 10 OS,无法从全局群集非投票节点直接访问全局设备。


Sun Cluster 软件可自动为群集中的每个磁盘和磁带设备创建一个原始磁盘设备组。但是,群集设备组仍处于脱机状态,直到您将这些组作为全局设备访问。管理设备组或卷管理器磁盘组时,您需要在作为该组的主节点的群集节点上进行操作。

通常不需要管理全局设备名称空间。在安装过程中,系统会自动设置全局名称空间。而且,全局名称空间会在 Solaris OS 重新引导过程中自动更新。但是,如果需要更新全局名称空间,可从任意群集节点运行 cldevice populate 命令。该命令会导致在所有其他群集节点成员上以及将来可能加入群集的节点上更新全局名称空间。

Solaris Volume Manager 的全局设备许可

对于 Solaris Volume Manager 和磁盘设备,对全局设备权限所做的更改不会自动传播到群集中的所有节点。如果要更改全局设备的许可,必须手动更改群集中所有设备的许可。例如,如果要将全局设备 /dev/global/dsk/d3s0 上的权限更改为 644,必须在群集中的所有节点上发出以下命令:

# chmod 644 /dev/global/dsk/d3s0

VxVM 不支持 chmod 命令。要更改 VxVM 中的全局设备许可,请参阅 VxVM 管理员指南。

动态重新配置全局设备

在完成对群集中磁盘和磁带设备的动态重新配置 (Dynamic Reconfiguration, DR) 操作时,必须考虑以下问题。


注意 – 注意 –

如果当前的主节点在您正对辅助节点执行 DR 操作时出现故障,则会影响群集的可用性。主节点将无处可转移故障,直到为其提供了一个新的辅助节点。


要对全局设备执行 DR 操作,须按所示顺序完成下列步骤。

表 5–1 任务图:动态重新配置磁盘和磁带设备

任务 

参考 

1. 如果某项 DR 操作会影响活动设备组而且必须在当前主节点上执行,则在对设备执行 DR 删除操作之前应当先切换主节点和辅助节点 

如何切换设备组的主节点

2. 对要删除的设备执行 DR 删除操作 

"Solaris 9 on Sun Hardware" 和 "Solaris 10 on Sun Hardware" 文档集中的《Sun Enterprise 10000 DR 配置指南》和《Sun Enterprise 10000 Dynamic Reconfiguration Reference Manual》。

SPARC: Veritas Volume Manager 管理的注意事项

管理基于存储的复制设备

您可以对 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)SPARC: 如何将磁盘组注册为设备组 (Veritas Volume Manager)

检验配置  

如何检验 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 或原始磁盘)必须与所复制的设备组同名。


  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 命令检验数据复制的设置是否正确。


    # 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 DATA ,12345 29   -
    group-name pair1(R) (CL1-A , 0, 29)12345   29..S-VOL PAIR DATA ,----- 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 DATA ,12345 29   -
      group-name pair1(R) (CL1-A , 0, 29)12345   29..S-VOL PAIR DATA ,----- 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 DATA ,12345 29   -
      group-name pair1(R) (CL1-A , 0, 29)12345   29..P-VOL PAIR DATA ,----- 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 DATA ,12345 29   -
      group-name pair1(R) (CL1-A , 0, 29)12345   29..S-VOL PAIR DATA ,----- 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 DATA ,12345 29   -
    group-name pair1(R) (CL1-A , 0, 29)12345   29..S-VOL PAIR DATA ,----- 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 卷管理器设备组或原始磁盘设备组。有关创建 Solaris Volume Manager 设备组的信息,请参见如何添加和注册设备组 (Solaris Volume Manager)。有关创建 Veritas Volume Manager 设备组的信息,请参见SPARC: 如何在封装磁盘时创建新磁盘组 (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 DATA  ,-----    58  - 
VG01    pair1(R)    (CL1-C , 0,  9)20064   58..P-VOL PAIR DATA  ,61114    29  - 
VG01    pair2(L)    (CL1-A , 0, 30)61114   30..S-VOL PAIR DATA  ,-----    59  - 
VG01    pair2(R)    (CL1-C , 0, 10)20064   59..P-VOL PAIR DATA  ,61114    30  - 
VG01    pair3(L)    (CL1-A , 0, 31)61114   31..S-VOL PAIR DATA  ,-----    60  - 
VG01    pair3(R)    (CL1-C , 0, 11)20064   60..P-VOL PAIR DATA  ,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 DATA  ,-----    58  - 
VG01    pair1(R)    (CL1-C , 0,  9)20064   58..P-VOL PAIR DATA  ,61114    29  - 
VG01    pair2(L)    (CL1-A , 0, 30)61114   30..S-VOL PAIR DATA  ,-----    59  - 
VG01    pair2(R)    (CL1-C , 0, 10)20064   59..P-VOL PAIR DATA  ,61114    30  - 
VG01    pair3(L)    (CL1-A , 0, 31)61114   31..S-VOL PAIR DATA  ,-----    60  - 
VG01    pair3(R)    (CL1-C , 0, 11)20064   60..P-VOL PAIR DATA  ,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 DATA  ,61114    29  - 
VG01    pair1(R)    (CL1-A , 0, 29)61114   29..S-VOL PAIR DATA  ,-----    58  - 
VG01    pair2(L)    (CL1-C , 0, 10)20064   59..P-VOL PAIR DATA  ,61114    30  - 
VG01    pair2(R)    (CL1-A , 0, 30)61114   30..S-VOL PAIR DATA  ,-----    59  - 
VG01    pair3(L)    (CL1-C , 0, 11)20064   60..P-VOL PAIR DATA  ,61114    31  - 
VG01    pair3(R)    (CL1-A , 0, 31)61114   31..S-VOL PAIR DATA  ,-----    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 DATA  ,-----    58  - 
VG01 pair1(R) c5t50060E800000000000004E600000003Ad0s2 20064 58..P-VOL PAIR DATA  ,61114    29  - 
VG01 pair2(L) c6t500060E8000000000000EEBA0000001Ed0s2 61114 30..S-VOL PAIR DATA  ,-----    59  - 
VG01 pair2(R) c5t50060E800000000000004E600000003Bd0s2 0064  59..P-VOL PAIR DATA  ,61114    30  - 
VG01 pair3(L) c6t500060E8000000000000EEBA0000001Fd0s2 61114 31..S-VOL PAIR DATA  ,-----    60  - 
VG01 pair3(R) c5t50060E800000000000004E600000003Cd0s2 20064 60..P-VOL PAIR DATA  ,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 DATA  ,-----    58  -
VG01 pair1(R) c5t50060E800000000000004E600000003Ad0s2 20064 58..P-VOL PAIR DATA  ,61114    29  -
VG01 pair2(L) c5t500060E8000000000000EEBA0000001Ed0s2 61114 30..S-VOL PAIR DATA  ,-----    59  -
VG01 pair2(R) c5t50060E800000000000004E600000003Bd0s2 20064 59..P-VOL PAIR DATA  ,61114    30  -
VG01 pair3(L) c5t500060E8000000000000EEBA0000001Fd0s2 61114 31..S-VOL PAIR DATA  ,-----    60  -
VG01 pair3(R) c5t50060E800000000000004E600000003Cd0s2 20064 60..P-VOL PAIR DATA  ,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 DATA  ,61114    29  - 
VG01 pair1(R) c6t500060E8000000000000EEBA0000001Dd0s2 61114  29..S-VOL PAIR DATA  ,-----    58  - 
VG01 pair2(L) c5t50060E800000000000004E600000003Bd0s2 20064  59..P-VOL PAIR DATA  ,61114    30  - 
VG01 pair2(R) c6t500060E8000000000000EEBA0000001Ed0s2 61114  30..S-VOL PAIR DATA  ,-----    59  - 
VG01 pair3(L) c5t50060E800000000000004E600000003Cd0s2 20064  60..P-VOL PAIR DATA  ,61114    31  - 
VG01 pair3(R) c6t500060E8000000000000EEBA0000001Fd0s2 61114  31..S-VOL PAIR DATA  ,-----    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 Symmetrix Remote Data Facility 复制组

配置 DID 设备  

如何使用 EMC Symmetrix Remote Data Facility (SRDF) 给复制配置 DID 设备

注册复制组 

如何添加和注册设备组 (Solaris Volume Manager)SPARC: 如何将磁盘组注册为设备组 (Veritas Volume Manager)

检验配置  

如何检验 EMC Symmetrix Remote Data Facility (SRDF) 复制全局设备组配置

Procedure如何配置 EMC Symmetrix Remote Data Facility 复制组

开始之前

在配置 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 Symmetrix Remote Data Facility (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 Symmetrix Remote Data Facility (SRDF) 复制全局设备组配置

开始之前

在检验全局设备组之前,必须先创建它。有关创建 Solaris Volume Manager 设备组的信息,请参见如何添加和注册设备组 (Solaris Volume Manager)。有关创建 Veritas Volume Manager 设备组的信息,请参见SPARC: 如何在封装磁盘时创建新磁盘组 (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

# 

管理群集文件系统概述

群集文件系统管理不需要特殊的 Sun Cluster 命令。可以使用标准 Solaris 文件系统命令(如 mountnewfs),像管理其他任何 Solaris 文件系统一样来管理群集文件系统。可以通过为 mount 命令指定 -g 选项来挂载群集文件系统。也可以在引导时自动挂载群集文件系统。只有在全局群集中的投票节点才能看到群集文件系统。如果需要从非投票节点访问群集文件系统数据,可使用 zoneadm(1M)HAStoragePlus 将数据映射到非投票节点。


注 –

群集文件系统在读取文件时,文件系统并不更新这些文件的访问时间。


群集文件系统限制

以下限制适用于群集文件系统的管理:

SPARC: VxFS 支持指南

Sun Cluster 3.2 群集文件系统不支持以下 VxFS 功能。但是本地文件系统支持这些功能。

高速缓存顾问可以使用,但只能在给定的节点上观察到其效果。

对于在群集文件系统中支持的其他所有 VxFS 功能和选项,在 Sun Cluster 3.2 软件中同样受支持。有关群集配置中支持的 VxFS 选项的详细信息,请参见 VxFS 文档。

以下有关使用 VxFS 创建高可用群集文件系统的指导专门针对 Sun Cluster 3.2 配置。

以下有关管理 VxFS 群集文件系统的指导不是专门针对 Sun Cluster 3.2 软件的。但是,这些指导信息与您管理 UFS 群集文件系统的方式会有所不同。

管理设备组

随着群集要求的变化,您可能需要在群集中添加、删除或修改设备组。为此,Sun Cluster 提供了一个名为 clsetup 的交互式界面。您可以在该界面中进行这些更改。clsetup 可生成 cluster 命令。生成的命令显示在某些过程结尾部分的示例中。下表列出了用于管理设备组的各项任务,并提供了指向本节中相应操作过程的链接。


注意 – 注意 –

如果其他节点是活动群集成员并且至少其中的一个节点拥有磁盘集,请勿在群集之外引导的群集节点上运行 metaset —s setname —f -t



注 –

Sun Cluster 软件可自动为群集中的每个磁盘和磁带设备创建一个原始磁盘设备组。但是,群集设备组仍处于脱机状态,直到您将这些组作为全局设备访问。


表 5–4 任务图:管理设备组

任务 

指导 

使用 cldevice populate 命令在不进行重新配置重新引导的情况下更新全局设备名称空间

如何更新全局设备名称空间

使用 metaset 命令添加 Solaris Volume Manager 磁盘集并将其注册为设备组

如何添加和注册设备组 (Solaris Volume Manager)

使用 metaset metaclear 命令从配置中删除 Solaris Volume Manager 设备组

如何删除和取消注册设备组 (Solaris Volume Manager)

使用 cldevicegroupmetasetclsetup 命令从所有设备组中删除一个节点

如何从所有设备组中删除节点

使用 metaset 命令从 Solaris Volume Manager 设备组中删除一个节点

如何将节点从设备组中删除 (Solaris Volume Manager)

SPARC:使用 VxVM 命令和 clsetup 将 Veritas Volume Manager 磁盘组添加为设备组

SPARC: 如何在初始化磁盘时创建新磁盘组 (Veritas Volume Manager)

SPARC: 如何在封装磁盘时创建新磁盘组 (Veritas Volume Manager)

SPARC: 如何向现有设备组添加新卷 (Veritas Volume Manager)

SPARC: 如何将现有磁盘组转换为设备组 (Veritas Volume Manager)

SPARC: 如何给设备组分配新的从设备号 (Veritas Volume Manager)

SPARC: 如何将磁盘组注册为设备组 (Veritas Volume Manager)

如何将本地磁盘组转换为设备组 (VxVM)

如何将设备组转换为本地磁盘组 (VxVM)

SPARC: 如何注册磁盘组的配置更改 (Veritas Volume Manager)

SPARC:使用 clsetup 命令(用于生成 cldevicegroup)从配置中删除 Veritas Volume Manager 设备组

SPARC: 如何从设备组中删除卷 (Veritas Volume Manager)

SPARC: 如何删除和取消注册设备组 (Veritas Volume Manager)

SPARC:使用 clsetup 命令生成 cldevicegroup 来向 Veritas Volume Manager 设备组中添加一个节点

SPARC: 如何向设备组添加节点 (Veritas Volume Manager)

SPARC:使用 clsetup 命令生成 cldevicegroup 来从 Veritas Volume Manager 设备组中删除一个节点

SPARC: 如何从设备组中删除节点 (Veritas Volume Manager)

使用 cldevicegroup 命令从原始磁盘设备组中删除一个节点

如何从原始磁盘设备组中删除节点

使用 clsetup 命令生成 cldevicegroup 来更改设备组的属性

如何更改设备组属性

使用 cldevicegroup show 命令显示设备组及其属性

如何列出设备组配置

使用 clsetup 生成 cldevicegroup 来更改设备组所需的辅助节点数量

如何设置设备组所需的辅助节点数

使用 cldevicegroup switch 命令切换设备组的主节点

如何切换设备组的主节点

使用 metasetvxdg 命令将设备组置于维护状态

如何将设备组置于维护状态

Procedure如何更新全局设备名称空间

当添加新的全局设备时,请通过运行 cldevice populate 命令手动更新全局设备名称空间。


注 –

如果运行 cldevice populate 命令的节点当前不是群集成员,则该命令没有任何效果。如果未挂载 /global/.devices/node@ nodeID 文件系统,则该命令也没有任何效果。


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

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

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

  2. 在群集的每个节点上,运行 devfsadm(1M) 命令。

    您可以同时在群集的所有节点上运行此命令。

  3. 重新配置名称空间。


    # cldevice populate
    
  4. 在每个节点上,先检验 cldevice populate 命令是否已完成,然后再尝试创建磁盘集。

    cldevice 命令会在所有节点上远程调用其自身,即使该命令仅从一个节点上运行也是如此。要确定 cldevice populate 命令是否已完成处理过程,请在群集的每个节点上运行以下命令。


    # ps -ef | grep scgdevs
    

示例 5–20 更新全局设备名称空间

以下示例显示了成功运行 cldevice populate 命令后生成的输出。


# devfsadm
cldevice populate 
Configuring the /dev/global directory (global devices)...
obtaining access to all attached disks
reservation program successfully exiting
# ps -ef | grep scgdevs

Procedure如何添加和注册设备组 (Solaris Volume Manager)

使用 metaset 命令可创建 Solaris Volume Manager 磁盘集并将该磁盘集注册为 Sun Cluster 设备组。注册磁盘集时,系统会将您指定给磁盘集的名称自动指定给设备组。

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

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


注意 – 注意 –

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


  1. 在与磁盘(您要在这些磁盘上创建磁盘集)相连的节点中的一个节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 仅限 SPARC:Solaris 9:计算配置所需的 Solstice DiskSuite 元设备或 Solaris Volume Manager 卷的名称的数目,并修改每个节点上的 /kernel/drv/md.conf 文件。如果运行的是 Solaris 10,则无需执行此步骤。

    请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“如何设置元设备或卷名称以及磁盘集的数目”。

  3. 添加 Solaris Volume Manager 磁盘集并将其注册为 Sun Cluster 设备组。要创建多属主磁盘组,请使用 –M 选项。


    # metaset -s diskset -a -M -h nodelist
    
    -sdiskset

    指定要创建的磁盘集。

    -a -h nodelist

    添加一组可以主控磁盘集的节点。

    -M

    将磁盘组指定为多属主。


    注 –

    如果运行 metaset 命令在群集上建立 Solstice DiskSuite/Solaris Volume Manager 设备组,则默认情况下,无论该设备组中包含多少个节点,都会生成一个辅助节点。创建了设备组之后,您可以使用 clsetup 实用程序更改所需辅助节点数。有关磁盘故障转移的更多信息,请参阅如何设置设备组所需的辅助节点数


  4. 如果正在配置一个复制设备组,请为设备组设置复制属性。


    # cldevicegroup sync devicegroup
    
  5. 检验是否已添加设备组。

    设备组名称与使用 metaset 命令指定的磁盘集名称相符。


    # cldevicegroup list
    
  6. 列出 DID 映射。


    # cldevice show | grep Device
    
    • 选择由将要控制或可能要控制磁盘集的群集节点共享的驱动器。

    • 向磁盘集添加驱动器时,请使用格式为 /dev/did/rdsk/d N 的完整 DID 设备名称。

    在下面的示例中,DID 设备 /dev/did/rdsk/d3 的条目表明 phys-schost-1phys-schost-2 正在共享该驱动器。


    === DID Device Instances ===                   
    DID Device Name:                                /dev/did/rdsk/d1
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t0d0
    DID Device Name:                                /dev/did/rdsk/d2
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t6d0
    DID Device Name:                                /dev/did/rdsk/d3
      Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
      Full Device Path:                               phys-schost-2:/dev/rdsk/c1t1d0
    …
  7. 将驱动器添加到磁盘集。

    使用完整的 DID 路径名称。


    # metaset -s setname -a /dev/did/rdsk/dN
    
    -s setname

    指定磁盘集的名称,该名称与设备组名称相同。

    -a

    给磁盘集添加驱动器。


    注 –

    在向磁盘集添加驱动器时,请不要使用低级别的设备名称 ( cNtX dY)。因为低级别设备名称是本地名称,并且在群集中不是唯一的,使用该名称可能使元集无法切换。


  8. 检验磁盘集和驱动器的状态。


    # metaset -s setname
    

示例 5–21 添加 Solaris Volume Manager 设备组

以下示例显示了如何使用磁盘驱动器 /dev/did/rdsk/d1/dev/did/rdsk/d2 创建磁盘集和设备组,以及如何检验设备组是否已创建。


# metaset -s dg-schost-1 -a -h phys-schost-1

# cldevicegroup list
dg-schost-1 
metaset -s dg-schost-1 -a /dev/did/rdsk/d1 /dev/did/rdsk/d2

如何删除和取消注册设备组 (Solaris Volume Manager)

设备组是已经向 Sun Cluster 注册的 Solaris Volume Manager 磁盘集。要删除一个 Solaris Volume Manager 设备组,请使用 metaclearmetaset 命令。这些命令可删除同名的设备组,并注销磁盘组,使之不再是 Sun Cluster 设备组。

有关删除磁盘集的步骤,请参阅 Solaris Volume Manager文档。

Procedure如何从所有设备组中删除节点

使用此过程可将一个群集节点从所有在其潜在主节点列表中列出该节点的设备组中删除。

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

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

  1. 在要删除的作为所有设备组的潜在主节点的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 确定成员是要删除的节点的一个或多个设备组。

    在每个设备组的 Device group node list 中查找该节点名称。


    # cldevicegroup list -v
    
  3. 如果步骤 2 中标识的设备组中有任何 SVM 类型的设备组,请对每个该类型的设备组执行如何将节点从设备组中删除 (Solaris Volume Manager)中的步骤。

  4. 如果步骤 2 中标识的设备组中有任何 VxVM 类型的设备组,请对每个该类型的设备组执行SPARC: 如何从设备组中删除节点 (Veritas Volume Manager)中的步骤。

  5. 确定成员是要删除的节点的原始设备磁盘组。


    # cldevicegroup list -v
    
  6. 如果步骤 5 中所列设备组中有任何 DiskLocal_Disk 类型的设备组,请对所有这些设备组执行如何从原始磁盘设备组中删除节点中的步骤。

  7. 检验是否已将该节点从所有设备组的潜在主节点列表中删除。

    如果该节点不再被列为任何设备组的潜在主节点,则以下命令不返回任何内容。


    # cldevicegroup list -v nodename
    

Procedure如何将节点从设备组中删除 (Solaris Volume Manager)

使用此过程可将一个群集节点从 Solaris Volume Manager 设备组的潜在主节点列表中删除。对每个要从中删除该节点的设备组执行 metaset 命令。


注意 – 注意 –

如果其他节点是活动群集成员并且至少其中的一个节点拥有磁盘集,则请勿在群集之外引导的群集节点上运行 metaset —s setname —f -t


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

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

  1. 检验该节点是否仍是设备组的成员,且该设备组是否是 Solaris Volume Manager 设备组。

    设备组类型 SDS/SVM 指示 Solaris Volume Manager 设备组。


    phys-schost-1% cldevicegroup show devicegroup
    
  2. 确定哪个节点是设备组当前的主节点。


    # cluster status -t devicegroup
    
  3. 成为当前拥有要修改的设备组的节点上的超级用户。

  4. 将该节点的主机名从设备组中删除。


    # metaset -s setname -d -h nodelist
    
    -ssetname

    指定设备组的名称。

    -d

    从设备组中删除以 -h 标识的节点。

    -h nodelist

    指定将要删除的一个或多个节点的节点名称。


    注 –

    完成更新可能需要几分钟。


    如果该命令失败,请在命令中增加 -f(强制)选项。


    # metaset -s setname -d -f -h nodelist
    
  5. 对每个将要从中删除作为潜在主节点的节点的设备组执行步骤 4

  6. 检验该节点是否已从设备组中删除。

    设备组名称与使用 metaset 命令指定的磁盘集名称相符。


    phys-schost-1% cldevicegroup list -v devicegroup
    

示例 5–22 从设备组中删除一个节点 (Solaris Volume Manager)

下面的示例显示了如何从设备组配置中删除主机名 phys-schost-2。本示例消除了 phys-schost-2 成为指定设备组的潜在主节点的可能性。可运行 cldevicegroup show 命令检验节点是否已删除。检查删除的节点是否不再显示在屏幕文本中。


[Determine the Solaris Volume Manager
 device group for the node:]
# cldevicegroup show dg-schost-1
=== Device Groups ===                          

Device Group Name:                    dg-schost-1
  Type:                                 SVM
  failback:                             no
  Node List:                            phys-schost-1, phys-schost-2
  preferenced:                          yes
  numsecondaries:                       1
  diskset name:                         dg-schost-1
[Determine which node is the current primary for the device group:]
# cldevicegroup status dg-schost-1
=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary         Secondary      Status
-----------------    -------         ---------      ------
dg-schost-1          phys-schost-1   phys-schost-2  Online
[Become superuser on the node that currently owns the device group.]
[Remove the host name from the device group:]
# metaset -s dg-schost-1 -d -h phys-schost-2
[Verify removal of the node:]]
phys-schost-1% cldevicegroup list -v dg-schost-1
=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary         Secondary      Status
-----------------    -------         ---------      ------
dg-schost-1          phys-schost-1   -              Online

Procedure如何在群集中创建三个以上的磁盘集

如果正在运行 Solaris 9 并打算在群集中创建三个以上的磁盘集,请在创建磁盘集前先执行以下步骤。如果您运行的是 Solaris 10,则无需执行此过程。如果您是首次安装磁盘集,或者要向完全配置的群集中添加更多磁盘集,请执行下列步骤:

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

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

  1. 确保 md_nsets 变量的值足够高。该值应当与所要在群集中创建的磁盘集总数相适应。

    1. 在群集的任何节点上,检查 /kernel/drv/md.conf 文件中的 md_nsets 变量的值。

    2. 如果群集中磁盘集的数目大于 md_nsets 的现有值减一,请在每个节点上增加 md_nsets 的值。

      允许的最大磁盘集数是 md_nsets 的值减一。md_nsets 可能的最大值是 32。

    3. 确保 /kernel/drv/md.conf 文件在群集的每个节点上都完全相同。


      注意 – 注意 –

      不按本指南操作可能导致严重的 Solaris Volume Manager 错误并且可能丢失数据。


    4. 从一个节点,关闭群集。


      # cluster shutdown -g0 -y
      
    5. 重新引导群集中的每个节点。

      • 在基于 SPARC 的系统上,运行以下命令。


        ok boot
        
      • 在基于 x86 的系统上,运行以下命令。

        显示 GRUB 菜单后,选择相应的 Solaris 条目,然后按 Enter 键。GRUB 菜单显示类似于如下所示的内容:


        GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
        +-------------------------------------------------------------------------+
        | Solaris 10 /sol_10_x86                                                  |
        | Solaris failsafe                                                        |
        |                                                                         |
        +-------------------------------------------------------------------------+
        Use the ^ and v keys to select which entry is highlighted.
        Press enter to boot the selected OS, 'e' to edit the
        commands before booting, or 'c' for a command-line.
  2. 在群集的每个节点上,运行 devfsadm(1M) 命令。

    您可以同时在群集的所有节点上运行此命令。

  3. 从群集的一个节点上运行 cldevice populate 命令。

  4. 在每个节点上,先检验 cldevice populate 命令是否已完成,然后再尝试创建磁盘集。

    cldevice 命令会在所有节点上远程调用其自身,即使该命令仅从一个节点上运行也是如此。要确定 cldevice populate 命令是否已完成处理过程,请在群集的每个节点上运行以下命令。


    # ps -ef | grep scgdevs
    

ProcedureSPARC: 如何在初始化磁盘时创建新磁盘组 (Veritas Volume Manager)


注 –

此过程仅用于初始化磁盘。如果要封装磁盘,请执行SPARC: 如何在封装磁盘时创建新磁盘组 (Veritas Volume Manager)中所述的过程。


添加 VxVM 磁盘组后,您需要注册该设备组。

如果使用 VxVM 为 Oracle RAC 建立共享磁盘组,则使用《Veritas Volume Manager Administrator's Reference Guide》中所述的 VxVM 群集功能。

  1. 在组成所添加磁盘组的磁盘物理连接的任何群集节点上成为超级用户。

  2. 创建 VxVM 磁盘组和卷。

    使用您的首选方法创建磁盘组和卷。


    注 –

    如果安装的是镜像卷,则可以用脏区记录 (DRL) 缩短出现节点故障时的卷恢复时间。但是,使用 DRL 可能减少 I/O 吞吐量。


    有关完成此步操作的过程,请参阅 Veritas Volume Manager 文档。

  3. 将 VxVM 磁盘组注册为 Sun Cluster 设备组。

    请参见SPARC: 如何将磁盘组注册为设备组 (Veritas Volume Manager)

    不要在群集框架中注册 Oracle RAC 共享磁盘组。

ProcedureSPARC: 如何在封装磁盘时创建新磁盘组 (Veritas Volume Manager)


注 –

此过程仅用于封装磁盘。如果要初始化磁盘,请执行SPARC: 如何在初始化磁盘时创建新磁盘组 (Veritas Volume Manager)中所述的过程。


您可以将非根磁盘转换成 Sun Cluster 设备组,方法是将磁盘封装为 VxVM 磁盘组,然后再将这些磁盘组注册为 Sun Cluster 设备组。

只有在最初创建 VxVM 磁盘组时,才支持磁盘封装。创建了 VxVM 磁盘组并将其注册为 Sun Cluster 设备组之后,只有能进行初始化的磁盘才应添加到磁盘组中。

如果使用 VxVM 为 Oracle RAC 建立共享磁盘组,则使用《Veritas Volume Manager Administrator's Reference Guide》中所述的 VxVM 群集功能。

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

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

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

  2. 如果所要封装的磁盘在 /etc/vfstab 文件中有文件系统条目,请确保将 mount at boot 选项设置为 no

    在封装了磁盘并将其注册为 Sun Cluster 设备组之后,再设置回 yes

  3. 封装磁盘。

    使用 vxdiskadm 菜单或图形用户界面来封装磁盘。VxVM 要求在磁盘的开始或尾部有两个可用分区和未分配的柱面。第 2 片还必须设置到整个磁盘。有关详细信息,请参见 vxdiskadm 手册页。

  4. 关闭并重新启动节点。

    clnode evacuate 命令可将指定节点上的所有资源组和设备组(包括全局群集中的所有非投票节点)切换到下一个首选节点。使用 shutdown 命令可以关闭并重新启动节点。


    # clnode evacuate  node[,...]
    # shutdown -g0 -y -i6
    
  5. 如有必要,可将所有的资源组和设备组切换回原节点。

    如果资源组和设备组最初配置为故障恢复回主节点,则无需执行此步骤。


    # cldevicegroup switch -n node devicegroup 
    # clresourcegroup switch -z zone -n node resourcegroup 
    
    node

    节点名称。

    zone

    可控制资源组的非投票节点 node 的名称。只有在创建资源组时指定了非投票节点的情况下,才能指定 zone

  6. 将 VxVM 磁盘组注册为 Sun Cluster 设备组。

    请参见SPARC: 如何将磁盘组注册为设备组 (Veritas Volume Manager)

    不要在群集框架中注册 Oracle RAC 共享磁盘组。

  7. 如果您在步骤 2 中将 mount at boot 选项设置为 no ,请将其设置回 yes

ProcedureSPARC: 如何向现有设备组添加新卷 (Veritas Volume Manager)

当您向现有 VxVM 设备组中添加一个新卷时,请从联机设备组的主节点执行此过程。


注 –

添加完卷后,您需要通过执行SPARC: 如何注册磁盘组的配置更改 (Veritas Volume Manager)中的过程来注册配置更改。


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

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

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

  2. 确定要向其中添加新卷的设备组的主节点。


    # cldevicegroup status
    
  3. 如果设备组脱机,请将其联机。


    # cldevicegroup switch -n nodename devicegroup
    
    nodename

    指定要将设备组切换到的节点的名称。该节点将成为新的主节点。

    devicegroup

    指定要切换的设备组。

  4. 从主节点(即当前控制着设备组的节点)上创建磁盘组中的 VxVM 卷。

    有关用于创建 Veritas Volume Manager 卷的过程,请参阅 VxVM 文档。

  5. 同步 VxVM 磁盘组的更改,以更新全局名称空间。

    # cldevicegroup sync

    SPARC: 如何注册磁盘组的配置更改 (Veritas Volume Manager)

ProcedureSPARC: 如何将现有磁盘组转换为设备组 (Veritas Volume Manager)

您可以通过将现有的 VxVM 磁盘组导入当前节点,然后再将其注册为 Sun Cluster 设备组,将该磁盘组转换为 Sun Cluster 设备组。

  1. 成为群集中任一个节点的超级用户。

  2. 将 VxVM 磁盘组导入当前节点。


    # vxdg import diskgroup
    
  3. 将 VxVM 磁盘组注册为 Sun Cluster 设备组。

    请参见SPARC: 如何将磁盘组注册为设备组 (Veritas Volume Manager)

ProcedureSPARC: 如何给设备组分配新的从设备号 (Veritas Volume Manager)

如果设备组注册因为从设备号与其他磁盘组冲突而失败,您必须为新磁盘组分配一个新的未使用的从设备号。分配了新的从设备号后,请重新运行该过程,将磁盘组注册为 Sun Cluster 设备组。

  1. 成为群集中任一个节点的超级用户。

  2. 确定正在使用的从设备号。


    # ls -l /global/.devices/node@nodeid/dev/vx/dsk/*
    
  3. 选择当前尚未使用的、1000 的其他倍数作为该新磁盘组的基本从设备号。

  4. 为磁盘组指定新的从设备号。


    # vxdg reminor diskgroup base-minor-number
    
  5. 将 VxVM 磁盘组注册为 Sun Cluster 设备组。

    请参见SPARC: 如何将磁盘组注册为设备组 (Veritas Volume Manager)


示例 5–23 SPARC: 如何为设备组分配一个新的从设备号

本示例使用从设备号 16000-16002 和 4000-4001。vxdg reminor 命令用于将基本从设备号 5000 分配给新的设备组。


# ls -l /global/.devices/node@nodeid/dev/vx/dsk/*

/global/.devices/node@nodeid/dev/vx/dsk/dg1
brw-------   1 root     root      56,16000 Oct  7 11:32 dg1v1
brw-------   1 root     root      56,16001 Oct  7 11:32 dg1v2
brw-------   1 root     root      56,16002 Oct  7 11:32 dg1v3
 
/global/.devices/node@nodeid/dev/vx/dsk/dg2
brw-------   1 root     root      56,4000 Oct  7 11:32 dg2v1
brw-------   1 root     root      56,4001 Oct  7 11:32 dg2v2
# vxdg reminor dg3 5000

ProcedureSPARC: 如何将磁盘组注册为设备组 (Veritas Volume Manager)

此过程使用 clsetup 实用程序将关联的 VxVM 磁盘组注册为 Sun Cluster 设备组。


注 –

一旦在群集中注册了设备组,请勿使用 VxVM 命令导入或导出 VxVM 磁盘组。如果对 VxVM 磁盘组或卷进行了更改,请按照SPARC: 如何注册磁盘组的配置更改 (Veritas Volume Manager)中的过程对设备组的配置更改进行注册。该过程可确保全局名称空间处于正确的状态。


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

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

开始之前

在注册 VxVM 设备组之前,请确保具备以下先决条件:

此外,定义首选顺序时,您还需指定,如果第一首选节点发生故障但稍后又回到群集中,是否应将设备组重新切换回该节点。

有关节点首选项和故障恢复选项的更多信息,请参见cldevicegroup(1CL)

非主群集节点(备用节点)将根据节点首选顺序向辅助节点过渡。通常,设备组的默认辅助节点数为 1。该默认设置可使正常运行期间多个辅助节点的主检查点操作对性能的影响降至最小。例如,在包含四个节点的群集中,默认情况下,系统配置一个主节点、一个辅助节点和两个备用节点。另请参见如何设置设备组所需的辅助节点数

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    将显示主菜单。

  3. 要使用 VxVM 设备组,请键入与 "Device groups and volumes" 选项相对应的编号。

    将显示 "Device Groups" 菜单。

  4. 要注册 VxVM 设备组,请键入与将 VxVM 磁盘组注册为设备组的选项相对应的编号。

    按照说明进行操作,并键入要注册为 Sun Cluster 设备组的 VxVM 磁盘组的名称。

    如果该设备组是通过基于存储的复制过程复制的,则此名称必须与复制组的名称相符。

    如果您使用 VxVM 为 Oracle Parallel Server/Oracle RAC 设置共享磁盘组,请不要在群集框架中注册该共享磁盘组。请使用 VxVM 的群集功能,如《Veritas Volume Manager Administrator's Reference Guide》中所述。

  5. 如果在尝试注册设备组时遇到以下错误,请重新为该设备组分配从设备号。


    scconf: Failed to add device group - in use

    要重新为设备组分配从设备号,请按照SPARC: 如何给设备组分配新的从设备号 (Veritas Volume Manager)中的过程操作。此过程使您能够分配一个新的、不与现有设备组所使用的从设备号冲突的从设备号。

  6. 如果正在配置一个复制设备组,请为设备组设置复制属性。


    # cldevicegroup sync devicegroup
    
  7. 检验设备组是否已注册并处于联机状态。

    如果正确注册了设备组,则使用以下命令时将显示新设备组的信息。


    # cldevicegroup status devicegroup
    

    注 –

    如果对已在群集中注册的 VxVM 磁盘组或卷的任何配置信息进行了更改,必须使用 clsetup 对设备组进行同步。这样的配置更改包括添加或删除卷,以及更改现有卷的组、属主或许可。配置更改后的注册将确保全局名称空间处于正确的状态。请参见如何更新全局设备名称空间



示例 5–24 SPARC: 注册 Veritas Volume Manager 设备组

以下示例显示了当 clsetup 注册 VxVM 设备组 (dg1) 时生成的 cldevicegroup 命令,以及检验步骤。此示例假定 VxVM 磁盘组和卷为以前创建的磁盘组和卷。


# clsetup

# cldevicegroup create -t vxvm -n phys-schost-1,phys-schost-2 -p failback=true dg1


# cldevicegroup status dg1

=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary        Secondary      Status
-----------------    -------        ---------      ------
dg1                  phys-schost-1  phys-schost-2  Online

另请参见

要在 VxVM 设备组上创建群集文件系统,请参见如何添加群集文件系统

如果从设备号有问题,请参见SPARC: 如何给设备组分配新的从设备号 (Veritas Volume Manager)

ProcedureSPARC: 如何注册磁盘组的配置更改 (Veritas Volume Manager)

更改 VxVM 磁盘组或卷的任何配置信息后,都需要注册相应 Sun Cluster 设备组的配置更改。通过注册可确保全局名称空间处于正确的状态。

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    将显示主菜单。

  3. 要使用 VxVM 设备组,请键入与 "Device groups and volumes" 选项相对应的编号。

    将显示 "Device Groups" 菜单。

  4. 要注册配置更改,请键入与同步 VxVM 设备组的卷信息的选项相对应的编号。

    按照说明进行操作,并键入已更改了配置的 VxVM 磁盘组的名称。


示例 5–25 SPARC: 注册 Veritas Volume Manager 磁盘组配置更改

以下示例显示了当 clsetup 注册一个已更改的 VxVM 设备组 (dg1) 时所生成的 cldevicegroup 命令。此示例假定 VxVM 磁盘组和卷为以前创建的磁盘组和卷。


# clsetup
 
cldevicegroup sync dg1

Procedure如何将本地磁盘组转换为设备组 (VxVM)

执行此过程可将本地 VxVM 磁盘组更改为可在全局范围访问的 VxVM 设备组。

  1. 成为群集中一个节点上的超级用户。

  2. 启动 clsetup 实用程序


    # clsetup
    
  3. 取消对 localonly 属性的设置。

    1. 选择菜单项 "Device groups and volumes"。

    2. 选择菜单项 "Reset a local VxVM disk group to a VxVM device group"。

    3. 按照说明来取消对 localonly 属性的设置。

  4. 指定可对磁盘组进行控制的节点。

    1. 返回 clsetup 实用程序的主菜单。

    2. 选择菜单项 "Device groups and volumes"。

    3. 选择菜单项 "Register a diskgroup"。

    4. 按照说明指定可对磁盘组进行控制的节点。

    5. 完成后,退出 clsetup 实用程序。

  5. 检验是否已配置设备组。


    phys-schost# cldevicegroup show
    

Procedure如何将设备组转换为本地磁盘组 (VxVM)

执行此过程可将 VxVM 设备组更改为不受 Sun Cluster 软件管理的本地 VxVM 磁盘组。本地磁盘组可在节点列表中包含多个节点,但它在某一时刻只受一个节点控制。

  1. 成为群集中一个节点上的超级用户。

  2. 使设备组脱机。


    phys-schost# cldevicegroup offline devicegroup
    
  3. 取消注册设备组。

    1. 启动 clsetup 实用程序。


      phys-schost# clsetup
      
    2. 选择菜单项 "Device groups and volumes"。

    3. 选择菜单项 "Unregister a VxVM disk group"。

    4. 按照说明指定要从 Sun Cluster 软件中取消注册的 VxVM 磁盘组。

    5. 退出 clsetup 实用程序。

  4. 确认该磁盘组不再向 Sun Cluster 软件注册。


    phys-schost# cldevicegroup status
    

    命令输出中不应再显示已取消注册的设备组。

  5. 导入磁盘组。


    phys-schost# vxdg import diskgroup
    
  6. 设置磁盘组的 localonly 属性。

    1. 启动 clsetup 实用程序。


      phys-schost# clsetup
      
    2. 选择菜单项 "Device groups and volumes"。

    3. 选择菜单项 "Set a VxVM disk group as a local disk group"。

    4. 按照说明设置 localonly 属性,并指定要独自控制磁盘组的单个节点。

    5. 完成后,退出 clsetup 实用程序。

  7. 检验磁盘组是否已成功配置为本地磁盘组。


    phys-schost# vxdg list diskgroup
    

ProcedureSPARC: 如何从设备组中删除卷 (Veritas Volume Manager)


注 –

从设备组中删除卷后,您必须执行SPARC: 如何注册磁盘组的配置更改 (Veritas Volume Manager)中的过程对设备组的配置更改进行注册。


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

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

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

  2. 确定设备组的主节点和状态。


    # cldevicegroup status devicegroup
    
  3. 如果设备组处于脱机状态,请使其联机。


    # cldevicegroup online devicegroup
    
  4. 从主节点(即当前控制设备组的节点)上删除磁盘组中的 VxVM 卷。


    # vxedit -g diskgroup -rf rm volume
    
    -gdiskgroup

    指定包含该卷的 VxVM 磁盘组。

    -rf rm volume

    删除指定的卷。-r 选项使操作具有递归性。-f 选项是删除已启用的卷所必需的。

  5. 使用 clsetup 实用程序注册设备组的配置更改,从而更新全局名称空间。

    请参见SPARC: 如何注册磁盘组的配置更改 (Veritas Volume Manager)

ProcedureSPARC: 如何删除和取消注册设备组 (Veritas Volume Manager)

删除 Sun Cluster 设备组会使相应的 VxVM 磁盘组被导出,而不是被销毁。但是,除非重新注册,否则,即使 VxVM 磁盘组依然存在,也无法在群集中使用。

此过程使用 clsetup 实用程序删除 VxVM 磁盘组,并取消其作为 Sun Cluster 设备组的注册。

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

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

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

  2. 使设备组脱机。


    # cldevicegroup offline devicegroup
    
  3. 启动 clsetup 实用程序。


    # clsetup
    

    将显示主菜单。

  4. 要使用 VxVM 设备组,请键入与 "Device groups and volumes" 选项相对应的编号。

    将显示 "Device Groups" 菜单。

  5. 要取消注册 VxVM 磁盘组,请键入与取消注册 VxVM 设备组的选项相对应的编号。

    按照说明进行操作,并键入要取消注册的 VxVM 磁盘组的名称。


示例 5–26 SPARC: 删除并取消注册 Veritas Volume Manager 设备组

以下示例显示了脱机的 VxVM 设备组 dg1,以及当 clsetup 删除并取消注册设备组时所生成的 cldevicegroup 命令。


# cldevicegroup offline dg1
# clsetup

   cldevicegroup delete dg1

ProcedureSPARC: 如何向设备组添加节点 (Veritas Volume Manager)

此过程使用 clsetup 实用程序向设备组中添加一个节点。

向 VxVM 设备组添加节点的先决条件如下:

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    将显示主菜单。

  3. 要使用 VxVM 设备组,请键入与 "Device groups and volumes" 选项相对应的编号。

    将显示 "Device Groups" 菜单。

  4. 要向 VxVM 设备组添加节点,请键入与向 VxVM 设备组添加节点的选项相对应的编号。

    按照说明进行操作,并键入设备组和节点的名称。

  5. 检验是否已添加节点。

    通过以下命令查看所显示的新磁盘的设备组信息。


    # cldevicegroup show devicegroup 
    

示例 5–27 SPARC: 向 Veritas Volume Manager 设备组添加节点

以下示例显示了当 clsetup 向 VxVM 设备组 (dg1) 添加节点 (phys-schost-3) 时所生成的 scconf 命令,以及检验步骤。


# clsetup
 
cldevicegroup add-node -n phys-schost-3 dg1
  
# cldevicegroup show dg1

=== Device Groups === 

Device Group Name:                        dg1
  Type:                                     VxVM
  failback:                                 yes
  Node List:                                phys-schost-1, phys-schost-3
  preferenced:                              no
  numsecondaries:                           1
  diskgroup names:                             dg1

ProcedureSPARC: 如何从设备组中删除节点 (Veritas Volume Manager)

使用以下过程可从 Veritas Volume Manager (VxVM) 设备组(磁盘组)的潜在主节点列表中删除某个群集节点。

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

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

  1. 检验节点是否仍是组的成员并该组是 VxVM 设备组。

    设备组类型 VxVM 表示 VxVM 设备组。


    phys-schost-1% cldevicegroup show devicegroup
    
  2. 在当前群集成员节点上,成为超级用户或使用一个可提供 solaris.cluster.readsolaris.cluster.modify RBAC 授权的角色。

  3. 启动 clsetup 实用程序。


    # clsetup
    

    将显示主菜单。

  4. 要重新配置设备组,请键入与 "Device groups and volumes" 选项相对应的编号。

  5. 要从 VxVM 设备组中删除节点,请键入与从 VxVM 设备组删除节点的选项相对应的编号。

    根据提示从设备组中删除群集节点。系统将提示您输入有关以下内容的信息:

    • VxVM 设备组

    • 节点名称

  6. 检验节点是否已从 VxVM 设备组中删除。


    # cldevicegroup show devicegroup
    

示例 5–28 SPARC: 从设备组中删除节点 (VxVM)

本示例说明如何将名为 phys-schost-1 的节点从 dg1 VxVM 设备组中删除。


[Determine the VxVM device group for the node:]
# cldevicegroup show dg1

=== Device Groups === 

Device Group Name:                        dg1
  Type:                                     VXVM
  failback:                                 no
  Node List:                                phys-schost-1, phys-schost-2
  preferenced:                              no
  numsecondaries:                           1
  diskgroup names:                             dg1
[Become superuser and start the clsetup utility:]
# clsetup
 Select Device groups and volumes>Remove a node from a VxVM device group.

Answer the questions when prompted. 
You will need the following information.
  Name:            Example:
  VxVM device group name    dg1
  node names                phys-schost-1

[Verify that the cldevicegroup command executed properly:]
 cldevicegroup remove-node -n phys-schost-1 dg1
 
    Command completed successfully.
Dismiss the clsetup  Device Groups Menu and Main Menu.
[Verify that the node was removed:]
# cldevicegroup show dg1

=== Device Groups === 

Device Group Name:                        dg1
  Type:                                     VXVM
  failback:                                 no
  Node List:                                phys-schost-2
  preferenced:                              no
  numsecondaries:                           1
  device names:                             dg1

Procedure如何从原始磁盘设备组中删除节点

使用此过程可将一个群集节点从原始磁盘设备组的潜在主节点列表中删除。

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

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

  1. 在群集的某一节点(要删除的节点除外)上,成为超级用户或使用一个可提供 solaris.cluster.readsolaris.cluster.modify RBAC 授权的角色。

  2. 找出与正在删除的节点相连的设备组,并确定哪些是原始磁盘设备组。


    # cldevicegroup show -n nodename -t rawdisk +
    
  3. 禁用每个 Local_Disk 原始磁盘设备组的 localonly 属性。


    # cldevicegroup set -p localonly=false devicegroup
    

    有关 localonly 属性的更多信息,请参见 cldevicegroup(1CL) 手册页。

  4. 检验是否已禁用与要删除的节点相连的所有原始磁盘设备组的 localonly 属性。

    Disk 设备组类型指示已禁用该原始磁盘设备组的 localonly 属性。


    # cldevicegroup show -n nodename -t rawdisk -v + 
    
  5. 将节点从步骤 2 所找出的所有原始磁盘设备组中删除。

    必须为每一个与正在删除的节点相连接的原始磁盘设备组完成此步骤。


    # cldevicegroup remove-node -n nodename devicegroup
    

示例 5–29 SPARC: 从原始设备组中删除节点

本示例说明如何从原始磁盘设备组中删除节点 (phys-schost-2)。所有命令均是从该群集的另一节点 (phys-schost-1) 上运行的。


[Identify the device groups connected to the node being removed, and determine which are raw-disk device groups:]
phys-schost-1# cldevicegroup show -n phys-schost-2 -t rawdisk -v +	
Device Group Name:                              dsk/d4
  Type:                                           Disk
  failback:                                       false
  Node List:                                      phys-schost-2
  preferenced:                                    false
  localonly:                                      false
  autogen                                         true
  numsecondaries:                                 1
  device names:                                   phys-schost-2

Device Group Name:                              dsk/d2
  Type:                                           VxVM
  failback:                                       true
  Node List:                                      pbrave2
  preferenced:                                    false
  localonly:                                      false
  autogen                                         true
  numsecondaries:                                 1
  diskgroup name:                                 vxdg1

Device Group Name:                              dsk/d1
  Type:                                           SVM
  failback:                                       false
  Node List:                                      pbrave1, pbrave2
  preferenced:                                    true
  localonly:                                      false
  autogen                                         true
  numsecondaries:                                 1
  diskset name:                                   ms1
(dsk/d4) Device group node list:  phys-schost-2
	(dsk/d2) Device group node list:  phys-schost-1, phys-schost-2
	(dsk/d1) Device group node list:  phys-schost-1, phys-schost-2
[Disable the localonly flag for each local disk on the node:]
phys-schost-1# cldevicegroup set -p localonly=false dsk/d4
[Verify that the localonly flag is disabled:]
phys-schost-1# cldevicegroup show -n phys-schost-2 -t rawdisk +   
 (dsk/d4) Device group type:          Disk
 (dsk/d8) Device group type:          Local_Disk
[Remove the node from all raw-disk device groups:]

phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d4
phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d2
phys-schost-1# cldevicegroup remove-node -n phys-schost-2 dsk/d1

Procedure如何更改设备组属性

用于确立设备组的主拥有权的方法基于一个名为 preferenced 的拥有权首选属性的设置。如果未设置该属性,其他无主 (unowned) 设备组的主所有者便是第一个尝试访问该组中磁盘的节点。但是,如果设置了该属性,您必须指定节点尝试建立拥有权时采用的首选顺序。

如果禁用 preferenced 属性,则 failback 属性也将自动被禁用。但是,如果尝试启用或重新启用 preferenced 属性,则可以选择启用或禁用 failback 属性。

如果启用或重新启用了 preferenced 属性,则需要重新排列主拥有权首选列表中节点的顺序。

此过程使用 clsetup 设置或取消设置 Solaris Volume Manager 或 VxVM 设备组的 preferenced 属性和 failback 属性。

开始之前

要执行此过程,您需要知道要更改其属性值的设备组的名称。

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    将显示主菜单。

  3. 要使用设备组,请键入与 "Device groups and volumes" 选项相对应的编号。

    将显示 "Device Groups" 菜单。

  4. 要更改设备组的关键属性,请键入与更改 VxVM 或 Solaris Volume Manager 设备组的关键属性的选项相对应的编号。

    此时将显示 "Change Key Properties" 菜单。

  5. 要更改某个设备组属性,请键入与更改 preferenced 和/或 failback 属性的选项相对应的编号。

    按照说明为设备组设置 preferencedfailback 选项。

  6. 检验设备组属性是否已更改。

    通过以下命令查看所显示的磁盘设备组信息。


    # cldevicegroup show -v devicegroup 
    

示例 5–30 更改设备组属性

以下示例显示了当 clsetup 对设备组 (dg-schost-1) 的属性值进行设置时所生成的 cldevicegroup 命令。


# cldevicegroup set -p preferenced=true -p failback=true -p numsecondaries=1 \
-p nodelist=phys-schost-1,phys-schost-2 dg-schost-1
# cldevicegroup show dg-schost-1

=== Device Groups ===                          

Device Group Name:                        dg-schost-1
  Type:                                     SVM
  failback:                                 yes
  Node List:                                phys-schost-1, phys-schost-2
  preferenced:                              yes
  numsecondaries:                           1
  diskset names:                             dg-schost-1

Procedure如何设置设备组所需的辅助节点数

numsecondaries 属性指定设备组中在主节点发生故障后可以控制该设备组的节点数。设备服务默认的辅助节点数为 1。您可将该值设置为一与设备组中有效非主提供节点的数目之间的任意整数。

该设置是平衡群集性能和可用性的一个重要因素。例如,增大所需的辅助节点数可以增大设备组在群集中同时发生多处故障时正常运行的机率。增大辅助节点数通常还会有规律地降低正常运行时的性能。一般情况下,辅助节点数越少,性能越好,但是可用性越差。但是,辅助节点数多并不一定会提高出现问题的文件系统或设备组的可用性。有关更多信息,请参阅《Sun Cluster Concepts Guide for Solaris OS》中的第 3  章 “Key Concepts for System Administrators and Application Developers”

如果更改 numsecondaries 属性,则一旦此更改导致实际辅助节点数与所需辅助节点数不一致,系统将向设备组添加或从中删除辅助节点。

此过程使用 clsetup 实用程序为所有类型的设备组设置 numsecondaries 属性。有关配置任意设备组时的设备组选项的信息,请参阅 cldevicegroup(1CL)

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    将显示主菜单。

  3. 要使用设备组,请选择标记为 "Device groups and volumes" 的选项。

    将显示 "Device Groups" 菜单。

  4. 要更改设备组的关键属性,请选择 "Change key properties of a device group" 选项。

    此时将显示 "Change Key Properties" 菜单。

  5. 要更改所需的辅助节点数,请键入与更改 numsecondaries 属性的选项相对应的编号。

    按照说明进行操作,并键入要为设备组配置的辅助节点数。此时,将执行相应的 cldevicegroup 命令并显示日志,然后返回到前一菜单。

  6. 验证设备组的配置。


    # cldevicegroup show dg-schost-1
    === Device Groups ===                          
    
    Device Group Name:                    dg-schost-1
      Type:                                 VxVm  This might also be SDS or Local_Disk.
      failback:                             yes
      Node List:                            phys-schost-1, phys-schost-2 phys-schost-3
      preferenced:                          yes
      numsecondaries:                       1
      diskgroup names:                         dg-schost-1

    注 –

    如果更改群集中已注册的 VxVM 磁盘组或卷的任何配置信息,必须使用 clsetup 重新注册设备组。这样的配置更改包括添加或删除卷,以及更改现有卷的组、属主或许可。配置更改后的注册将确保全局名称空间处于正确的状态。请参见如何更新全局设备名称空间


  7. 检验设备组属性是否已更改。

    通过以下命令查看所显示的磁盘设备组信息。


    # cldevicegroup show -v devicegroup 
    

示例 5–31 更改所需的辅助节点数 (Solaris Volume Manager)

以下示例显示了当 clsetup 为设备组 (dg-schost-1) 配置所需的辅助节点数时所生成的 cldevicegroup 命令。此示例假定磁盘组和卷是以前创建的。


# cldevicegroup set -p numsecondaries=1 dg-schost-1
# cldevicegroup show -v dg-schost-1

=== Device Groups ===                          

Device Group Name:                        dg-schost-1
  Type:                                     SVM
  failback:                                 yes
  Node List:                                phys-schost-1, phys-schost-2
  preferenced:                              yes
  numsecondaries:                           1
  diskset names:                             dg-schost-1


示例 5–32 SPARC: 设置所需的辅助节点数(Veritas Volume Manager)

以下示例显示了当 clsetup 将设备组 (dg-schost-1) 所需的辅助节点数设置为 2 时所生成的 cldevicegroup 命令。有关在创建设备组后如何更改所需辅助节点数的信息,请参见如何设置设备组所需的辅助节点数


# cldevicegroup set -p numsecondaries=2 dg-schost-1

# cldevicegroup show dg-schost-1
=== Device Groups ===                          

Device Group Name:                        dg-schost-1
  Type:                                     VxVM
  failback:                                 yes
  Node List:                                phys-schost-1, phys-schost-2
  preferenced:                              yes
  numsecondaries:                           1
  diskgroup names:                             dg-schost-1 


示例 5–33 将所需的辅助节点数设置为默认值

以下示例显示如何使用空字符串值配置默认的辅助节点数。设备组将配置为使用该默认值,即使默认值改变。


# cldevicegroup set -p numsecondaries= dg-schost-1
# cldevicegroup show -v dg-schost-1

=== Device Groups ===                          

Device Group Name:                        dg-schost-1
  Type:                                     SVM
  failback:                                 yes
  Node List:                                phys-schost-1, phys-schost-2 phys-schost-3
  preferenced:                              yes
  numsecondaries:                           1
  diskset names:                             dg-schost-1

Procedure如何列出设备组配置

您无需成为超级用户即可列出配置。但您需要具备 solaris.cluster.read 授权。

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

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

  1. 使用以下列表中的方法之一。

    Sun Cluster Manager GUI

    有关详细信息,请参见 Sun Cluster Manager 联机帮助。

    cldevicegroup show

    使用 cldevicegroup show 可列出群集中所有设备组的配置。

    cldevicegroup show devicegroup

    使用 cldevicegroup show devicegroup 可列出单个设备组的配置。

    cldevicegroup status devicegroup

    使用 cldevicegroup status devicegroup 可确定单个设备组的状态。

    cldevicegroup status +

    使用 cldevicegroup status + 可确定群集中所有设备组的状态。

    在这些命令中使用 -v 选项可获取更为详细的信息。


示例 5–34 列出所有设备组的状态


# cldevicegroup status +

=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary         Secondary        Status
-----------------    -------         ---------        ------
dg-schost-1          phys-schost-2   phys-schost-1    Online
dg-schost-2          phys-schost-1   --               Offline
dg-schost-3          phys-schost-3   phy-shost-2      Online


示例 5–35 列出特定设备组的配置


# cldevicegroup show dg-schost-1

=== Device Groups ===                          

Device Group Name:                              dg-schost-1
  Type:                                           SVM
  failback:                                       yes
  Node List:                                      phys-schost-2, phys-schost-3
  preferenced:                                    yes
  numsecondaries:                                 1
  diskset names:                                   dg-schost-1

Procedure如何切换设备组的主节点

此过程还可以用于启动不活动的设备组(使之联机)。

您还可以通过使用 Sun Cluster Manager GUI 使不活动的设备组联机或切换设备组的主节点。有关详细信息,请参见 Sun Cluster Manager 联机帮助。

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

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

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

  2. 使用 cldevicegroup switch 切换设备组的主节点。


    # cldevicegroup switch -n nodename devicegroup 
    
    -n nodename

    指定要切换到的节点的名称。此节点成为新的主节点。

    devicegroup

    指定要切换的设备组。

  3. 检验设备组是否已切换到新的主节点上。

    如果正确注册了设备组,则使用以下命令时将显示新设备组的信息。


    # cldevice status devicegroup
    

示例 5–36 切换设备组的主节点

以下示例显示了如何切换设备组的主节点以及如何检验此更改。


# cldevicegroup switch -n phys-schost-1 dg-schost-1

# cldevicegroup status dg-schost-1

=== Cluster Device Groups ===

--- Device Group Status ---

Device Group Name    Primary        Secondary       Status
-----------------    -------        ---------       ------
dg-schost-1          phys-schost-1   phys-schost-2  Online

Procedure如何将设备组置于维护状态

将设备组置于维护状态可在设备组中的某个设备被访问时防止设备组自动联机。完成修复过程时(该过程要求完成修复前停止一切 I/O 活动),应该使设备组处于维护状态。此外,将设备组置于维护状态还可确保当系统在一个节点上修复磁盘集或磁盘组时,另一节点上的设备组不会联机,从而防止数据丢失。


注 –

在将设备组置于维护状态之前,必须停止对其设备的所有访问并且必须卸载所有依赖该设备的文件系统。


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

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

  1. 使设备组处于维护状态。

    1. 如果启用了设备组,请禁用设备组。


      # cldevicegroup disable devicegroup
      
    2. 使设备组脱机。


      # cldevicegroup offline devicegroup
      
  2. 如果所执行的修复过程需要磁盘集或磁盘组的拥有权,请手动导入该磁盘集或磁盘组。

    对于 Solaris Volume Manager:


    # metaset -C take -f -s diskset
    

    注意 – 注意 –

    如果要获取 Solaris Volume Manager 磁盘集的所有权,必须在设备组处于维护状态时使用 metaset -C take 命令。使用 metaset -t 会将设备组联机,这是获取所有权的一部分。如果要导入 VxVM 磁盘组,必须在导入磁盘组时使用 -t 标志。使用 -t 标志可防止重新引导此节点时自动导入该磁盘组。


    对于 Veritas Volume Manager:


    # vxdg -t import disk-group-name
    
  3. 完成需要执行的修复过程。

  4. 释放磁盘集的拥有权。


    注意 – 注意 –

    使设备组脱离维护状态之前,必须先释放对该磁盘集或磁盘组的所有权。如果释放所有权失败,可导致数据丢失。


    • 对于 Solaris Volume Manager:


      # metaset -C release -s diskset
      
    • 对于 Veritas Volume Manager:


      # vxdg deport diskgroupname
      
  5. 使设备组联机。


    # cldevicegroup online devicegroup
    # cldevicegroup enable devicegroup
    

示例 5–37 将设备组置于维护状态

本示例说明了如何将设备组 dg-schost-1 置于维护状态,以及如何使该设备组脱离维护状态。


[Place the device group in maintenance state.]
# cldevicegroup disable dg-schost-1
# cldevicegroup offline dg-schost-1 
[If needed, manually import the disk set or disk group.]
For Solaris Volume Manager:
  # metaset -C take -f -s dg-schost-1
For Veritas Volume Manager:
  # vxdg -t import dg1
  
[Complete all necessary repair procedures.]
  
[Release ownership.]
For Solaris Volume Manager:
  # metaset -C release -s dg-schost-1
For Veritas Volume Manager:
  # vxdg deport dg1
  
[Bring the device group online.]
# cldevicegroup online dg-schost-1
# cldevicegroup enable dg-schost-1

管理存储设备的 SCSI 协议设置

安装 Sun Cluster 软件时,系统会自动为所有存储设备分配 SCSI 预留空间。请执行以下过程检查设备的设置,并在必要时覆盖设备的设置。

Procedure如何为所有存储设备显示默认全局 SCSI 协议设置

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

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

  1. 成为超级用户或使用一个可提供 solaris.cluster.read RBAC 授权的角色。

  2. 从任意节点上显示当前全局默认 SCSI 协议设置。


    # cluster show -t global
    

    有关更多信息,请参见 cluster(1CL) 手册页。


示例 5–38 显示所有存储设备的默认全局 SCSI 协议设置

以下示例显示了群集上所有存储设备的 SCSI 协议设置。


# cluster show -t global

=== Cluster ===                                

Cluster Name:                                   racerxx
  installmode:                                    disabled
  heartbeat_timeout:                              10000
  heartbeat_quantum:                              1000
  private_netaddr:                                172.16.0.0
  private_netmask:                                255.255.248.0
  max_nodes:                                      64
  max_privatenets:                                10
  global_fencing:                                 pathcount
  Node List:                                      phys-racerxx-1, phys-racerxx-2

Procedure如何为单个存储设备显示 SCSI 协议

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

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

  1. 成为超级用户或使用一个可提供 solaris.cluster.read RBAC 授权的角色。

  2. 从任意节点上显示存储设备的 SCSI 协议设置。


    # cldevice show device
    
    device

    设备路径的名称或设备名称。

    有关更多信息,请参见 cldevice(1CL)手册页。


示例 5–39 显示单个设备的 SCSI 协议

以下示例显示了设备 /dev/rdsk/c4t8d0 的 SCSI 协议。


# cldevice show /dev/rdsk/c4t8d0


=== DID Device Instances ===                   

DID Device Name:                                /dev/did/rdsk/d3
  Full Device Path:                               phappy1:/dev/rdsk/c4t8d0
  Full Device Path:                               phappy2:/dev/rdsk/c4t8d0
  Replication:                                    none
  default_fencing:                                global

Procedure如何更改所有存储设备的默认全局隔离协议设置

您可以针对连接到某个群集的所有存储设备全局性地打开或关闭隔离功能。如果单个存储设备的默认隔离值设置为 pathcountprefer3nofencing,则该设备的默认隔离设置将覆盖全局设置。如果存储设备的默认隔离值设置为 global,该存储设备将使用全局设置。例如,如果存储设备的默认设置为 pathcount,则当您执行以下过程将全局 SCSI 协议设置更改为 prefer3 时,该存储设备的设置不会更改。您必须执行如何更改单个存储设备的隔离协议中的过程来更改单个设备的默认设置。


注意 – 注意 –

如果在错误的情况下关闭了隔离功能,则您的数据在应用程序故障转移过程中易于损坏。当您考虑关闭隔离功能时,请仔细分析此数据损坏的可能性。如果共享存储设备不支持 SCSI 协议,或者您想要允许从群集外部的主机访问群集的存储,则可以关闭隔离功能。


要更改某个法定设备的默认隔离设置,必须先取消配置该设备,更改其隔离设置,然后再重新配置该法定设备。如果您计划为包括法定设备在内的设备定期关闭和重新打开隔离功能,应考虑通过法定服务器服务来配置法定,以避免在法定操作中出现中断。

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

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

  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 为所有不是法定设备的存储设备设置隔离协议。


    cluster set -p global_fencing={pathcount | prefer3 | nofencing | nofencing-noscrub}
    -p global_fencing

    为所有共享设备设置当前全局默认隔离算法。

    prefer3

    对具有两个以上路径的设备使用 SCSI-3 协议。

    pathcount

    根据连接到共享设备的 DID 路径的数目来确定隔离协议。pathcount 设置用于法定设备。

    nofencing

    通过设置所有存储设备的隔离状态来关闭隔离功能。

    nofencing-noscrub

    清理设备可确保设备清除所有持久的 SCSI 保留信息,并且允许从群集外部的系统访问存储。请仅对具有严重的 SCSI 保留问题的存储设备使用 nofencing-noscrub 选项。


示例 5–40 为所有存储设备设置默认全局隔离协议设置

以下示例将群集中所有存储设备的隔离协议设置为 SCSI-3 协议。


# cluster set -p global_fencing=prefer3

Procedure如何更改单个存储设备的隔离协议

您还可以设置单个存储设备的隔离协议。


注 –

要更改某个法定设备的默认隔离设置,必须先取消配置该设备,更改其隔离设置,然后再重新配置该法定设备。如果您计划为包括法定设备在内的设备定期关闭和重新打开隔离功能,应考虑通过法定服务器服务来配置法定,以避免在法定操作中出现中断。


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

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


注意 – 注意 –

如果在错误的情况下关闭了隔离功能,则您的数据在应用程序故障转移过程中将易于损坏。当您考虑关闭隔离功能时,请仔细分析此数据损坏的可能性。如果共享存储设备不支持 SCSI 协议,或者您想要允许从群集外部的主机访问群集的存储,则可以关闭隔离功能。


  1. 成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 设置存储设备的隔离协议。


    cldevice set -p default_fencing ={pathcount | scsi3 | global | nofencing | nofencing-noscrub} device
    
    -p default_fencing

    修改设备的 default_fencing 属性。

    pathcount

    根据连接到共享设备的 DID 路径的数目来确定隔离协议。

    scsi3

    使用 SCSI-3 协议。

    global

    使用全局默认隔离设置。global 设置用于非法定设备。

    通过设置指定 DID 实例的隔离状态可关闭隔离功能。

    nofencing-noscrub

    清理设备可确保设备清除所有持久的 SCSI 保留信息,并且允许从群集外部的系统访问存储设备。请仅对具有严重的 SCSI 保留问题的存储设备使用 nofencing-noscrub 选项。

    device

    指定设备路径的名称或设备名称。

    有关更多信息,请参见 cluster(1CL) 手册页。


示例 5–41 设置单个设备的隔离协议

以下示例为设备 d5(由设备编号指定)设置了 SCSI-3 协议。


# cldevice set -p default_fencing=prefer3 d5

以下示例为 d11 设备关闭了默认隔离功能。


#cldevice set -p default_fencing=nofencing d11

管理群集文件系统

群集文件系统是通过全局方式使用的文件系统,可以从群集的任一节点对其进行读取或访问。

表 5–5 任务图:管理群集文件系统

任务 

指导 

在初始 Sun Cluster 安装后添加群集文件系统 

如何添加群集文件系统

删除群集文件系统 

如何删除群集文件系统

检查群集中各个节点上的全局挂载点是否一致 

如何检查群集中的全局挂载点

Procedure如何添加群集文件系统

首次安装 Sun Cluster 后,为所创建的每个群集文件系统执行此任务。


注意 – 注意 –

请确保指定了正确的磁盘设备名称。创建群集文件系统会损坏磁盘上的所有数据。如果指定的设备名称不正确,则会擦除您可能并不打算删除的数据。


在添加其他群集文件系统之前,请确保具备以下先决条件:

如果曾使用 Sun Cluster Manager 安装数据服务,假如用以创建群集文件系统的共享磁盘充足,则系统中已存在一个或多个群集文件系统。

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

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

  1. 成为群集中任一节点上的超级用户。


    提示 –

    要更快地创建文件系统,请成为要为其创建文件系统的全局设备的当前主节点的超级用户。


  2. 使用 newfs 命令创建文件系统。


    注 –

    newfs 命令仅适用于创建新的 UFS 文件系统。要创建新的 VxFS 文件系统,请按 VxFS 文档中所述的过程操作。



    # newfs raw-disk-device
    

    下表显示了 raw-disk-device 参数名称的示例。请注意,卷管理器的命名规则各不相同。

    卷管理器 

    磁盘设备名称 

    描述 

    Solaris Volume Manager 

    /dev/md/oracle/rdsk/d1

    oracle 磁盘集中的原始磁盘设备 d1

    SPARC:Veritas Volume Manager 

    /dev/vx/rdsk/oradg/vol01

    oradg 磁盘组中的原始磁盘设备 vol01

    无 

    /dev/global/rdsk/d1s3

    块片 d1s3 的原始磁盘设备。

  3. 在群集中的每一节点上创建群集文件系统的挂载点目录。

    每个节点上均需要挂载点,即使不在该节点上访问群集文件系统也是如此。


    提示 –

    为了便于管理,请在 /global/ devicegroup 目录中创建挂载点。使用此位置,您可以很容易地将本地文件系统和群集文件系统区别开来,后者在全局范围内都可用。



    # mkdir -p /global/devicegroup mountpoint
    
    devicegroup

    与包含该设备的设备组的名称相对应的目录名。

    mountpoint

    要在其上挂载群集文件系统的目录的名称。

  4. 在群集中的每个节点上,在 /etc/vfstab 文件中为挂载点添加一个条目。

    1. 使用下列必需的挂载选项。


      注 –

      对于所有群集文件系统,记录是必需的。


      • Solaris UFS 日志记录-使用 global 和 logging 挂载选项。有关 UFS 挂载选项的更多信息,请参见 mount_ufs(1M) 手册页。


        注 –

        对于 UFS 群集文件系统,不需要 syncdir 挂载选项。如果指定 syncdir,则可保证文件系统的行为符合 POSIX。否则,您将看到与 UFS 文件系统一样的行为。如果不指定 syncdir,则分配磁盘块的写入性能(例如,向文件附加数据时)会显著提高。但是,在某些情况下,如果不指定 syncdir,就无法在文件关闭前发现空间不足的情况。在不指定 syncdir 的情况下很少会出现问题。如果具有 syncdir(和 POSIX 行为),就可以在文件关闭前发现空间不足的情况。


      • Solaris Volume Manager 事务卷-使用 global 挂载选项(不使用 logging 挂载选项)。有关设置事务卷的信息,请参见 Solaris Volume Manager 文档。


        注 –

        在以后的 Solaris 软件发行版中,事务卷按计划将从 Solaris OS 中删除。“Solaris UFS 日志记录”可提供相同的功能,而且性能更加出众,系统管理要求和系统开销更低。


      • VxFS 日志记录-使用 globallog 挂载选项。有关更多信息,请参见 VxFS 软件附带的 mount_vxfs 手册页。

    2. 要自动挂载群集文件系统,请将 mount at boot 字段设置为 yes

    3. 请确保对于每个群集文件系统,其 /etc/vfstab 条目中的信息在每个节点上是完全相同的。

    4. 请确保每个节点的 /etc/vfstab 文件中的条目都以相同顺序列出设备。

    5. 检查文件系统的引导顺序依赖性。

      例如,考虑如下情形: phys-schost-1 将磁盘设备 d0 挂载在 /global/oracle 上,而 phys-schost-2 将磁盘设备 d1 挂载在 /global/oracle/logs 上。此时,只有在 phys-schost-1 引导并挂载了 /global/oracle 之后,phys-schost-2 才能引导并挂载 /global/oracle/logs

    有关详细信息,请参见 vfstab(4) 手册页。

  5. 在群集的任一节点上,检验挂载点是否存在以及群集的所有节点上的 /etc/vfstab 文件条目是否都正确。


    # sccheck
    

    如果不出现错误,则不返回任何内容。

  6. 从群集中的任一节点,挂载群集文件系统。


    # mount /global/devicegroup mountpoint
    
  7. 在群集的每个节点上检验是否已挂载群集文件系统。

    可以使用 dfmount 命令来列出已挂载的文件系统。

    要在 Sun Cluster 环境中管理 VxFS 群集文件系统,请只从挂载有 VxFS 群集文件系统的那个主节点运行管理命令。


示例 5–42 添加群集文件系统

以下示例显示了在 Solaris Volume Manager 元设备或卷 /dev/md/oracle/rdsk/d1 上创建 UFS 群集文件系统的过程。


# newfs /dev/md/oracle/rdsk/d1
...
 
[on each node:]
# mkdir -p /global/oracle/d1
 
# vi /etc/vfstab
#device                device                 mount            FS  fsck  mount   mount
#to mount              to fsck                point           type pass  at boot options
# /dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging

[save and exit]
 
[on one node:]
# sccheck
# mount /dev/md/oracle/dsk/d1 /global/oracle/d1
# mount
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles 
on Sun Oct 3 08:56:16 2001

Procedure如何删除群集文件系统

您只需卸载群集文件系统就可以将其删除。如果还要移除或删除数据,请从系统中删除底层的磁盘设备(或元设备或卷)。


注 –

当您运行 cluster shutdown 来停止整个群集时,作为系统关闭过程的一部分,群集文件系统会自动卸载。运行 shutdown 来停止单个节点时,将不会卸载群集文件系统。但是,如果只有正关闭的节点与磁盘相连,则对该磁盘上的群集文件系统进行的任何访问尝试均会导致出错。


在卸载群集文件系统之前,请确保具备以下先决条件:

  1. 成为群集中任一节点上的超级用户。

  2. 确定已安装的群集文件系统。


    # mount -v
    
  3. 在每个节点上,列出所有正在使用群集文件系统的进程,以便确定要停止哪些进程。


    # fuser -c [ -u ] mountpoint
    
    -c

    报告有关用作文件系统的安装点的文件及安装的文件系统中任何文件的信息。

    -u

    (可选)显示每个进程 ID 的用户登录名称。

    mountpoint

    指定您要停止其进程的群集文件系统的名称。

  4. 在每个节点上,停止群集文件系统的所有进程。

    请使用停止进程的首选方法。根据需要,请使用以下命令强制终止与群集文件系统相关的进程。


    # fuser -c -k mountpoint
    

    系统将向每个使用群集文件系统的进程发出 SIGKILL 命令。

  5. 在每个节点上,确保无任何进程正在使用群集文件系统。


    # fuser -c mountpoint
    
  6. 仅从一个节点卸载文件系统。


    # umount mountpoint
    
    mountpoint

    指定要卸载的群集文件系统的名称。该名称既可以是安装群集文件系统的目录的名称,也可以是文件系统的设备名称路径。

  7. (可选)编辑 /etc/vfstab 文件以删除要被删除的群集文件系统的条目。

    对于任何群集节点,只要其 /etc/vfstab 文件中有此群集文件系统的条目,就要在该群集节点上执行此步骤。

  8. (可选)删除磁盘设备 group/metadevice/volume/plex

    有关详细信息,请参阅卷管理器文档。


示例 5–43 删除群集文件系统

以下示例删除了挂载在 Solaris Volume Manager 元设备或卷 /dev/md/oracle/rdsk/d1 上的 UFS 群集文件系统。


# mount -v
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles 
# fuser -c /global/oracle/d1
/global/oracle/d1: 4006c
# fuser -c -k /global/oracle/d1
/global/oracle/d1: 4006c
# fuser -c /global/oracle/d1
/global/oracle/d1:
# umount /global/oracle/d1
 
(On each node, remove the highlighted entry:)
# vi /etc/vfstab
#device           device        mount   FS      fsck    mount   mount
#to mount         to fsck       point   type    pass    at boot options
#                       
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging

[Save and exit.]

要删除群集文件系统中的数据,请删除基础设备。有关详细信息,请参阅卷管理器文档。


Procedure如何检查群集中的全局挂载点

sccheck(1M) 实用程序检验 /etc/vfstab 文件中群集文件系统条目的语法。如果不出现错误,则不返回任何内容。


注 –

进行了影响设备或卷管理组件的群集配置更改(如删除群集文件系统)后,请运行 sccheck


  1. 成为群集中任一节点上的超级用户。

  2. 检查群集全局安装。


    # sccheck
    

管理磁盘路径监视

通过磁盘路径监视 (Disk Path Monitoring, DPM) 管理命令,可以接收辅助磁盘路径故障的通知。使用本节中的过程执行与监视磁盘路径关联的管理任务。有关磁盘路径监视守护进程的概念性信息,请参阅《Sun Cluster Concepts Guide for Solaris OS》中的第 3  章 “Key Concepts for System Administrators and Application Developers”。有关 scdpm 命令选项及相关命令的说明,请参阅cldevice(1CL) 手册页。有关该守护进程报告的日志记录错误,请参阅syslogd(1M) 手册页。


注 –

当使用 cldevice 命令将 I/O 设备添加到节点中时,磁盘路径会自动添加到受监视的监视列表中。使用 Sun Cluster 命令从节点删除设备时,也将自动取消监视磁盘路径。


表 5–6 任务图:管理磁盘路径监视

任务 

指导 

监视磁盘路径。 

如何监视磁盘路径

取消监视磁盘路径。 

如何取消监视磁盘路径

显示节点故障磁盘路径的状态。 

如何显示故障磁盘路径

从文件中监视磁盘路径。 

如何从文件中监视磁盘路径

启用或禁用节点在所有受监视的磁盘路径均发生故障时自动重新引导的功能。 

如何在所有受监视的磁盘路径均发生故障时启用节点的自动重新引导功能

如何在所有受监视的磁盘路径均发生故障时禁用节点的自动重新引导功能

解决错误的磁盘路径状态。如果引导时被监视 DID 设备不可用则可能会报告错误的磁盘路径状态,从而导致 DID 实例不上载到 DID 驱动程序。  

如何解决磁盘路径状态错误

下一节介绍的过程将发出包含磁盘路径参数的 cldevice 命令。磁盘路径参数由一个节点名称和一个磁盘名称组成。节点名称不是必需的。如果不指定,它将采用默认值 all

Procedure如何监视磁盘路径

执行此任务可以监视群集中的磁盘路径。


注意 – 注意 –

运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。


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

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

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

  2. 监视磁盘路径。


    # cldevice monitor -n node disk
    
  3. 检验是否已监视磁盘路径。


    # cldevice status device
    

示例 5–44 监视单个节点上的磁盘路径

以下示例监视单个节点的 schost-1:/dev/did/rdsk/d1 磁盘路径。只有节点 schost-1 上的 DPM 守护进程监视磁盘的路径 /dev/did/dsk/d1


# cldevice monitor -n schost-1 /dev/did/dsk/d1
# cldevice status d1

Device Instance   Node           Status
--------------- ---- ------
/dev/did/rdsk/d1   phys-schost-1 Ok


示例 5–45 监视所有节点上的磁盘路径

以下示例监视所有节点的磁盘路径 schost-1:/dev/did/dsk/d1。DPM 可以在视 /dev/did/dsk/d1 为有效路径的所有节点上启动。


# cldevice monitor /dev/did/dsk/d1
# cldevice status /dev/did/dsk/d1

Device Instance   Node           Status
--------------- ---- ------
/dev/did/rdsk/d1   phys-schost-1 Ok


示例 5–46 从 CCR 重新读取磁盘配置

以下示例强制守护程序从 CCR 重新读取磁盘配置并打印监视的磁盘路径及其状态。


# cldevice monitor +
# cldevice status
Device Instance              Node               Status
---------------              ----               ------
/dev/did/rdsk/d1             schost-1           Ok
/dev/did/rdsk/d2             schost-1           Ok
/dev/did/rdsk/d3             schost-1           Ok
                              schost-2          Ok
/dev/did/rdsk/d4             schost-1           Ok
                              schost-2          Ok
/dev/did/rdsk/d5             schost-1           Ok
                              schost-2          Ok
/dev/did/rdsk/d6             schost-1           Ok
                              schost-2          Ok
/dev/did/rdsk/d7             schost-2           Ok
/dev/did/rdsk/d8             schost-2           Ok

Procedure如何取消监视磁盘路径

使用以下过程可以取消监视磁盘路径。


注意 – 注意 –

运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。


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

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

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

  2. 确定要取消监视的磁盘路径的状态。


    # cldevice status device
    
  3. 在每个节点上,取消监视相应的磁盘路径。


    # cldevice unmonitor -n node disk
    

示例 5–47 取消监视磁盘路径

以下示例取消监视 schost-2:/dev/did/rdsk/d1 磁盘路径并显示整个群集的磁盘路径及其状态。


# cldevice unmonitor -n schost2 /dev/did/rdsk/d1
# cldevice status -n schost2 /dev/did/rdsk/d1

Device Instance              Node               Status
---------------              ----               ------
/dev/did/rdsk/d1             schost-2           Unmonitored

Procedure如何显示故障磁盘路径

使用以下步骤可以打印群集的故障磁盘路径。


注意 – 注意 –

运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。


  1. 成为群集中任一节点上的超级用户。

  2. 打印整个群集中故障磁盘路径。


    # cldevice status -s fail
    

示例 5–48 打印故障磁盘路径

以下示例打印整个群集的故障磁盘路径。


# cldevice status -s fail
     
Device Instance               Node              Status
---------------               ----              ------
dev/did/dsk/d4                phys-schost-1     fail

Procedure如何解决磁盘路径状态错误

如果发生以下事件,重新联机时 DPM 可能不会更新故障路径的状态:

之所以会报告错误的磁盘路径状态,是因为引导时被监视的 DID 设备不可用,因而导致 DID 实例未上载到 DID 驱动程序。出现这种情况时,请手动更新 DID 信息。

  1. 从一个节点上,更新全局设备名称空间。


    # cldevice populate
    
  2. 在每个节点上检验命令处理过程是否已完成,然后再继续进行下一步骤。

    即使仅从一个节点运行,该命令也会以远程方式在所有的节点上执行。要确定该命令是否已完成处理过程,请在群集中的每个节点上运行以下命令。


    # ps -ef | grep scgdevs
    
  3. 在 DPM 轮询时间帧中检验故障磁盘路径的状态现在是否为 Ok。


    # cldevice status disk-device
    
    Device Instance               Node                  Status
    ---------------               ----                  ------
    dev/did/dsk/dN                phys-schost-1         Ok

Procedure如何从文件中监视磁盘路径

使用以下步骤监视或取消监视文件的磁盘路径。

要使用文件来更改群集配置,必须首先导出当前配置。此导出操作会创建一个 XML 文件。您可稍后修改该文件来设置要更改的配置项。本过程中的说明描述了上述整个过程。


注意 – 注意 –

运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。


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

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

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

  2. 将设备配置导出到一个 XML 文件。


    # cldevice export -o configurationfile
    
    -oconfigurationfile

    指定 XML 文件的文件名。

  3. 修改配置文件,以便对设备路径进行监视。

    找到要监视的设备路径,将 monitored 属性设置为 true

  4. 监视设备路径。


    # cldevice monitor -i configurationfile
    
    -iconfigurationfile

    指定已修改的 XML 文件的文件名。

  5. 检验设备路径此时是否受监视。


    # cldevice status
    

示例 5–49 从文件监视磁盘路径

在下面的示例中,使用一个 XML 文件对节点 phys-schost–2 和设备 d3 之间的设备路径进行监视。

第一步,导出当前群集配置。


# cldevice export -o deviceconfig

deviceconfig XML 文件显示 phys-schost–2d3 之间的路径当前未受监视。


<?xml version="1.0"?>
<!DOCTYPE cluster SYSTEM "/usr/cluster/lib/xml/cluster.dtd">
<cluster name="brave_clus">
.
.
.
   <deviceList readonly="true">
    <device name="d3" ctd="c1t8d0">
      <devicePath nodeRef="phys-schost-1" monitored="true"/>
      <devicePath nodeRef="phys-schost-2" monitored="false"/>
    </device>
  </deviceList>
</cluster>

要监视该路径,请按如下所示将 monitored 属性设置为 true


<?xml version="1.0"?>
<!DOCTYPE cluster SYSTEM "/usr/cluster/lib/xml/cluster.dtd">
<cluster name="brave_clus">
.
.
.
   <deviceList readonly="true">
    <device name="d3" ctd="c1t8d0">
      <devicePath nodeRef="phys-schost-1" monitored="true"/>
      <devicePath nodeRef="phys-schost-2" monitored="true"/>
    </device>
  </deviceList>
</cluster>

使用 cldevice 命令读取文件并打开监视功能。


# cldevice monitor -i deviceconfig

使用 cldevice 命令检验设备此时是否受监视。


# cldevice status

另请参见

有关导出群集配置和使用生成的 XML 文件来设置群集配置的更多详细信息,请参见 cluster(1CL) 手册页和 clconfiguration(5CL) 手册页。

Procedure如何在所有受监视的磁盘路径均发生故障时启用节点的自动重新引导功能

如果启用了该功能,只要满足以下条件,节点便会自动重新引导:

重新引导节点会将该节点管理的所有资源组和设备组在另一个节点上重新启动。

当节点自动重新引导后,如果该节点上所有受监视的磁盘路径仍不可访问,该节点不会再次自动重新引导。但是,如果节点重新引导后,有任何磁盘路径先是可用随后又出现故障,则该节点会再次自动重新引导。

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

  2. 对于群集中的所有节点,请在节点的所有受监视磁盘路径均发生故障时启用其自动重新引导功能。


    # clnode set -p reboot_on_path_failure=enabled +
    

Procedure如何在所有受监视的磁盘路径均发生故障时禁用节点的自动重新引导功能

如果禁用了该功能,当节点上所有受监视的磁盘路径均发生故障时,该节点不会自动重新引导。

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

  2. 对于群集中的所有节点,请在节点的所有受监视磁盘路径均发生故障时禁用其自动重新引导功能。


    # clnode set -p reboot_on_path_failure=disabled +