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 磁盘设备组  

- 使用 metasetmetaclear( 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

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

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

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


注意:

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


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

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


    # scgdevs
    

示例 — 更新全局设备名称空间

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


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

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

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

  1. 成为连接到想用其创建磁盘集的磁盘的节点的超级用户。

  2. 计算配置所需的元设备名称的数量,并修改各节点上的 /kernel/drv/md.conf 文件。

    请参阅Sun Cluster 软件安装指南(适用于 Solaris OS)中的“如何设置元设备名称和磁盘集的数量”。

  3. 使用 metaset(1M) 命令可以添加 Solstice DiskSuite/Solaris Volume Manager 磁盘集并可以在 Sun Cluster 中将其注册为磁盘设备组。


    # metaset -s diskset -a -h nodelist
    

    -s diskset

    指定要创建的磁盘集。

    -a -h nodelist

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


    注意:

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


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

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


    # scconf -p | grep disk-device-group
    

示例 — 添加 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 的文档。

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

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

  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
    

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

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

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

    设备组类型 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   
    Device group node list:  phys-schost-1, phys-schost-2, phys-schost-1%

示例 - 从一个磁盘设备组 (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
 Device Group Servers --
                       Device Group  Primary        Secondary
                       ------------  -------        ---------
Device group node list: dg-schost-1, phys-schost-2,  

如何在一个群集中创建多于三个的磁盘集

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

  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
    

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


注意:

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


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

如果使用 VxVM 为 Oracle Parallel Server/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/Real Application Clusters 共享磁盘组。

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


注意:

此过程仅用于封装磁盘。 初始化磁盘时,请遵照过程SPARC: 如何在初始化磁盘时创建新的磁盘组 (VERITAS Volume Manager)


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

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

如果使用 VxVM 为 Oracle Parallel Server/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/Real Application Clusters 共享磁盘组。

SPARC: 如何向现有的磁盘设备组 (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 磁盘组的更改,所以,全局名称空间得以更新。

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

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

通过将磁盘组导入到当前节点上然后将该磁盘组注册为 Sun Cluster 的磁盘设备组,可以使现有的 VxVM 磁盘组成为 Sun Cluster 磁盘设备组。

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

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


    # vxdg import diskgroup
    

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

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

SPARC: 如何给磁盘设备组 (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)

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

SPARC: 如何将磁盘组注册为磁盘设备组 (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) 同步磁盘设备组。 这样的配置更改包括添加或删除卷,以及更改现有卷的组、属主或许可。 配置更改后的注册将确保全局名称空间处于正确的状态。 请参阅如何更新全局设备名称空间


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

SPARC: 从此处可转到何处

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

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

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

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

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

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


    # scsetup
    

    显示“Main Menu”。

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

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

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

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

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

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


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

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

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

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

  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
    

SPARC: 示例—设置所需的辅助节点数(VERITAS 卷管理器)

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


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

SPARC: 如何从磁盘设备组删除卷 (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

    删除指定的卷。

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

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

SPARC: 如何删除和取消注册磁盘设备组 (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 磁盘组。

SPARC: 示例 — 删除并取消注册 VERITAS Volume Manager 磁盘设备组

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


# scswitch -F -D dg1
# scsetup

   scconf -r -D name=dg1

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

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

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

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

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


    # scsetup
    
    将显示“Main Menu”。

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

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

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

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

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

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


    # scconf -p 
    

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

SPARC: 如何从磁盘设备组 (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
    

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

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

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

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

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

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

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


    # scconf -pvv | grep Devicenodename | grep 	
    

  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
    

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 group type
	(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 group type
    (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

如何更改磁盘设备特性

建立磁盘设备组主拥有权的方法视拥有权首选属性设置(称为 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 
    

示例 — 更改磁盘设备组特性

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


# scconf -c -D name=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

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

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

如果更改了 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. 要使用磁盘设备组,请键入 4(设备组和卷)。

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

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

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

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

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

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

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


    # scconf -p 
    

示例—更改所需的辅助节点数

以下示例显示了 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

如何列出磁盘设备组配置

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

您可以使用三种方法列出磁盘设备组配置信息。

  1. 使用 SunPlex Manager GUI。

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

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


    % scstat -D
    

    使用 scconf(1M) 可以列出磁盘设备组配置。


    % scconf -p
    

示例 — 使用 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

示例 — 使用 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

如何切换设备组的主节点

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

您还可以通过使用 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
    

示例 — 切换磁盘设备组的主节点

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


# 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

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

使设备组处于维护状态可以在设备组的某个设备被访问时防止设备组自动联机。 完成修复过程后(该过程要求完成修复前停止一切 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
    

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

此示例说明了如何使磁盘设备组 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