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

管理磁盘设备组

scsetup(1M) 实用程序是 scconf(1M) 命令的交互式界面。scsetup 生成 scconf 命令。生成的命令显示在某些过程结尾部分的示例中。


注 –

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


表 4–2 任务列表:管理磁盘设备组

任务 

有关说明,请转到… 

在不进行重配置重新引导的情况下更新全局设备名称空间 

- 使用 scgdevs(1M)

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

添加 Solstice DiskSuite/Solaris Volume Manager磁盘集并将其注册为磁盘设备组。 

- 使用 metaset(1M)

如何添加并注册磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager)

从配置中删除 Solstice DiskSuite/Solaris Volume Manager磁盘设备组 

- 使用 metaset and metaclear(1M)

如何删除和取消注册磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager)

从所有磁盘设备组中删除节点 

- 使用 scconfmetasetscsetup

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

从 Solstice DiskSuite/Solaris Volume Manager磁盘设备组中删除节点 

- 使用 metaset

如何从磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager) 删除节点

SPARC:将 VERITAS Volume Manager 磁盘组作为磁盘设备组添加 

- 结合使用 VxVM 命令和 scsetup(1M)

SPARC: 如何在初始化磁盘时创建新磁盘组 (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)

SPARC:从配置中删除 VERITAS Volume Manager 磁盘设备组 

- 使用 scsetup (生成 scconf)

SPARC: 如何从磁盘设备组 (VERITAS Volume Manager) 删除卷

 

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

SPARC:将节点添加到 VERITAS Volume Manager 磁盘设备组中 

- 使用 scsetup 生成 scconf

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

SPARC:从 VERITAS Volume Manager 磁盘设备组中删除节点 

- 使用 scsetup 生成 scconf

SPARC: 如何从磁盘设备组 (VERITAS Volume Manager) 删除节点

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

- 使用 scconf(1M)

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

更改磁盘设备组属性 

- 使用 scsetup 生成 scconf

如何更改磁盘设备属性

显示磁盘设备组及其属性 

- 使用 scconf

如何列出磁盘设备组配置

更改设备组所需的辅助节点数 

- 使用 scsetup 生成 scconf

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

切换磁盘设备组的主节点 

- 使用 scswitch(1M)

如何切换设备组的主节点

使磁盘设备组处于维护状态 

- 使用 metasetvxdg

如何使磁盘设备组处于维护状态

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

添加新的全局设备时,可以通过运行 scgdevs(1M) 来手动更新全局设备名称空间。


注 –

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


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

  2. 使用 scgdevs 命令重新配置名称空间。


    # scgdevs
    

示例 4–1 更新全局设备名称空间

以下示例显示的是成功运行 scgdevs 后生成的输出内容。


# scgdevs 
Configuring the /dev/global directory (global devices)...
obtaining access to all attached disks
reservation program successfully exiting

Procedure如何添加并注册磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager)

使用 metaset 命令以创建 Solstice DiskSuite/Solaris Volume Manager磁盘集并将其注册为 Sun Cluster 磁盘设备组。注册磁盘集后,分配给该磁盘集的名称将自动分配给磁盘设备组。

步骤
  1. 在想要用于创建磁盘集的磁盘所连接的节点上成为超级用户。

  2. 计算配置所需的 Solstice DiskSuite 元设备或 Solaris Volume Manager 卷的名称的数目,并修改每个节点上的 /kernel/drv/md.conf 文件。

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

  3. 使用 metaset(1M) 命令添加 Solstice DiskSuite/Solaris Volume Manager磁盘集并在 Sun Cluster 中将其注册为磁盘设备组。要创建多属主磁盘组,请使用 –M 选项。


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

    指定要创建的磁盘集。

    -a -h nodelist

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

    -M

    将磁盘组指定为多属主。


    注 –

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


  4. 检验是否已添加磁盘设备组。

    磁盘设备组名称与用 metaset 指定的磁盘集名称相匹配。


    # scconf -p | grep disk-device-group
    

示例 4–2 添加 Solstice DiskSuite/Solaris Volume Manager磁盘设备组

