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

如何配置设备组和资源组的示例

本节介绍如何为 NFS 应用程序配置设备组和资源组。有关其他信息,请参见配置复制资源组配置应用程序资源组

本节包含以下过程:

下表列出了为示例配置创建的组和资源的名称。

表 A–3 配置示例中的组和资源的摘要

组或资源 

名称 

描述 

设备组 

devgrp

设备组 

复制资源组和资源 

devgrp-stor-rg

复制资源组 

lhost-reprg-primlhost-reprg-sec

主群集和辅助群集上复制资源组的逻辑主机名 

devgrp-stor

复制资源组的 HAStoragePlus 资源 

应用程序资源组和资源 

nfs-rg

应用程序资源组 

lhost-nfsrg-primlhost-nfsrg-sec

主群集和辅助群集上应用程序资源组的逻辑主机名 

nfs-dg-rs

应用程序的 HAStoragePlus 资源 

nfs-rs

NFS 资源 

devgrp-stor-rg 以外,组和资源的名称均为示例名称,可根据需要更改。复制资源组的名称必须使用以下格式:devicegroupname -stor-rg

此配置示例使用 VxVM 软件。有关 Solaris Volume Manager 软件的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的第 4  章 “配置 Solaris Volume Manager 软件”

下图说明了在设备组中创建的卷。

图 A–8 设备组中的卷

此图显示了在设备组中创建的卷。


注 –

此过程中定义的卷不得包括磁盘标签专用区域,例如,柱面 0。VxVM 软件自动管理此约束。


Procedure如何在主群集上配置设备组

开始之前

确保您已完成以下任务:

  1. 作为超级用户或使用一个提供 solaris.cluster.modify RBAC 授权的角色来访问 nodeA

    节点 nodeA 是主群集中的第一个节点。有关哪个节点是 nodeA 的提示,请参见图 A–7

  2. 在包含四个卷的 nodeA 上创建一个磁盘组,这四个卷为:卷 1 (vol01) 至卷 4 (vol04)。

    有关使用 VxVM 软件来配置磁盘组的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的第 5  章 “安装和配置 Veritas Volume Manager(Veritas 卷管理器)”

  3. 配置磁盘组以创建设备组。


    nodeA# cldevicegroup create -t vxvm -n nodeA nodeB devgrp
    

    该设备组名为 devgrp

  4. 为该设备组创建文件系统。


    nodeA# newfs /dev/vx/rdsk/devgrp/vol01 < /dev/null
    nodeA# newfs /dev/vx/rdsk/devgrp/vol02 < /dev/null
    

    用作原始卷的 vol03vol04 不需要文件系统。

接下来的操作

请转到如何在辅助群集上配置设备组

Procedure如何在辅助群集上配置设备组

开始之前

请完成如何在主群集上配置设备组中所述的过程。

  1. 作为超级用户或使用一个提供 solaris.cluster.modify RBAC 授权的角色来访问 nodeC

  2. 在包含四个卷的 nodeC 上创建一个磁盘组,这四个卷为:卷 1 (vol01) 至卷 4 (vol04)。

  3. 配置磁盘组以创建设备组。


    nodeC# cldevicegroup create -t vxvm -n nodeC devgrp
    

    该设备组名为 devgrp

  4. 为该设备组创建文件系统。


    nodeC# newfs /dev/vx/rdsk/devgrp/vol01 < /dev/null
    nodeC# newfs /dev/vx/rdsk/devgrp/vol02 < /dev/null
    

    用作原始卷的 vol03vol04 不需要文件系统。

接下来的操作

请转到如何在主群集上为 NFS 应用程序配置文件系统

Procedure如何在主群集上为 NFS 应用程序配置文件系统

开始之前

