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

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

本章提供了管理全局设备、磁盘路径监视和群集文件系统的过程。

以下是本章中包含的过程的列表。

有关本章中相关过程的高级说明,请参阅表 4–2

有关全局设备、全局名称空间、磁盘设备组、磁盘路径监视和群集文件系统的概念信息,请参阅Sun Cluster 概念指南(适用于 Solaris OS)

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

对 Sun Cluster 磁盘设备组的管理取决于群集上所安装的卷管理器。 Solstice DiskSuite/Solaris Volume Manager“支持群集”,因此可以使用 Solstice DiskSuite/Solaris Volume Manager metaset(1M) 命令添加、注册以及删除磁盘设备组。 如果使用的是 VERITAS Volume Manager (VxVM),您可以使用 VxVM 命令创建磁盘组。 然后,通过 scsetup(1M) 实用程序将磁盘组注册为 Sun Cluster 磁盘设备组。 删除 VxVM 磁盘设备组时,请使用 scsetup 命令和 VxVM 命令。

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

通常不需要管理全局设备名称空间。 安装过程中会自动设置全局名称空间,并在 Solaris 操作环境重新引导时自动更新。 不过,如果全局名称空间需要更新,可以从任意群集节点运行 scgdevs (1M) 命令。 该命令会导致在所有其它群集节点成员上以及将来可能加入群集的节点上更新全局名称空间。

Solstice DiskSuite/Solaris Volume Manager 的全局设备许可

对全局设备许可所作的更改不会自动传播到 Solstice DiskSuite/Solaris Volume Manager 和磁盘设备的群集中的所有节点。 如果要更改全局设备的许可,必须手动更改群集中所有设备的许可。 例如,如果要将全局设备 /dev/global/dsk/d3s0 的许可更改为 644,则必须对群集中的所有节点执行

# chmod 644 /dev/global/dsk/d3s0

命令。

VxVM 不支持 chmod 命令。 要更改 VxVM 中的全局设备许可,请参阅 VxVM Administrator's Guide。

动态重新配置全局设备

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


小心:小心:

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


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

表 4–1 任务对应关系: 动态重新配置磁盘设备和磁带设备

任务  

有关说明  

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

如何切换设备组的主节点

2. 对正在删除的设备执行 DR 删除操作。 

Solaris 8 on Sun HardwareSolaris 9 on Sun Hardware 文档集中的 Sun Enterprise 10000 DR Configuration GuideSun Enterprise 10000 Dynamic Reconfiguration Reference Manual

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

群集文件系统管理概述

群集文件系统管理不需要特殊的 Sun Cluster 命令。 可以使用诸如 mountnewfs 等标准的 Solaris 文件系统命令,象管理任何其它 Solaris 文件系统一样管理群集文件系统。 可以通过将 -g 选项指定给 mount 命令来安装群集文件系统。 也可以在引导时自动安装群集文件系统。


注意:

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


SPARC: VxFS 支持指南

Sun Cluster 3.1 配置不支持以下 VxFS 功能:

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

对于 VxFS 的所有其它功能和选项来说,只要它们在群集配置中受到支持,则也将受到 Sun Cluster 3.1 软件的支持。 有关群集配置中支持的 VxFS 选项的详细信息,请参阅 VxFS 文档。

以下有关如何使用 VxFS 来创建高可用性群集文件系统的指导信息是针对 Sun Cluster 3.1 4/04 配置的。

以下有关如何管理 VxFS 群集文件系统的指导信息并非只针对 Sun Cluster 3.1 4/04 软件。 但是,这些指导信息与您管理 UFS 群集文件系统的方式会有所不同。

管理磁盘设备组

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

管理群集文件系统

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

表 4–3 任务对应关系: 管理群集文件系统

任务  

有关说明,请转到…  

首次安装 Sun Cluster 后添加群集文件系统  

- 使用 newfs(1M)mkdir

如何添加群集文件系统

删除群集文件系统  

- 使用 fuser(1M)umount(1M)