以下示例显示了磁盘集和磁盘设备组的创建,以及检验磁盘设备组是否已创建。


# metaset -s dg-schost-1 -a -h phys-schost-1
# scconf -p | grep dg-schost-1
Device group name: dg-schost-1

如何删除和取消注册磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager)

磁盘设备组是已在 Sun Cluster 中注册的 Solstice DiskSuite/Solaris Volume Manager磁盘集。要删除 Solstice DiskSuite/Solaris Volume Manager磁盘设备组,请使用 metaclear 命令和 metaset 命令。这些命令将同名磁盘设备组删除并取消其注册,使之不再是 Sun Cluster 磁盘设备组。

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

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

使用以下过程可以从所有将群集节点作为潜在主节点列出的磁盘设备组中删除该节点:

步骤
  1. 成为要作为所有磁盘设备组的潜在主节点而被删除的那个节点的超级用户。

  2. 确定磁盘设备组,其成员中包括所要删除的节点。

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


    # scconf -p | grep "Device group"
    
  3. 步骤 2 中标识的磁盘设备组有没有属于设备组类型 SDS/SVM 的?

  4. 步骤 2 中标识的磁盘设备组有没有属于设备组类型 VxVM 的?

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

    请注意以下涉及 -pvv 的命令中包含两个“v”。第二个“v”用于显示原始磁盘设备组:


    # scconf -pvv | grep "Device group"
    
  6. 步骤 5 中所列的磁盘设备组有没有属于设备组类型 DiskLocal_Disk 或同时属于这两者的?

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

    如果该节点不再是任何磁盘设备组的潜在主节点,则以下命令不返回任何内容:


    # scconf -pvv | grep "Device group" | grep nodename
    

Procedure如何从磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager) 删除节点

使用以下过程可从 Solstice DiskSuite/Solaris Volume Manager磁盘设备组的潜在主节点列表中删除某个群集节点:对每个要从中删除节点的磁盘设备组重复 metaset 命令。

步骤
  1. 检验节点是否仍是磁盘设备组的成员并且该组是否是 Solstice DiskSuite/Solaris Volume Manager磁盘设备组。

    设备组类型 SDS/SVM 代表 Solstice DiskSuite/Solaris Volume Manager磁盘设备组。


    phys-schost-1% scconf -pv | grep '(global-galileo)'
      (global-galileo) Device group type:              SDS/SVM
      (global-galileo) Device group failback enabled:  no
      (global-galileo) Device group node list:         phys-schost-1, phys-schost-2
      (global-galileo) Diskset name:                   global-galileo
    phys-schost-1%
  2. 确定哪个节点是设备组当前的主节点。


    # scstat -D
    
  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% scconf -pv | grep  devicegroup  
    Device group node list:  phys-schost-1, phys-schost-2

示例 4–3 从一个磁盘设备组 (Solstice DiskSuite/Solaris Volume Manager) 中删除某节点

以下示例显示的是从磁盘设备组配置中删除主机名 phys-schost-2 的过程。该示例排除了 phys-schost-2 作为指定磁盘设备组的主节点的可能性。通过运行 scstat -D 命令检验节点是否已删除。检查删除的节点是否不再显示在屏幕文本中。


[确定节点的 Solstice DiskSuite/Solaris Volume Manager磁盘设备组 (2) :]
# scconf -pv | grep Device
  Device group name:                 dg-schost-1
    Device group type:               SDS/SVM
    Device group failback enabled:   no
    Device group node list:          phys-schost-1, phys-schost-2
    Device group ordered node list:  yes
    Device group diskset name:    	 dg-schost-1
[确定哪一个节点作为磁盘设备组的当前主节点:]
# scstat -D
  -- Device Group Servers --
                       Device Group  Primary        Secondary
                       ------------  -------        ---------
  Device group servers: dg-schost-1  phys-schost-1  phys-schost-2
[成为当前拥有磁盘设备组的节点上的超级用户。]
[从磁盘设备组删除主机名:]
# metaset -s dg-schost-1 -d -h phys-schost-2
[检验节点的删除:]
phys-schost-1% scconf -pv | grep dg-schost-1
  -- Device Group Servers --
                       Device Group  Primary        Secondary
                       ------------  -------        ---------
  Device group servers: dg-schost-1  phys-schost-1  

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