请完成如何在辅助群集上配置设备组中所述的过程。

  1. nodeAnodeB 上,成为 超级用户或使用一个提供 solaris.cluster.admin RBAC 授权的角色。

  2. nodeAnodeB 上,为 NFS 文件系统创建一个挂载点目录。

    例如:


    nodeA# mkdir /global/mountpoint
    
  3. nodeAnodeB 上,将主卷配置为自动在挂载点上进行挂载。

    nodeAnodeB 上的 /etc/vfstab 文件中添加或替换以下文本。该文本必须在一行。


    /dev/vx/dsk/devgrp/vol01 /dev/vx/rdsk/devgrp/vol01 \
    /global/mountpoint ufs 3 no global,logging

    有关设备组中使用的卷名称和卷编号的提示,请参见图 A–8

  4. nodeA 上,为 Sun Cluster HA for NFS 数据服务使用的文件系统信息创建一个卷。


    nodeA# vxassist -g devgrp make vol05 120m disk1
    

    卷 5 (vol05) 包含 Sun Cluster HA for NFS 数据服务使用的文件系统信息。

  5. nodeA 上,使设备组与 Sun Cluster 软件重新同步。


    nodeA# cldevicegroup sync devgrp
    
  6. nodeA 上,为 vol05 创建文件系统。


    nodeA# newfs /dev/vx/rdsk/devgrp/vol05
    
  7. nodeAnodeB 上,为 vol05 创建一个挂载点。

    以下示例创建挂载点 /global/etc


    nodeA# mkdir /global/etc
    
  8. nodeAnodeB 上,将 vol05 配置为自动在挂载点上进行挂载。

    nodeAnodeB 上的 /etc/vfstab 文件中添加或替换以下文本。该文本必须在一行。


    /dev/vx/dsk/devgrp/vol05 /dev/vx/rdsk/devgrp/vol05 \
    /global/etc ufs 3 yes global,logging
  9. nodeA 上挂载 vol05


    nodeA# mount /global/etc
    
  10. 使 vol05 可供远程系统访问。

    1. nodeA 上创建一个名为 /global/etc/SUNW.nfs 的目录。


      nodeA# mkdir -p /global/etc/SUNW.nfs
      
    2. nodeA 上创建文件 /global/etc/SUNW.nfs/dfstab.nfs-rs


      nodeA# touch /global/etc/SUNW.nfs/dfstab.nfs-rs
      
    3. 将下面一行添加到 nodeA 上的 /global/etc/SUNW.nfs/dfstab.nfs-rs 文件中。


      share -F nfs -o rw -d "HA NFS" /global/mountpoint
      
接下来的操作

请转到如何在辅助群集上为 NFS 应用程序配置文件系统

Procedure如何在辅助群集上为 NFS 应用程序配置文件系统

开始之前

完成如何在主群集上为 NFS 应用程序配置文件系统中所述的过程。

  1. nodeC 上,成为超级用户或使用一个提供 solaris.cluster.admin RBAC 授权的角色。

  2. nodeC 上,为 NFS 文件系统创建一个挂载点目录。

    例如:


    nodeC# mkdir /global/mountpoint
    
  3. nodeC 上,将主卷配置为自动在挂载点上进行挂载。

    nodeC 上的 /etc/vfstab 文件中添加或替换以下文本。该文本必须在一行。


    /dev/vx/dsk/devgrp/vol01 /dev/vx/rdsk/devgrp/vol01 \
    /global/mountpoint ufs 3 no global,logging
  4. nodeC 上,为 Sun Cluster HA for NFS 数据服务使用的文件系统信息创建一个卷。


    nodeC# vxassist -g devgrp make vol05 120m disk1
    

    卷 5 (vol05) 包含 Sun Cluster HA for NFS 数据服务使用的文件系统信息。

  5. nodeC 上,使设备组与 Sun Cluster 软件重新同步。


    nodeC# cldevicegroup sync devgrp
    
  6. nodeC 上,为 vol05 创建文件系统。


    nodeC# newfs /dev/vx/rdsk/devgrp/vol05
    
  7. nodeC 上,为 vol05 创建一个挂载点。

    以下示例创建挂载点 /global/etc


    nodeC# mkdir /global/etc
    
  8. nodeC 上,将 vol05 配置为自动在挂载点上进行挂载。

    nodeC 上的 /etc/vfstab 文件中添加或替换以下文本。该文本必须在一行。


    /dev/vx/dsk/devgrp/vol05 /dev/vx/rdsk/devgrp/vol05 \
    /global/etc ufs 3 yes global,logging
  9. nodeC 上挂载 vol05


    nodeC# mount /global/etc
    
  10. 使 vol05 可供远程系统访问。

    1. nodeC 上创建一个名为 /global/etc/SUNW.nfs 的目录。


      nodeC# mkdir -p /global/etc/SUNW.nfs
      
    2. nodeC 上创建 /global/etc/SUNW.nfs/dfstab.nfs-rs 文件。


      nodeC# touch /global/etc/SUNW.nfs/dfstab.nfs-rs
      
    3. 将下面一行添加到 nodeC 上的 /global/etc/SUNW.nfs/dfstab.nfs-rs 文件中:


      share -F nfs -o rw -d "HA NFS" /global/mountpoint
      