如何删除群集文件系统

检查群集中的全局安装点在各节点是否一致  

- 使用 sccheck(1M)

如何检查群集中的全局安装

如何添加群集文件系统

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


小心:小心:

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


添加其它群集文件系统的先决条件如下:

如果安装数据服务时使用了 SunPlex Manger,并且有足够的共享磁盘用来创建群集文件系统,则一个或多个群集文件系统业已存在。

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


    提示:

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


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


    注意:

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



    # newfs raw-disk-device
    

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

    表 4–4 原始磁盘设备名样例

    如果您的卷管理器是…  

    则磁盘设备的名称可能是…  

    说明 

    Solstice DiskSuite/Solaris Volume Manager 

    /dev/md/oracle/rdsk/d1

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

    SPARC:VERITAS Volume Manager 

    /dev/vx/rdsk/oradg/vol01

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

    无 

    /dev/global/rdsk/d1s3

    块片 d1s3 中的原始磁盘设备。

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

    每个节点上均需要装载点,即使节点上的群集文件系统不会被访问。


    提示:

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



    # mkdir -p /global/device-group/mountpoint
    
    device-group

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

    mountpoint

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

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

    1. 使用下列必需的安装选项。


      注意:

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


      • Solaris UFS logging – 使用 global,logging 安装选项。 有关 UFS 安装选项的详细信息,请参阅 mount_ufs(1M) 手册页。


        注意:

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


      • Solstice DiskSuite/Solaris Volume Manager trans 元设备或事务卷– 使用 global 安装选项(不要使用 logging 安装选项)。 有关设置 trans 元设备和事务卷的信息,请参阅 Solstice DiskSuite/Solaris Volume Manager 文档。


        注意:

        在以后的 Solaris 版本中,计划将事务卷从 Solaris 操作环境中取消。 自 Solaris 8 版本开始提供的 Solaris UFS 记录可以提供相同的功能,但是可以提高性能并降低系统管理的要求和开销。


      • VxFS 记录 – 使用 globallog 装载选项。 有关详细信息,请参阅 VxFS 软件附带的 mount_vxfs 手册页。

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

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

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

    5. 检查文件系统的引导顺序相关性。

      例如,假定出现以下情况:phys-schost-1 将磁盘设备 d0 安装于 /global/oracle,而 phys-schost-2 将磁盘设备 d1 安装于 /global/oracle/logs。 此时,只有在 phys-schost-1 引导并安装了 /global/oracle 之后,phys-schost-2 才能引导并安装 /global/oracle/logs

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

  5. 在群集的每个节点上,检验是否存在安装点以及群集的所有节点上的 /etc/vfstab 文件条目是否正确。


    # sccheck
    

    如果没有错误,则不返回任何信息。

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


    # mount /global/device-group/mountpoint
    

  7. 在群集的每个节点上检验是否已装载群集文件系统。

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

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

示例 — 添加群集文件系统

以下示例在 Solstice DiskSuite/Solaris Volume Manager 元设备 /dev/md/oracle/rdsk/d1 上创建一个 UFS 群集文件系统。


# newfs /dev/md/oracle/rdsk/d1
...
 
[在每个节点上:]
# mkdir -p /global/oracle/d1
 
# vi /etc/vfstab
#device                device                 mount            FS  fsck  mount   mount
#to mount              to fsck                point           type pass  at boot options
#                       
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs  2    yes global,logging
[保存并退出]
 
[在一个节点上:]
# sccheck
# mount /dev/md/oracle/dsk/d1 /global/oracle/d1
# mount
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/
largefiles on Sun Oct 3 08:56:16 2001

如何删除群集文件系统

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


注意:

当运行 scshutdown( 1M) 来停止整个群集时,作为随即发生的系统关闭的一部分,群集文件系统会自动卸装。 运行 shutdown 来停止单个节点时,将不卸载群集文件系统。 但是,如果只有正被关闭的节点与磁盘相连,则任何对该磁盘上的群集文件系统的尝试访问均会导致出错。