如果要在群集中创建三个以上磁盘集,则在创建这些磁盘集之前,请执行以下步骤。如果是第一次安装磁盘集,或要向完全配置的群集中添加更多的磁盘集,请执行以下步骤。

步骤
  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 文件在群集的每个节点上都完全相同。


      注意 – 注意 –

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


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


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

      • SPARC:


        ok boot
        
      • x86:


                              <<< Current Boot Parameters >>>
        Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@
        7,1/sd@0,0:a
        Boot args:
        
        Type b [file-name] [boot-flags] <ENTER> to boot with options
        or   i <ENTER>                          to enter boot interpreter
        or   <ENTER>                            to boot with defaults
        
                          <<< timeout in 5 seconds >>>
        Select (b)oot or (i)nterpreter: b
        
  2. 在群集的每个节点上,运行 devfsadm(1M) 命令。

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

  3. 在群集的一个节点上,运行 scgdevs(1M) 命令。

  4. 在每个节点上,尝试创建任何磁盘集之前,请检验 scgdevs 命令已完成。

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


     % ps -ef | grep scgdevs
    

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


注 –

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


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

如果使用 VxVM 为 Oracle Parallel Server 或 Oracle Real Application Clusters 建立共享磁盘组,则使用《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 Parallel Server 或 Oracle Real Application Clusters 共享磁盘组。

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


注 –

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


您可以使非根磁盘加入 Sun Cluster 磁盘设备组中,方法是将磁盘封装为 VxVM 磁盘组,然后再将它们注册为 Sun Cluster 磁盘设备组。

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

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

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

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

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

  3. 封装磁盘。

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

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

    scswitch(1M) 命令可将所有资源组和设备组从主节点切换到下一个首选节点。使用 shutdown 可以关闭并重新启动节点。


    # scswitch -S -h node[,...]
    # shutdown -g0 -y -i6
    
  5. 根据需要,可将所有的资源组和设备组切换回原始节点。

    如果资源组和设备组按初始配置应将故障转移回主节点,则不必执行此步骤。


    # scswitch -z -D disk-device-group -h node[,...] 
    # scswitch -z -g resource-group -h node[,...] 
    
  6. 将 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。

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

    不在群集框架中注册 Oracle Parallel Server 或 Oracle Real Application Clusters 共享磁盘组。

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

ProcedureSPARC: 如何向现有的磁盘设备组 (VERITAS Volume Manager) 添加新卷

将新卷添加到现有的 VxVM 磁盘设备组中时,请在联机磁盘设备组的主节点中执行此过程。


注 –

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


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

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


    # scstat -D
    
  3. 如果磁盘设备组脱机,应使设备组联机。


    # scswitch -z -D disk-device-group -h node[,...]
    
    -z -D disk-device-group

    切换指定的设备组。

    -h node

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

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

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

  5. 注册 VxVM 磁盘组更改以更新全局名称空间。

    DPM

    SPARC: 如何注册磁盘设备组配置更改 (VERITAS Volume Manager)

ProcedureSPARC: 如何使现有磁盘组成为磁盘设备组 (VERITAS Volume Manager)

通过将磁盘组导入到当前节点,然后将该磁盘组注册为 Sun Cluster 磁盘设备组,可以使现有的 VxVM 磁盘组成为 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)


示例 4–4 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)

此过程使用 scsetup(1M) 实用程序将关联的 VxVM 磁盘组注册为 Sun Cluster 磁盘设备组。


注 –

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


注册 VxVM 磁盘设备组的先决条件如下:

定义了首选顺序后,也就指定了在首选节点被关闭然后又返回到群集中时,是否让磁盘设备组切换回首选节点。

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