接下来的操作

请转到如何在主群集上创建复制资源组

Procedure如何在主群集上创建复制资源组

开始之前

完成如何在辅助群集上为 NFS 应用程序配置文件系统中所述的过程。

  1. 作为超级用户或使用一个提供 solaris.cluster.modifysolaris.cluster.adminsolaris.cluster.read RBAC 授权的角色来访问 nodeA

  2. 注册 SUNW.HAStoragePlus 资源类型。


    nodeA# clresourcetype register SUNW.HAStoragePlus
    
  3. 为设备组创建一个复制资源组。


    nodeA# clresourcegroup create -n nodeA,nodeB devgrp-stor-rg
    
    -n nodeA,nodeB

    指定群集节点 nodeAnodeB 可控制该复制资源组。

    devgrp-stor-rg

    复制资源组的名称。在此名称中,devgrp 指定了设备组的名称。

  4. 向复制资源组中添加一个 SUNW.HAStoragePlus 资源。


    nodeA# clresource create -g devgrp-stor-rg -t SUNW.HAStoragePlus \
    -p GlobalDevicePaths=devgrp \
    -p AffinityOn=True \
    devgrp-stor
    
    -g

    指定资源将被添加到哪一个资源组。

    -p GlobalDevicePaths=

    指定 Sun StorageTek Availability Suite 软件所依赖的扩展属性。

    -p AffinityOn=True

    指定 SUNW.HAStoragePlus 资源必须对 -x GlobalDevicePaths= 所定义的全局设备和群集文件系统执行关联切换。因此,复制资源组发生故障转移或被切换后,相关的设备组也将被切换。

    有关这些扩展属性的更多信息,请参见 SUNW.HAStoragePlus(5)手册页。

  5. 为复制资源组添加逻辑主机名资源。


    nodeA# clreslogicalhostname create -g devgrp-stor-rg lhost-reprg-prim
    

    主群集上复制资源组的逻辑主机名为 lhost-reprg-prim

  6. 启用资源、管理资源组并使资源组联机。


    nodeA# clresourcegroup online -e -M -n nodeA devgrp-stor-rg
    
    -e

    启用相关联的资源。

    -M

    管理资源组。

    -n

    指定在哪个节点上使资源组联机。

  7. 检验资源组是否处于联机状态。


    nodeA# clresourcegroup status devgrp-stor-rg
    

    检查资源组状态字段以确认该复制资源组在 nodeA 上处于联机状态。

接下来的操作

请转到如何在辅助群集上创建复制资源组

Procedure如何在辅助群集上创建复制资源组

开始之前

完成如何在主群集上创建复制资源组中所述的过程。

  1. 作为超级用户或使用一个提供 solaris.cluster.modifysolaris.cluster.adminsolaris.cluster.read RBAC 授权的角色来访问 nodeC

  2. SUNW.HAStoragePlus 注册为资源类型。


    nodeC# clresourcetype register SUNW.HAStoragePlus
    
  3. 为设备组创建一个复制资源组。


    nodeC# clresourcegroup create -n nodeC devgrp-stor-rg
    
    create

    创建资源组。

    -n

    指定资源组的节点列表。

    devgrp

    设备组的名称。

    devgrp-stor-rg

    复制资源组的名称。

  4. 向复制资源组中添加一个 SUNW.HAStoragePlus 资源。


    nodeC# clresource create \
    -t SUNW.HAStoragePlus \
    -p GlobalDevicePaths=devgrp \
    -p AffinityOn=True \
    devgrp-stor
    
    create

    创建资源。

    -t

    指定资源类型。

    -p GlobalDevicePaths=

    指定 Sun StorageTek Availability Suite 软件所依赖的扩展属性。

    -p AffinityOn=True

    指定 SUNW.HAStoragePlus 资源必须对 -x GlobalDevicePaths= 所定义的全局设备和群集文件系统执行关联切换。因此,复制资源组发生故障转移或被切换后,相关的设备组也将被切换。

    devgrp-stor

    复制资源组的 HAStoragePlus 资源。

    有关这些扩展属性的更多信息,请参见 SUNW.HAStoragePlus(5)手册页。

  5. 为复制资源组添加逻辑主机名资源。


    nodeC# clreslogicalhostname create -g devgrp-stor-rg lhost-reprg-sec
    

    主群集上复制资源组的逻辑主机名为 lhost-reprg-sec

  6. 启用资源、管理资源组并使资源组联机。


    nodeC# clresourcegroup online -e -M -n nodeC devgrp-stor-rg
    
    online

    联机。

    -e

    启用相关联的资源。

    -M

    管理资源组。

    -n

    指定在哪个节点上使资源组联机。

  7. 检验资源组是否处于联机状态。


    nodeC# clresourcegroup status devgrp-stor-rg
    

    检查资源组状态字段以确认该复制资源组在 nodeC 上处于联机状态。