卸载群集文件系统的先决条件是:

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

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


    # mount -v
    

  3. 在每个节点上都列出正在使用群集文件系统的所有进程,从而确认要停止哪些进程。


    # fuser -c [ -u ] mountpoint
    

    -c

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

    -u

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

    mountpoint

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

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

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


    # fuser -c -k mountpoint
    

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

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


    # fuser -c mountpoint
    

  6. 仅从一个节点卸载群集文件系统。


    # umount mountpoint
    

    mountpoint

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

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

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

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

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

示例 — 删除群集文件系统

以下示例删除安装在 Solstice DiskSuite/Solaris Volume Manager 元设备 /dev/md/oracle/rdsk/d1 上的 UFS 群集文件系统。


# mount -v
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles 
# fuser -c /global/oracle/d1
/global/oracle/d1: 4006c
# fuser -c -k /global/oracle/d1
/global/oracle/d1: 4006c
# fuser -c /global/oracle/d1
/global/oracle/d1:
# umount /global/oracle/d1在每个节点上,删除突出显示的条目:)
# vi /etc/vfstab
#device           device        mount   FS      fsck    mount   mount
#to mount         to fsck       point   type    pass    at boot options
#                       
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging
[保存并退出。]

注意:

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


如何检查群集中的全局安装

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


注意:

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


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

  2. 检查群集全局安装。


     # sccheck
    

管理磁盘路径监视

通过磁盘路径监视 (DPM) 管理命令,可以接收辅助磁盘路径故障的通知。 使用本节中的过程执行与监视磁盘路径关联的管理任务。 有关磁盘路径监视守护程序的概念信息,请参阅Sun Cluster 概念指南(适用于 Solaris OS)》中的“管理和应用程序开发的关键概念”。 有关 scdpm 命令选项及相关命令的说明,请参阅 scdpm(1M) 手册页。 有关守护程序报告的日志错误,请参阅 syslogd(1M) 手册页。


注意:

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


表 4–5 任务对应关系: 管理磁盘路径监视

任务  

有关说明  

使用 scdpm 命令监视磁盘路径

如何监视磁盘路径

使用 scdpm 命令取消监视磁盘路径

如何取消监视磁盘路径

使用 scdpm 打印节点中故障磁盘路径的状况

如何打印故障磁盘路径

使用 scdpm -f 监视或取消监视文件的磁盘路径。

如何监视文件的磁盘路径

以下小节中介绍的过程将发出带有磁盘路径变量的 scdpm 命令。 磁盘路径变量通常由节点名称和磁盘名称组成。 如果不需要节点名称,它将缺省为 all(如果未指定任何节点名称)。 下表讲述了命名磁盘路径的规则。


注意:

全局磁盘路径名称在整个群集中是一致的,因此,建议使用全局磁盘路径名称。 UNIX 磁盘路径名称在整个群集中不一致。 在各个群集节点上的一个磁盘的 UNIX 磁盘路径可能会有所不同。 一个节点上的磁盘路径可能是 c1t0d0,而另一个节点上的磁盘路径则可能是 c2t0d0。 如果使用的是 UNIX 磁盘路径名称,请在发出 DPM 命令前使用 scdidadm -L 命令将 UNIX 磁盘路径名称映射为全局磁盘路径名称。 请参阅 scdidadm( 1M) 手册页。


表 4–6 磁盘路径名称样例

名称类型  

磁盘路径名称样例 

说明 

全局磁盘路径  

phys-schost-1:/dev/did/dsk/d1

phys-schost-1 节点上的磁盘路径 d1

all:d1

群集中所有节点上的磁盘路径 d1

UNIX 磁盘路径  

phys-schost-1:/dev/rdsk/c0t0d0s0

phys-schost-1 节点上的磁盘路径 c0t0d0s0

phys-schost-1:all

phys-schost-1 节点上的所有磁盘路径

所有磁盘路径 

all:all