非主群集节点(备用节点)根据节点首选项顺序转换为辅助节点。磁盘设备组的缺省辅助节点数通常设置为一。该缺省设置使正常运行期间多个辅助节点的主检查点操作对性能的影响最小。例如,在包含四个节点的群集中,缺省情况下配置一个主节点、一个辅助节点和两个备用节点。另请参见SPARC: 如何设置所需的辅助节点数 (VERITAS Volume Manager)

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

  2. 进入 scsetup 实用程序。


    # scsetup
    

    显示“Main Menu”。

  3. 要使用 VxVM 磁盘设备组,请键入 4(设备组和卷)。

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

  4. 要注册 VxVM 磁盘设备组,请键入 1(将 VxVM 磁盘组注册为设备组)。

    按照说明输入要注册为 VxVM 磁盘设备组的 Sun Cluster 磁盘组的名称。

    如果使用 VxVM 为 Oracle Parallel Server/Real Application Clusters 建立共享磁盘组,则不要向群集框架注册该共享磁盘组。请使用《VERITAS Volume Manager Administrator's Reference Guide》中所述的 VxVM 的群集功能。

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


    scconf: Failed to add device group - in use

    要为磁盘设备组重新分配次编号,请执行SPARC: 如何给磁盘设备组 (VERITAS Volume Manager) 分配新的次编号中所述的过程。通过该过程,您可以分配新的次编号,该次编号不会与现有的磁盘设备组所用的次编号冲突。

  6. 检验磁盘设备组是否已注册并处于联机状态。

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


    # scstat -D
    

    注 –

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



示例 4–5 SPARC: 注册 VERITAS Volume Manager 磁盘设备组

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


# scsetup

scconf -a -D type=vxvm,name=dg1,nodelist=phys-schost-1:phys-schost-2


# scstat -D
-- Device Group Servers --
                         Device Group      Primary           Secondary
                         ------------      -------           ---------
Device group servers:    dg1              phys-schost-1      phys-schost-2
 
-- Device Group Status --
                              Device Group        Status              
                              ------------        ------              
  Device group status:        dg1                 Online

另请参见

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

如果存在与次编号相关的问题,请参见SPARC: 如何给磁盘设备组 (VERITAS Volume Manager) 分配新的次编号

ProcedureSPARC: 如何注册磁盘设备组配置更改 (VERITAS Volume Manager)

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

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

  2. 运行 scsetup(1M) 实用程序。


    # scsetup
    

    显示“Main Menu”。

  3. 要使用 VxVM 磁盘设备组,请键入 4(设备组和卷)。

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

  4. 要注册配置更改,请键入 2(同步 VxVM 设备组的卷信息)。

    按照说明输入已更改配置的 VxVM 磁盘组。


示例 4–6 SPARC: 注册 VERITAS Volume Manager 磁盘组配置更改

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


# scsetup
 
scconf -c -D name=dg1,sync

ProcedureSPARC: 如何设置所需的辅助节点数 (VERITAS Volume Manager)

当主节点出现故障时,numsecondaries 属性指定设备组内能够控制设备组的节点的数目。设备服务缺省的辅助节点数为一。该值可以设置为一和设备组中有效的非主提供节点的数目之间的任意整数。

该设置是平衡群集性能和可用性的一个重要因素。例如,增大所需的辅助节点数可以增大设备组在群集中同时发生多处故障时正常运行的机率。增大辅助节点数通常还会降低正常运行时的性能。一般情况下,辅助节点数越少,性能越好,但是可用性越差。但是,辅助节点数多并不一定会提高出现问题的文件系统或设备组的可用性。有关更多信息,请参阅《Sun Cluster 概念指南(适用于 Solaris OS)》中的第 3  章 “适用于系统管理员和应用程序开发者的关键概念”

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

  2. 运行 scsetup(1M) 实用程序。


    # scsetup
    

    显示“Main Menu”。

  3. 要使用 VxVM 磁盘设备组,请键入 4(设备组和卷)。

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

  4. 要更改设备组的关键属性,键入 6(更改设备组的关键属性)。

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

  5. 要更改所需的辅助节点数,键入 2(更改 numsecondaries 属性)。

    按照说明键入要为磁盘设备组配置的所需辅助节点数。键入相应的值后,将执行相应的 scconf 命令。然后会输出日志,用户返回上一个菜单。

  6. 使用 scconf -p 命令验证设备组配置。


    # scconf -p | grep Device
    Device group name:                          dg-schost-1
    Device group type:                          VxVM
    Device group failback enabled:              yes
    Device group node list:                     phys-schost-1,phys-schost-2, phys-schost-3
    Device group ordered node list:             yes
    Device group desired number of secondaries: 1
    Device group diskset name:                  dg-schost-1

    注 –

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


  7. 检验该磁盘设备组的主节点和状态。


    # scstat -D
    