接下来的操作

请转到如何在主群集上创建 NFS 应用程序资源组

Procedure如何在主群集上创建 NFS 应用程序资源组

此过程描述了如何为 NFS 创建应用程序资源组。此过程是特定于该应用程序的,且不能用于其他类型的应用程序。

开始之前

完成如何在辅助群集上创建复制资源组中所述的过程。

  1. 作为超级用户或使用一个提供 solaris.cluster.modifysolaris.cluster.adminsolaris.cluster.read RBAC 授权的角色来访问 nodeA

  2. SUNW.nfs 注册为资源类型。


    nodeA# clresourcetype register SUNW.nfs
    
  3. SUNW.HAStoragePlus 注册为资源类型(如果它尚未注册)。


    nodeA# clresourcetype register SUNW.HAStoragePlus
    
  4. 为设备组 devgrp 创建一个应用程序资源组。


    nodeA# clresourcegroup create \
    -p Pathprefix=/global/etc \
    -p Auto_start_on_new_cluster=False \
    -p RG_dependencies=devgrp-stor-rg \
    nfs-rg
    
    Pathprefix=/global/etc

    指定组中资源可将管理文件写入哪个目录。

    Auto_start_on_new_cluster=False

    指定不自动启动应用程序资源组。

    RG_dependencies=devgrp-stor-rg

    指定应用程序资源组所依赖的资源组。在本示例中,该应用程序资源组依赖于复制资源组 devgrp-stor-rg

    如果应用程序资源组被切换到新的主节点上,复制资源组也会被自动切换。但是,如果复制资源组被切换到新的主节点上,必须将应用程序资源组手动切换。

    nfs-rg

    应用程序资源组的名称

  5. 向应用程序资源组中添加一个 SUNW.HAStoragePlus 资源。


    nodeA# clresource create -g nfs-rg \
    -t SUNW.HAStoragePlus \
    -p FileSystemMountPoints=/global/mountpoint \
    -p AffinityOn=True \
    nfs-dg-rs
    
    create

    创建资源。

    -g

    指定资源将被添加到哪个资源组。

    -t SUNW.HAStoragePlus

    指定资源的类型是 SUNW.HAStoragePlus

    -p FileSystemMountPoints=/global/

    指定文件系统的装载点为全局装载点。

    -p AffinityOn=True

    指定应用程序资源必须对 -p GlobalDevicePaths= 所定义的全局设备和群集文件系统执行关联切换。因此,当应用程序资源组发生故障转移或被切换后,相关的设备组也将被切换。

    nfs-dg-rs

    用于 NFS 应用程序的 HAStoragePlus 资源的名称。

    有关这些扩展属性的更多信息,请参见 SUNW.HAStoragePlus(5)手册页。

  6. 为应用程序资源组添加逻辑主机名资源。


    nodeA# clreslogicalhostname create -g nfs-rg \
    lhost-nfsrg-prim
    

    主群集上应用程序资源组的逻辑主机名为 lhost-nfsrg-prim

  7. 启用资源、管理应用程序资源组并使应用程序资源组联机。

    1. 为 NFS 应用程序启用 HAStoragePlus 资源。


      nodeA# clresource enable nfs-rs
      
    2. 使 nodeA 上的应用程序资源组联机。


      nodeA# clresourcegroup online -e -M -n nodeA nfs-rg
      
      online

      使资源组联机。

      -e

      启用相关联的资源。

      -M

      管理资源组。

      -n

      指定在哪个节点上使资源组联机。

      nfs-rg

      资源组的名称。

  8. 检验应用程序资源组是否处于联机状态。


    nodeA# clresourcegroup status
    

    检查资源组状态字段,确定该应用程序资源组在 nodeAnodeB 上是否处于联机状态。

