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

管理设备组

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


注意 – 注意 –

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



注 –

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


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

任务 

指导 

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

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

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

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

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

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

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

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

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

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

SPARC: 使用 VxVM 命令和 clsetup 将 VERITAS 卷管理器 磁盘组添加为设备组

SPARC: 如何在初始化磁盘时创建新磁盘组 (VERITAS 卷管理器)

SPARC: 如何在封装磁盘时创建新磁盘组 (VERITAS 卷管理器)

SPARC: 如何向现有设备组添加新卷 (VERITAS 卷管理器)

SPARC: 如何将现有磁盘组转换为设备组 (VERITAS 卷管理器)

SPARC: 如何给设备组分配新的从设备号 (VERITAS 卷管理器)

SPARC: 如何将磁盘组注册为设备组 (VERITAS 卷管理器)

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

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

SPARC: 如何注册磁盘组的配置更改 (VERITAS 卷管理器)

SPARC:使用 clsetup(以生成 cldevicegroup)命令从配置中删除 VERITAS 卷管理器 设备组

SPARC: 如何从设备组中删除卷 (VERITAS 卷管理器)

SPARC: 如何删除和取消注册设备组 (VERITAS 卷管理器)

SPARC: 使用 clsetup 生成 cldevicegroup 命令来向 VERITAS 卷管理器 设备组中添加节点

SPARC: 如何向设备组添加节点 (VERITAS 卷管理器)

SPARC: 使用 clsetup 生成 cldevicegroup 命令来从 VERITAS 卷管理器 设备组中删除一个节点

SPARC: 如何从设备组中删除节点 (VERITAS 卷管理器)

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

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

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

如何更改设备组属性

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

如何列出设备组配置

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

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

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

如何切换设备组的主节点

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

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

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

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


注 –

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


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

  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 设备组。注册磁盘集时,系统会将您指定给磁盘集的名称自动指定给设备组。

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

  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
    
    -s diskset

    指定要创建的磁盘集。

    -a -h nodelist

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

    -M

    将磁盘组指定为多属主。


    注 –

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


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


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

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


    # cldevicegroup list 
    
  6. 列出 DID 映射。


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

    • 给磁盘集添加驱动器时,请使用格式是 /dev/did/rdsk/dN 的完整 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

    给磁盘集添加驱动器。


    注 –

    将驱动器添加到磁盘组时,请使用低级别设备名称 (cNtXdY)。因为低级别设备名称是本地名称,并且在群集中不是唯一的,使用该名称可能使元集合不能切换。


  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如何将节点从所有设备组中删除

使用此过程可以从那些在它们的潜在主节点列表中包含某一群集节点的所有设备组中删除该节点。

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

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

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

    在每个设备组的“设备组节点列表”中查找该节点名称。


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

  4. 如果步骤 2 中标识的设备组中有任何类型是 VxVM 的设备组,请为每个该类型设备组执行SPARC: 如何从设备组中删除节点 (VERITAS 卷管理器)中的步骤。

  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


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

  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
    
    -s setname

    指定设备组的名称。

    -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,则无需执行此过程。如果是首次安装磁盘集,或是向已完全配置的群集中添加更多磁盘集,请按这些步骤进行操作。

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

  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 卷管理器)


注 –

此过程仅用于初始化磁盘。如果是封装磁盘,请执行SPARC: 如何在封装磁盘时创建新磁盘组 (VERITAS 卷管理器)中所述的过程。


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

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

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

  2. 创建 VxVM 磁盘组和卷。

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


    注 –

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


    有关完成此步操作的过程,请参阅 VERITAS 卷管理器 文档。

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

    请参见SPARC: 如何将磁盘组注册为设备组 (VERITAS 卷管理器)

    请勿在群集框架中注册 Oracle Parallel Server 或 Oracle RAC 共享磁盘组。

ProcedureSPARC: 如何在封装磁盘时创建新磁盘组 (VERITAS 卷管理器)


注 –

此过程仅用于封装磁盘。如果是初始化磁盘,请执行SPARC: 如何在初始化磁盘时创建新磁盘组 (VERITAS 卷管理器)中所述的过程。


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

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

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

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

  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 卷管理器)

    请勿在群集框架中注册 Oracle Parallel Server 或 Oracle RAC 共享磁盘组。

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

ProcedureSPARC: 如何向现有设备组添加新卷 (VERITAS 卷管理器)

向现有 VxVM 设备组添加新卷时,请从联机设备组的主节点上执行以下过程。