示例 4–7 SPARC: 设置所需的辅助节点数(Solaris Volume Manager)

以下示例显示了 scsetup 配置设备组 (diskgrp1) 所需的辅助节点数时生成的 scconf 命令。有关在创建设备后更改所需的辅助节点数的信息,请参见如何更改设备组所需的辅助节点数


# scconf -a -D type=vxvm,name=diskgrp1,nodelist=host1:host2:host3\ 
,preferenced=true,failback=enabled,numsecondaries=2
 

ProcedureSPARC: 如何从磁盘设备组 (VERITAS Volume Manager) 删除卷


注 –

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


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

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


    # scstat -D
    
  3. 如果磁盘设备组为脱机状态,则使其联机。


    # scswitch -z -D disk-device-group  -h node
    
    -z

    执行切换。

    -D disk-device-group

    指定要切换的设备组。

    -h node

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

  4. 从主节点(当前主控磁盘设备组的节点)删除磁盘组中的 VxVM 卷。


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

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

    -rf rm volume

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

  5. 使用 scsetup(1M) 来注册磁盘设备组的配置更改,以更新全局名称空间。

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

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

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

此过程使用 scsetup(1M) 实用程序删除 VxVM 磁盘组并取消其作为 Sun Cluster 磁盘设备组的注册。

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

  2. 使磁盘设备组脱机。


    # scswitch -F -D disk-device-group
    
    -F

    使磁盘设备组脱机。

    -D disk-device-group

    指定要脱机的设备组。

  3. 进入 scsetup 实用程序。

    显示“Main Menu”。


    # scsetup
    
  4. 要使用 VxVM 设备组,请键入 4(设备组和卷)。

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

  5. 要取消注册 VxVM 磁盘组,请键入 3(取消注册 VxVM 设备组)。

    按照说明输入将要取消注册的 VxVM 磁盘组。


示例 4–8 SPARC: 删除和取消注册 VERITAS Volume Manager 磁盘设备组

以下示例显示了脱机的 VxVM 磁盘设备组 dg1,以及 scsetup 删除并取消注册磁盘设备组时生成的 scconf 命令。


# scswitch -F -D dg1
# scsetup

   scconf -r -D name=dg1

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

此过程使用 scsetup(1M) 实用程序向磁盘设备组添加节点。

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

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

  2. 在提示处键入 scsetup 命令。


    # scsetup
    

    显示“Main Menu”。

  3. 要使用 VxVM 磁盘设备组,请键入 4(设备组和卷)。

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

  4. 要向 VxVM 磁盘设备组添加节点,请键入 4(向 VxVM 设备组添加节点)。

    按照说明输入设备组和节点的名称。

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

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


    # scconf -p 
    

示例 4–9 SPARC: 向 VERITAS Volume Manager 磁盘设备组中添加节点

以下示例说明了 scsetup 向 VxVM 磁盘设备组 (dg1) 添加节点 (phys-schost-3) 时生成的 scconf 命令,以及检验步骤。


# scsetup
 
scconf a D type=vxvm,name=dg1,nodelist=phys-schost-3
  
# scconf -p
Device group name:                dg1
   Device group type:             VXVM
   Device group failback enabled: yes
   Device group node list:        phys-schost-1, phys-schost-3