接下来的操作

请转到如何在辅助群集上创建 NFS 应用程序资源组

Procedure如何在辅助群集上创建 NFS 应用程序资源组

开始之前

完成如何在主群集上创建 NFS 应用程序资源组中所述的过程。

  1. 作为超级用户或使用一个提供 solaris.cluster.modifysolaris.cluster.adminsolaris.cluster.read RBAC 授权的角色来访问 nodeC

  2. SUNW.nfs 注册为资源类型。


    nodeC# clresourcetype register SUNW.nfs
    
  3. SUNW.HAStoragePlus 注册为资源类型(如果它尚未注册)。


    nodeC# clresourcetype register SUNW.HAStoragePlus
    
  4. 为设备组创建一个应用程序资源组。


    nodeC# clresourcegroup create \
    -p Pathprefix=/global/etc \
    -p Auto_start_on_new_cluster=False \
    -p RG_dependencies=devgrp-stor-rg \
    nfs-rg
    
    create

    创建资源组。

    -p

    指定资源组的属性。

    Pathprefix=/global/etc

    指定组中资源可以在哪个目录中写入管理文件。

    Auto_start_on_new_cluster=False

    指定不自动启动应用程序资源组。

    RG_dependencies=devgrp-stor-rg

    指定应用程序资源组所依赖的资源组。在本示例中,应用程序资源组依赖复制资源组。

    如果应用程序资源组被切换到新的主节点上,复制资源组也会被自动切换。但是,如果复制资源组被切换到新的主节点上,必须将应用程序资源组手动切换。

    nfs-rg

    应用程序资源组的名称

  5. 向应用程序资源组中添加一个 SUNW.HAStoragePlus 资源。


    nodeC# clresource create -g nfs-rg \
    -t SUNW.HAStoragePlus \
    -p FileSystemMountPoints=/global/mountpoint \
    -p AffinityOn=True \
    nfs-dg-rs
    
    create

    创建资源。

    -g

    指定资源将被添加到哪个资源组。

    -t SUNW.HAStoragePlus

    指定资源的类型是 SUNW.HAStoragePlus

    -p

    指定资源的属性。

    FileSystemMountPoints=/global/

    指定文件系统的装载点为全局装载点。

    AffinityOn=True

    指定应用程序资源必须对 -x GlobalDevicePaths= 所定义的全局设备和群集文件系统执行关联切换。因此,当应用程序资源组发生故障转移或被切换后,相关的设备组也将被切换。

    nfs-dg-rs

    用于 NFS 应用程序的 HAStoragePlus 资源的名称。

    有关这些扩展属性的更多信息,请参见 SUNW.HAStoragePlus(5)手册页。

  6. 为应用程序资源组添加逻辑主机名资源。


    nodeC# clreslogicalhostname create -g nfs-rg \
    lhost-nfsrg-sec
    

    辅助群集上应用程序资源组的逻辑主机名为 lhost-nfsrg-sec

  7. 向应用程序资源组中添加 NFS 资源。


    nodeC# clresource create -g nfs-rg \
    -t SUNW.nfs -p Resource_dependencies=nfs-dg-rs nfs-rg
    
  8. 确保该应用程序资源组不在 nodeC 上联机。


    nodeC# clresource disable -n nodeC nfs-rs
    nodeC# clresource disable -n nodeC nfs-dg-rs
    nodeC# clresource disable -n nodeC lhost-nfsrg-sec
    nodeC# clresourcegroup online -n "" nfs-rg
    

    由于 Auto_start_on_new_cluster=False,因此,重新引导之后,该资源组将保持脱机状态。

  9. 如果在主群集上装载全局卷,应从辅助群集上卸载全局卷。


    nodeC# umount /global/mountpoint
    

    如果在辅助群集上装载卷,同步将失败。

接下来的操作

请转到如何启用数据复制的示例