注 –

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


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

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

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


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


    # cldevicegroup switch -n nodename devicegroup
    
    nodename

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

    devicegroup

    指定要切换的设备组。

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

    有关用于创建 VERITAS 卷管理器 卷的过程,请参阅 VxVM 文档。

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

    # cldevicegroup sync

    SPARC: 如何注册磁盘组的配置更改 (VERITAS 卷管理器)

ProcedureSPARC: 如何将现有磁盘组转换为设备组 (VERITAS 卷管理器)

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

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

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


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

    请参见SPARC: 如何将磁盘组注册为设备组 (VERITAS 卷管理器)

ProcedureSPARC: 如何给设备组分配新的从设备号 (VERITAS 卷管理器)

如果设备组的注册因为与另一磁盘组发生从设备号冲突而失败,则必须为新磁盘组分配一个未使用过的新从设备号。分配了新的从设备号后,请重新运行该过程,将磁盘组注册为 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 卷管理器)


示例 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 卷管理器)

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


注 –

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


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

开始之前

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

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

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

  3. 要使用 VxVM 设备组,请键入与设备组和卷的选项相对应的编号。

    这时将显示“Device Groups”菜单。

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

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

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

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

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


    scconf: Failed to add device group - in use

    要重新为设备组分配从设备号,请参考SPARC: 如何给设备组分配新的从设备号 (VERITAS 卷管理器)中的过程。此过程使您能够分配一个新的、并且与现有设备组所使用的从设备号不冲突的从设备号。

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


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

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


    # cldevicegroup status devicegroup
    

    注 –

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



示例 5–24 SPARC: 注册 VERITAS 卷管理器 设备组

以下示例显示了当 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 卷管理器)

ProcedureSPARC: 如何注册磁盘组的配置更改 (VERITAS 卷管理器)

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

  3. 要使用 VxVM 设备组,请键入与设备组和卷的选项相对应的编号。

    这时将显示“Device Groups”菜单。

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

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


示例 5–25 SPARC: 注册 VERITAS 卷管理器 磁盘组配置更改

以下示例显示了当 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 卷管理器)


注 –

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


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

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

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


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


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


    # vxedit -g diskgroup -rf rm volume
    
    -g diskgroup

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

    -rf rm volume

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

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

    请参见SPARC: 如何注册磁盘组的配置更改 (VERITAS 卷管理器)

ProcedureSPARC: 如何删除和取消注册设备组 (VERITAS 卷管理器)

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

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

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

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

  2. 使设备组脱机。


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


    # clsetup
    

    显示“Main Menu”。

  4. 要使用 VxVM 设备组,请键入与设备组和卷的选项相对应的编号。

    这时将显示“Device Groups”菜单。

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

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


示例 5–26 SPARC: 删除并取消注册 VERITAS 卷管理器 设备组

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


# cldevicegroup offline dg1
# clsetup

   cldevicegroup delete dg1

ProcedureSPARC: 如何向设备组添加节点 (VERITAS 卷管理器)

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

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

  3. 要使用 VxVM 设备组,请键入与设备组和卷的选项相对应的编号。

    这时将显示“Device Groups”菜单。

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

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

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

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


    # cldevicegroup show devicegroup 
    

示例 5–27 SPARC: 向 VERITAS 卷管理器 设备组添加节点

以下示例显示了当 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 卷管理器)

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

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

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

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


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

  3. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

  4. 要重新配置设备组,请键入与设备组和卷的选项相对应的编号。

  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如何从原始磁盘设备组中删除节点

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

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

  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 属性。

开始之前

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

  3. 要使用设备组,请键入与设备组和卷的选项相对应的编号。

    这时将显示“Device Groups”菜单。

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

    此时将显示“Change Key Properties Menu”。

  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 属性可指定当设备组主节点发生故障时,该组中可作为主节点的节点数目。设备服务默认的辅助节点数为一。您可将该值设置为一与设备组中有效非主提供节点的数目之间的任意整数。

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

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

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

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

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

    这时将显示“Device Groups”菜单。

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

    此时将显示“Change Key Properties Menu”。

  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 更改所需的辅助节点数 (Solstice DiskSuite 或 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: 设置所需的辅助节点数(Solaris Volume Manager)

以下示例显示了当 clsetup 将设备组 (dg-schost-1) 所需的辅助节点数设置为二时所生成的 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 授权。

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

  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 联机帮助。

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

  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 活动),应该使设备组处于维护状态。此外,将设备组置于维护状态还可确保当系统在一个节点上修复磁盘集或磁盘组时,另一节点上的设备组不会联机,从而防止数据丢失。


注 –

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


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

  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 卷管理器:


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

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


    注意 – 注意 –

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


    • 对于 Solaris Volume Manager:


      # metaset -C release -s diskset
      
    • 对于 VERITAS 卷管理器:


      # 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