ProcedureSPARC: 如何从磁盘设备组 (VERITAS Volume Manager) 删除节点

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

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

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


    phys-schost-1% scconf -pv | grep '(global-galileo)'
      (global-galileo) Device group type:              VxVM
      (global-galileo) Device group failback enabled:  no
      (global-galileo) Device group node list:         phys-schost-1, phys-schost-2
      (global-galileo) Diskset name:                   global-galileo
    phys-schost-1%
  2. 成为当前群集成员节点的超级用户。

  3. 执行 scsetup(1M) 命令。


    # scsetup
    

    显示“Main Menu”。

  4. 要重新配置磁盘设备组,请键入 4(设备组和卷)。

  5. 要从 VxVM 磁盘设备组中删除该节点,请键入 5(从 VxVM 设备组删除节点)。

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

    • VxVM 设备组

    • 节点名称

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


    # scconf -p | grep Device
    

示例 4–10 SPARC: 从一个磁盘设备组 (VxVM) 删除某节点

此示例显示了将名为 phys-schost-1 的节点从 dg1 VxVM 磁盘设备组中删除。


[确定节点的 VxVM 磁盘设备组:]
# scconf -p | grep Device
  Device group name:                 dg1
    Device group type:               VxVM
    Device group failback enabled:   no
    Device group node list:          phys-schost-1, phys-schost-2
    Device group diskset name:    	dg1
[成为超级用户并执行 scsetup  实用程序:]
# scsetup
 Select Device groups and volumes>Remove a node from a VxVM device group.

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

[检验 scconf 命令是否已正确执行:] 
scconf -r -D name=dg1,nodelist=phys-schost-1
 
    Command completed successfully.
Quit the scsetupDevice Groups Menu and Main Menu.
[检验节点是否已删除:]
# scconf -p | grep Device
  Device group name:                 dg1
    Device group type:               VxVM
    Device group failback enabled:   no
    Device group node list:          phys-schost-2
    Device group diskset name:    	dg1

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

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

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

步骤
  1. 成为群集中其他节点(即不是要删除的节点)的超级用户。

  2. 标识与要删除的节点相连接的磁盘设备组。

    Device group node list 条目中查找该节点名。


    # scconf -pvv | grep nodename | grep "Device group node list"
    
  3. 确定步骤 2 中标识的磁盘设备组中哪些是原始磁盘设备组。

    原始磁盘设备组所属设备组类型是 DiskLocal_Disk


    # scconf -pvv | grep group-type
    
  4. 禁用每个 Local_Disk 原始磁盘设备组的 localonly 属性。


    # scconf -c -D name=rawdisk-device-group,localonly=false
    

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

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

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


    # scconf -pvv | grep group-type 
    
  6. 步骤 3 中标识的所有原始磁盘设备组中删除节点。

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


    # scconf -r -D name=rawdisk-device-group,nodelist=nodename
    

示例 4–11 SPARC: 从原始磁盘设备组中删除节点

此示例显示从一个原始磁盘设备组删除节点 (phys-schost-2) 的过程。所有命令均是从该群集的另一节点 (phys-schost-1) 上运行的。