群集中所有节点上的所有磁盘路径 

如何监视磁盘路径

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


小心:小心:

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


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

  2. 使用 scdpm 命令监视磁盘路径。


    # scdpm -m node:disk path
    

    有关 node:disk path 变量的命名规则,请参阅表 4–6

  3. 检验是否已监视磁盘路径。


    # scdpm -p node:all	     
    

示例—监视单个节点上的磁盘路径

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


# scdpm -m schost-1:d1
# scdpm -p schost-1:d1
	     schost-1:/dev/did/dsk/d1   Ok

示例—监视所有节点上的磁盘路径

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


# scdpm -m all:/dev/did/dsk/d1
# scdpm -p schost-1:d1
	     schost-1:/dev/did/dsk/d1   Ok	    

示例—从 CCR 重新读取磁盘配置

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


# scdpm -m all:all 
# scdpm -p all:all
		 schost-1:/dev/did/dsk/d4   Ok
	     schost-1:/dev/did/dsk/d3   Ok
	     schost-2:/dev/did/dsk/d4   Fail
	     schost-2:/dev/did/dsk/d3   Ok
	     schost-2:/dev/did/dsk/d5   Unmonitored
	     schost-2:/dev/did/dsk/d6   Ok

如何取消监视磁盘路径

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


小心:小心:

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


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

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


    # scdpm -p [all:] disk path
    
    -p

    打印指定磁盘路径当前状态的详细列表

    [:all]

    显示所有受监视和不受监视的磁盘路径

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


    # scdpm -u  node:disk path
    

    有关 node:disk path 变量的命名规则,请参阅表 4–6

示例—取消监视磁盘路径

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


# scdpm -u schost-2:/dev/did/rdsk/d1
# scdpm -p all:all 
	     schost-1:/dev/did/dsk/d4   Ok
	     schost-1:/dev/did/dsk/d3   Ok
	     schost-2:/dev/did/dsk/d4   Fail
	     schost-2:/dev/did/dsk/d3   Ok
	     schost-2:/dev/did/dsk/d1   Unmonitored
	     schost-2:/dev/did/dsk/d6   Ok

如何打印故障磁盘路径

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


小心:小心:

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


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

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


    # scdpm -p -F node:disk path
    

    有关 node:disk path 变量的命名规则,请参阅表 4–6

示例—打印故障磁盘路径

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


# scdpm -p -F [all:]all
		 schost-1:/dev/did/dsk/d4   Fail
	     schost-1:/dev/did/dsk/d3   Fail
	     schost-2:/dev/did/dsk/d4   Fail
	     schost-2:/dev/did/dsk/d3   Fail
	     schost-2:/dev/did/dsk/d5   Fail
	     schost-2:/dev/did/dsk/d6   Fail

如何监视文件的磁盘路径

使用以下步骤监视或取消监视文件的磁盘路径。 该文件必须列出要监视或取消监视的命令、节点名称和磁盘路径名称。 文件中的每个字段都应通过列分隔。 按照以下示例格式化每个列表。


syntax in command file:
[u,m] [node|all]:<[/dev/did/rdsk/]d- | [/dev/rdsk/]c-t-d- | all>

command file entry
u schost-1:/dev/did/rdsk/d5
m schost-2:all


小心:小心:

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


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

  2. 监视文件的磁盘路径。


    # scdpm -f filename
    

  3. 检验群集的磁盘路径及其状态。


    # scdpm -p all:all
    	    
    

示例—监视文件的磁盘路径

以下示例监视或取消监视文件的磁盘路径。


# scdpm -f schost_config
# scdpm -p all:all 
	     schost-1:/dev/did/dsk/d4   Ok
	     schost-1:/dev/did/dsk/d3   Ok
	     schost-2:/dev/did/dsk/d4   Fail
	     schost-2:/dev/did/dsk/d3   Ok
	     schost-2:/dev/did/dsk/d5   Unmonitored
	     schost-2:/dev/did/dsk/d6   Ok