[标识连接到要删除的节点的磁盘设备组:]
phys-schost-1# scconf -pvv | grep phys-schost-2 | grep "Device group node list"
	(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
[标识原始磁盘设备组:]
phys-schost-1# scconf -pvv | grep Disk
	(dsk/d4) Device group type:          Local_Disk
	(dsk/d8) Device group type:          Local_Disk
[禁用节点上每个本地磁盘的 localonly 标志:]
phys-schost-1# scconf -c -D name=dsk/d4,localonly=false
[检验 localonly 标志是否已禁用:]
phys-schost-1# scconf -pvv | grep Disk 
    (dsk/d4) Device group type:          Disk
    (dsk/d8) Device group type:          Local_Disk
[从所有原始磁盘设备组中删除节点:]
phys-schost-1# scconf -r -D name=dsk/d4,nodelist=phys-schost-2

phys-schost-1# scconf -r -D name=dsk/d2,nodelist=phys-schost-2

phys-schost-1# scconf -r -D name=dsk/d1,nodelist=phys-schost-2

Procedure如何更改磁盘设备属性

建立磁盘设备组的主拥有权的方法根据属主首选属性(称为 preferenced)的设置而定。如果未设置该属性,则另外的无属主磁盘设备组的主属主是第一个尝试访问该组中的磁盘的节点。但是,如果设置了该属性,您必须指定节点尝试建立拥有权时采用的首选顺序。

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

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

此过程使用 scsetup(1M) 设置或取消设置 Solstice DiskSuite/Solaris Volume Manager或 VxVM 磁盘设备组的 preferenced 属性和 failback 属性。

要运行此过程,需要正在更改其属性值的磁盘设备组的名称。

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

  2. 运行 scsetup 命令。

    显示“Main Menu”。


    # scsetup
    
  3. 要使用磁盘设备组,请键入 4(设备组和卷)。

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

  4. 要更改设备组的关键属性,键入 6(更改 VxVM 或 Solstice DiskSuite/Solaris Volume Manager设备组的关键属性)。

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

  5. 要更改设备组属性,键入 1(更改首选属性和/或故障返回属性)。

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

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

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


    # scconf -p 
    

示例 4–12 更改磁盘设备组属性

以下示例显示 了 scsetup 设置磁盘设备组 (dg-schost-1) 的属性值时生成的 scconf 命令。


# scconf  -c -Dname=dg-schost-1,nodelist=phys-schost-1:phys-schost-2, \
preferenced=true,failback=enabled,numsecondaries=1

# scconf -p | grep Device
Device group name:                             dg-schost-1
   Device group type:                          SDS
   Device group failback enabled:              yes
   Device group node list:                     phys-schost-1, phys-schost-2
   Device group ordered node list:             yes
   Device group desired number of secondaries: 1
   Device group diskset name:                  dg-schost-1

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

设备组辅助节点的缺省数设置为一。该设置指定设备组中可以在主节点出现故障时成为组的主拥有者的节点数。所需辅助节点数的值可以设置为一和设备组中非主提供节点的数目之间的任意整数。

如果更改了 numsecondaries 属性,造成实际辅助节点数和所需辅助节点数不一致,将在设备组中添加或删除节点。

此过程使用 scsetup(1M) 设置或取消设置 Solstice DiskSuite/Solaris Volume Manager或 VxVM 磁盘设备组的 numsecondaries 属性。有关配置任意设置组时的磁盘设置组选项的信息,请参见 scconf_dg_rawdisk(1M)scconf_dg_sds(1M)scconf_dg_svm(1M)scconf_dg_vxvm(1M)

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

  2. 运行 scsetup 实用程序。


    # scsetup
    

    显示“Main Menu”。

  3. 要使用磁盘设备组,请键入 5(设备组和卷)。

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

  4. 要更改设备组的关键属性,键入 6(更改设备组的关键属性)。

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

  5. 要更改所需的辅助节点数,键入 2(更改 numsecondaries 属性)。

    按照说明键入要为磁盘设备组配置的所需辅助节点数。在输入相应的值后,将执行相应的 scconf 命令,输入一个日志,用户返回上一个菜单。

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

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


    # scconf -p 
    

示例 4–13 更改所需的辅助节点数

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


# scconf -c -D name=phys-host-1,nodelist=phys-schost-1:phys-schost-2,phys-schost-3 \
preferenced=true,failback=enabled,numsecondaries=1

# scconf -p | grep Device
Device group name:                             dg-schost-1
   Device group type:                          SDS/SVM
   Device group failback enabled:              yes
   Device group node list:                     phys-schost-1, phys-scost-2, phys-schost-3 
   Device group ordered node list:             yes
   Device group desired number of secondaries: 1
   Device group diskset name:                  dg-schost-1

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


# scconf -c -D name=diskgrp1, nodelist=host1:host2:host3, \
preferenced=false,failback=enabled,numsecondaries= 
 # scconf -p | grep Device
Device group name:                             dg-schost-1
   Device group type:                          SDS/SVM
   Device group failback enabled:              yes
   Device group node list:                     phys-schost-1, phost-2, phys-schost-3
   Device group ordered node list:             yes
   Device group desired number of secondaries: 1
   Device group diskset name:                  dg-schost-1

Procedure如何列出磁盘设备组配置

您不需要成为超级用户就可以列出配置。

步骤

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

    • 使用 SunPlex Manager GUI。

      有关详细信息,请参阅 SunPlex Manager 的联机帮助。

    • 使用 scstat(1M) 列出磁盘设备组配置。


      % scstat -D
      
    • 使用 scconf(1M) 列出磁盘设备组配置。


      % scconf -p
      

示例 4–14 使用 scstat 列出磁盘设备组配置

使用 scstat -D 命令显示以下信息。


-- Device Group Servers --
                         Device Group           Primary             Secondary
                         ------------           -------             ---------
  Device group servers:  phys-schost-2          -                   -
  Device group servers:  phys-schost-1          phys-schost-2       phys-schost-3
  Device group servers:  phys-schost-3          -                   -
-- Device Group Status --
                              Device Group          Status              
                              ------------          ------              
  Device group status:        phys-schost-2          Offline
  Device group status:        phys-schost-1          Online
  Device group status:        phys-schost-3          Offline


示例 4–15 使用 scconf 列出磁盘设备组配置

使用 scconf 命令时,请查看设备组下列出的信息。


# scconf -p
...
Device group name: dg-schost-1
	Device group type:              SDS/SVM
	Device group failback enabled:  yes
	Device group node list:         phys-schost-2, phys-schost-3
	Device group diskset name:      dg-schost-1

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

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

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

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

  2. 使用 scswitch(1M) 可以切换磁盘设备组的主节点。


    # scswitch -z -D disk-device-group -h node
    
    -z

    执行切换。

    -D disk-device-group

    指定要切换的设备组。

    -h node

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

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

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


    # scstat -D
    

示例 4–16 切换磁盘设备组的主节点

以下示例说明了如何切换磁盘设备组的主节点并检验此更改。


# scswitch -z -D dg-schost-1 -h phys-schost-1
# scstat -D

-- Device Group Servers --
                          Device Group               Primary             Secondary
                         ------------                -------             ---------
Device group servers:    dg-schost-1                 phys-schost-1       phys-schost-2
 
-- Device Group Status --
                                Device Group              Status              
                              ------------                ------              
  Device group status:        dg-schost-1                 Online

Procedure如何使磁盘设备组处于维护状态

使设备组处于维护状态可以在设备组的某个设备被访问时防止设备组自动联机。完成修复过程后(该过程要求完成修复前停止一切 I/O 活动),应该使设备组处于维护状态。使设备组处于维护状态还有助于防止数据丢失,具体方法是:确保在一个节点上磁盘设备组没有联机,而同时在另一个节点上修复磁盘集或磁盘组。


注 –

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


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


    # scswitch -m -D disk-device-group
    
  2. 如果所执行的修复过程需要磁盘集或磁盘组的拥有权,请手动导入该磁盘集或磁盘组。

    对于 Solstice DiskSuite/Solaris Volume Manager:


    # metaset -C take -f -s diskset
    

    注意 – 注意 –

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


    对于 VERITAS Volume Manager:


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

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


    注意 – 注意 –

    使磁盘设备组脱离维护状态前,必须释放该磁盘集或磁盘组的拥有权。如果不这样做,可能会导致数据丢失。


    • 对于 Solstice DiskSuite/Solaris Volume Manager:


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


      # vxdg deport disk-group-name
      
  5. 使磁盘设备组联机。


    # scswitch -z -D disk-device-group -h node
    

示例 4–17 使磁盘设备组处于维护状态

该示例说明了如何使磁盘设备组 dg-schost-1 处于维护状态以及如何使该磁盘设备组脱离维护状态。


[使磁盘设备组进入维护状态。]
# scswitch -m -D dg-schost-1
 
[如果需要,请手动输入磁盘集或磁盘组。]
For Solstice DiskSuite/Solaris Volume Manager:
  # metaset -C take -f -s dg-schost-1
For VERITAS Volume Manager:
  # vxdg -t import dg1
  
[完成所有必要的修复过程。]
  
[释放拥有权。]
For Solstice DiskSuite/Solaris Volume Manager:
  # metaset -C release -s dg-schost-1
For VERITAS Volume Manager:
  # vxdg deport dg1
  
[使磁盘设备组联机。]
# scswitch -z -D dg-schost-1 -h phys-schost-1