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

第 6 章 管理法定

本章介绍有关在 Sun Cluster 中管理法定设备和 Sun Cluster 法定服务器的过程。有关法定概念的信息,请参见《Sun Cluster Concepts Guide for Solaris OS》中的“Quorum and Quorum Devices”

管理法定设备

法定设备是一个共享存储设备或法定服务器,由两个或多个节点共享,并提供用于建立法定的选票。本节介绍有关管理法定设备的过程。

可以使用 clquorum(1CL) 命令执行所有的法定设备管理过程。此外,还可以使用 clsetup(1CL) 交互式实用程序或 Sun Cluster Manager GUI 完成某些过程。只要可能,本节中的法定过程都使用 clsetup 实用程序来说明。Sun Cluster Manager 联机帮助介绍了如何使用 GUI 执行法定相关过程。当您使用法定设备时,请牢记以下指导原则:


注 –

clsetup 命令是一个访问其他 Sun Cluster 命令的交互式接口。运行 clsetup 时,该命令会生成相应的特定命令。在此,即生成 clquorum 命令。这些生成的命令显示在这些过程结尾部分的示例中。


要查看法定配置,请使用 clquorum showclquorum list 命令显示了群集中法定设备的名称。clquorum status 命令提供了状态和选票计数信息。

本节显示的多数示例均来自一个由三个节点组成的群集。

表 6–1 任务列表:定额管理

任务 

参考 

使用 clsetup(1CL) 向群集添加法定设备

添加法定设备

使用 clsetup(生成 clquorum)将法定设备从群集中删除

如何删除法定设备

使用 clsetup(生成 clquorum)将最后一个法定设备从群集中删除

如何从群集中删除最后一个法定设备

使用添加和删除过程替换群集中的法定设备 

如何替换法定设备

使用添加和删除过程修改法定设备列表 

如何修改法定设备节点列表

使用 clsetup(生成 clquorum)将法定设备置于维护状态

(在维护状态下,定额设备不参与选票来建立定额。) 

如何将法定设备置于维护状态

使用 clsetup(生成 clquorum)将法定配置重置为默认状态

如何使法定设备脱离维护状态

使用 clquorum(1CL) 命令列出法定设备和选票计数

如何列出定额配置

动态重新配置法定设备

对群集中的法定设备执行动态重新配置 (Dynamic Reconfiguration, DR) 时,必须考虑以下几个问题。

要删除法定设备,您必须按指示的顺序完成以下步骤。

表 6–2 任务表:动态重新配置法定设备

任务 

参考 

1. 启用一个新的法定设备,以替换正要删除的设备。 

添加法定设备

2. 禁用要删除的法定设备。 

如何删除法定设备

3. 对正要删除的设备执行 DR 删除操作。 

《Sun Enterprise 10000 DR 配置指南》《Sun Enterprise 10000 Dynamic Reconfiguration Reference Manual》(来自“Solaris 9 on Sun Hardware”“Solaris 10 on Sun Hardware”文档集)。

添加法定设备

本节提供了添加法定设备的过程。有关确定群集所必需的法定选票计数的数目、建议的法定配置和故障隔离等信息,请参见《Sun Cluster Concepts Guide for Solaris OS》中的“Quorum and Quorum Devices”


注意 – 注意 –

请不要将当前配置为法定设备的磁盘添加到 Solaris ZFS 存储池中。如果将一个已配置的法定设备添加到 Solaris ZFS 存储池中,该磁盘会被重新标为 EFI 磁盘,法定配置信息将丢失,并且该磁盘将不会再向群集提供法定选票。磁盘一旦处于存储池中,即可被配置为法定设备。或者,您也可以先取消配置磁盘,并将它添加到存储池中,然后将该磁盘重新配置为法定设备。


Sun Cluster 支持以下类型的法定设备:SCSI、Network Appliance (NetApp) NAS 和 Sun Cluster Quorum Server。下节中将提供这些设备的添加过程:


注 –

不能将复制磁盘配置为法定设备。如果尝试将一个复制磁盘添加为法定设备,您将收到以下错误消息。之后,命令将退出并提供一个错误代码。


Disk-name is a replicated device. Replicated devices cannot be
configured as quorum devices.

您也可以使用 Sun Cluster Manager GUI 完成这些过程。有关详细信息,请参见 Sun Cluster Manager 联机帮助。

有关以下过程所用命令的信息,请参见 clsetup(1CL) 手册页和 clquorum(1CL) 手册页。

Procedure如何添加 SCSI 法定设备

要完成此过程,请用各节点所共享的设备 ID (Device ID, DID) 来标识磁盘驱动器。使用 cldevice show 命令可查看 DID 名称列表。有关其他信息,请参阅 cldevice(1CL) 手册页。

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    屏幕上将显示 clsetup 主菜单。

  3. 键入与“法定”选项对应的编号。

    这时将显示“Quorum”菜单。

  4. 键入与添加法定设备的选项对应的编号,然后在 clsetup 实用程序提示您确认要添加的法定设备时键入 yes

    clsetup 实用程序将询问您要添加哪种类型的法定设备。

  5. 键入 SCSI 法定设备选项的相应编号。

    clsetup 实用程序将询问您要使用哪个全局设备。

  6. 键入您正在使用的全局设备。

    clsetup 实用程序将提示您确认将新的法定设备添加到指定的全局设备中。

  7. 键入 yes 继续执行添加新法定设备的操作。

    如果成功添加了新的法定设备,clsetup 实用程序会为此显示一条相应的消息。

  8. 检验是否已添加法定设备。


    # clquorum list -v
    

示例 6–1 添加 SCSI 法定设备

以下示例显示了当 clsetup 添加 SCSI 法定设备时所生成的 clquorum 命令和检验步骤。


Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization 
on any cluster node.

[Start the clsetup utility:]
# clsetup
[Select Quorum>Add a quorum device]
[Answer the questions when prompted.]
[You will need the following information.]
  [Information:              Example:]
  [SCSI device               scsi]
  [Global device		       d20]

[Verify that the clquorum command was completed successfully:]
 clquorum add d20
 
    Command completed successfully.
[Quit the clsetup Quorum Menu and Main Menu.]
[Verify that the quorum device is added:]
# clquorum list -v
 
Quorums         Type
-------         ----
d20             scsi
scphyshost-1    node
scphyshost-2    node

Procedure如何添加 Sun NAS 法定设备

要完成此过程,请使用各节点共享的设备 ID (device ID, DID) 来标识磁盘驱动器。使用 cldevice show 命令可查看 DID 名称列表。有关其他信息,请参阅 cldevice(1CL) 手册页。


注 –

Sun Cluster 仅支持双节点群集配置中的 Sun NAS 法定设备。


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

  1. 使用 Sun NAS GUI 设置 Sun NAS 文件管理器上的 iSCSI 设备。

    1. 创建一个大小约为 50 MB 的文件卷。


      File Volume Operations -> Create File Volume
    2. 对于每个节点,创建一个 iSCSI 访问列表。


      iSCSI Configuration -> Configure Access List
      1. 将群集的名称用作 iSCSI 访问列表的名称。

      2. 将每个群集节点的启动器节点名称添加到访问列表中。无需 CHAP 和 IQN。

    3. 配置 iSCSI LUN


      iSCSI Configuration -> Configure iSCSI LUN

      可以将后备文件卷的名称用作 LUN 的名称。将每个节点的访问列表添加到 LUN 中。

  2. 在每个群集节点上,搜索 iSCSI LUN 并将 iSCSI 访问列表设置为静态配置。


    # iscsiadm modify discovery -s enable
    
    	# iscsiadm list discovery
    	Discovery:
    	        Static: enabled
    	        Send Targets: disabled
    	        iSNS: disabled
    
    	#  iscsiadm add static-config iqn.LUNName,IPAddress_of_NASDevice
    # devfsadm -i iscsi
    # cldevice refresh
    
  3. 从一个群集节点上,为 iSCSI LUN 配置 DID。


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

  5. 启动 clsetup 实用程序。


    # clsetup
    

    屏幕上将显示 clsetup 主菜单。

  6. 键入与“法定”选项对应的编号。

    这时将显示“Quorum”菜单。

  7. 键入与添加法定设备的选项对应的编号,然后在 clsetup 实用程序提示您确认要添加的法定设备时键入 yes

    clsetup 实用程序将询问您要添加哪种类型的法定设备。

  8. 键入 SCSI 法定设备选项的相应编号。

    clsetup 实用程序将询问您要使用哪个全局设备。

  9. 键入您正在使用的全局设备。

    clsetup 实用程序将提示您确认将新的法定设备添加到指定的全局设备中。

  10. 键入 yes 继续执行添加新法定设备的操作。

    如果成功添加了新的法定设备,clsetup 实用程序会为此显示一条相应的消息。

  11. 检验是否已添加法定设备。


    # clquorum list -v
    

示例 6–2 添加 Sun NAS 法定设备

以下示例显示了当 clsetup 添加 Sun NAS 法定设备时所生成的 clquorum 命令和检验步骤。


Add an iSCSI device on the Sun NAS filer.
Use the Sun NAS GUI to create a file volume that is approximately 50mb in size.
File Volume Operations -> Create File Volume
For each node, create an iSCSI access list.
iSCSI Configuration -> Configure Access List
Add the initiator node name of each cluster node to the access list. 
*** Need GUI or command syntax for this step. ***
Configure the iSCSI LUN
iSCSI Configuration -> Configure iSCSI LUN
On each of the cluster nodes, discover the iSCSI LUN and set the iSCSI access list to static configuration.
iscsiadm modify discovery -s enable
iscsiadm list discovery
Discovery:
   Static: disable
   Send Targets: enables
   iSNS: disabled
iscsiadm add status-config
iqn.1986-03.com.sun0-1:000e0c66efe8.4604DE16.thinquorum,10.11.160.20
devsadm -i iscsi
From one cluster node, configure the DID devices for the iSCSI LUN.
/usr/cluster/bin/scgdevs
Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization 
on any cluster node.

[Start the clsetup utility:]
# clsetup
[Select Quorum>Add a quorum device]
[Answer the questions when prompted.]
[You will need the following information.]
  [Information:              Example:]
  [SCSI device               scsi]
  [Global device		       d20]

[Verify that the clquorum command was completed successfully:]
 clquorum add d20
 
    Command completed successfully.
[Quit the clsetup Quorum Menu and Main Menu.]
[Verify that the quorum device is added:]
# clquorum list -v
 
Quorums         Type
-------         ----
d20             scsi
scphyshost-1    node
scphyshost-2    node

Procedure如何添加 Network Appliance 网络连接存储 (Network-Attached Storage, NAS) 法定设备

将 Network Appliance (NetApp) 网络连接存储 (network-attached storage, NAS) 设备用作法定设备时,需要满足以下要求:

有关在 Sun Cluster 环境中安装 NetApp NAS 存储设备的信息,请参见以下 Sun Cluster 文档:《Sun Cluster 3.1 - 3.2 With Network-Attached Storage Devices Manual for Solaris OS》

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

  1. 确保所有的 Sun Cluster 节点都处于联机状态,并且可以和 NetApp 群集文件管理器进行通信。

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

  3. 启动 clsetup 实用程序。


    # clsetup
    

    屏幕上将显示 clsetup 主菜单。

  4. 键入与“法定”选项对应的编号。

    这时将显示“Quorum”菜单。

  5. 键入添加法定设备选项的相应编号。然后键入 yes 确认添加法定设备。

    clsetup 实用程序将询问您要添加哪种类型的法定设备。

  6. 键入 netapp_nas 法定设备选项的相应编号。然后键入 yes 确认添加 netapp_nas 法定设备。

    clsetup 实用程序将提示您提供新的法定设备的名称。

  7. 键入正在添加的法定设备的名称。

    法定设备的名称可以是任一名称。该名称仅用于继续执行后续的管理命令。

    clsetup 实用程序将提示您提供新法定设备的文件管理器的名称。

  8. 键入新法定设备的文件管理器名称。

    该名称是一个网络可访问名称或该文件管理器的地址。

    clsetup 实用程序将提示您提供文件管理器的 LUN ID。

  9. 键入文件管理器上法定设备 LUN 的 ID。

    clsetup 实用程序将询问您是否要在文件管理器中添加新的法定设备。

  10. 键入 yes 继续执行添加新法定设备的操作。

    如果成功添加了新的法定设备,clsetup 实用程序会为此显示一条相应的消息。

  11. 检验是否已添加法定设备。


    # clquorum list -v
    

示例 6–3 添加 NetApp NAS 法定设备

以下示例显示了当 clsetup 添加 NetApp NAS 法定设备时所生成的 clquorum 命令。此外,该示例还显示了检验步骤。


Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on any cluster node.

[Start the clsetup utility:]
# clsetup
[Select Quorum>Add a quorum device]
[Answer the questions when prompted.]
[You will need the following information.]
  [Information:                Example:]
  [Quorum Device               Netapp_nas quorum device]
  [Name:        		         qd1]
  [Filer:                      nas1.sun.com]
  [LUN ID:                     0]

[Verify that the clquorum command was completed successfully:]
 clquorum add -t netapp_nas -p filer=nas1.sun.com,-p lun_id=0 qd1
 
    Command completed successfully.
[Quit the clsetup Quorum Menu and Main Menu.]
[Verify that the quorum device is added:]
# clquorum list -v
 
Quorums         Type
-------         ----
qd1             netapp_nas
scphyshost-1    node
scphyshost-2    node

Procedure如何添加法定服务器法定设备

开始之前

主机上必须安装了 Sun Cluster Quorum Server 软件,而且法定服务器必须已启动并正在运行,才能添加 Sun Cluster Quorum Server 来作为法定设备。有关安装和启动法定服务器的信息,请参见《Sun Cluster Quorum Server User’s Guide》

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

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

  2. 确保所有 Sun Cluster 节点都处于联机状态,并可与 Sun Cluster Quorum Server 进行通信。

    1. 确保与群集节点直接相连的网络交换机满足以下条件之一:

      • 交换机支持快速生成树协议 (Rapid Spanning Tree Protocol, RSTP)。

      • 交换机上已启用快速端口 (fast port) 模式。

      必须具有上述某一项特性以确保群集节点与法定服务器之间的即时通信。如果通信因交换机而出现明显延迟,则群集会认为是缺少法定设备导致了通信不畅。

    2. 如果公共网络使用的是长度可变的子网划分方式-也称为无类别域间路由 (Classless Inter-Domain Routing, CIDR),请在每个节点上修改以下文件。

      如果您使用的是 RFC 791 中所定义的有类别子网,则无需执行这些步骤。

      1. /etc/inet/netmasks 文件中,为群集所使用的每个公共子网添加一个相应的条目。

        以下是一个包含了某个公共网络 IP 地址和网络掩码的条目示例:


        10.11.30.0	255.255.255.0
      2. netmask + broadcast + 添加到每个 /etc/hostname.adapter 文件中主机名条目的后面。


        nodename netmask + broadcast +
        
    3. 在群集的每个节点上,将法定服务器主机名添加到 /etc/inet/hosts 文件或 /etc/inet/ipnodes 文件中。

      按如下所示,在文件中添加主机名到地址的映射。


      ipaddress qshost1
      
      ipaddress

      正在运行法定服务器的计算机的 IP 地址。

      qshost1

      正在运行法定服务器的计算机的主机名。

    4. 如果使用了命名服务,请将法定服务器主机的名称到地址映射添加到名称服务数据库。

  3. 启动 clsetup 实用程序。


    # clsetup
    

    屏幕上将显示 clsetup 主菜单。

  4. 键入与“法定”选项对应的编号。

    这时将显示“Quorum”菜单。

  5. 键入添加法定设备选项的相应编号。然后键入 yes 确认添加法定设备。

    clsetup 实用程序将询问您要添加哪种类型的法定设备。

  6. 键入与法定服务器法定设备选项对应的编号。然后键入 yes,确认要添加法定服务器法定设备。

    clsetup 实用程序将提示您提供新法定设备的名称。

  7. 键入正在添加的法定设备的名称。

    法定设备的名称可以是任一名称。该名称仅用于继续执行后续的管理命令。

    clsetup 实用程序将提示您提供新法定设备的文件管理器的名称。

  8. 键入法定服务器所在主机的名称。

    此名称指定了运行法定服务器的计算机的 IP 地址,或该计算机在网络中的主机名。

    根据主机的 IPv4 或 IPv6 配置情况,必须在 /etc/hosts 文件或 /etc/inet/ipnodes 文件(或二者)中指定该计算机的 IP 地址。


    注 –

    指定的计算机必须能被所有群集节点访问,并且必须运行法定服务器。


    clsetup 实用程序将提示您提供法定服务器的端口号。

  9. 键入法定服务器用来与群集节点通信的端口号。

    clsetup 实用程序将提示您确认添加新法定设备。

  10. 键入 yes 继续执行添加新法定设备的操作。

    如果成功添加了新的法定设备,clsetup 实用程序会为此显示一条相应的消息。

  11. 检验是否已添加法定设备。


    # clquorum list -v
    

示例 6–4 添加法定服务器法定设备

以下示例显示了当 clsetup 添加法定服务器法定设备时所生成的 clquorum 命令。此外,该示例还显示了检验步骤。


Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on 
any cluster node.

[Start the clsetup utility:]
# clsetup
[Select Quorum>Add a quorum device]
[Answer the questions when prompted.]
[You will need the following information.]
  [Information:                Example:]
  [Quorum Device               quorum_server quorum device]
  [Name:        		         qd1]
  [Host Machine Name:          10.11.124.84]
  [Port Number:                9001]

[Verify that the clquorum command was completed successfully:]
 clquorum add -t quorum_server -p qshost=10.11.124.84,-p port=9001 qd1
 
    Command completed successfully.
[Quit the clsetup Quorum Menu and Main Menu.]
[Verify that the quorum device is added:]
# clquorum list -v
 
Quorums         Type
-------         ----
qd1             quorum_server
scphyshost-1    node
scphyshost-2    node
 
-- Quorum Summary --
 
  Quorum votes possible: 5
  Quorum votes needed:   3
  Quorum votes present:  5
 
-- Quorum Votes by Node --
 
                    Node Name           Present Possible Status
                    ---------           ------- -------- ------
  Node votes:       phys-schost-1       1        1       Online
  Node votes:       phys-schost-2       1        1       Online
 
-- Quorum Votes by Device --
 
                   Device Name         Present Possible Status
                   -----------         ------- -------- ------
 Device votes:     qd1                  1        1       Online
 Device votes:     /dev/did/rdsk/d3s2   1        1       Online
 Device votes:     /dev/did/rdsk/d4s2   1        1       Online

删除或替换法定设备

本节提供了以下过程以删除或替换法定设备:

Procedure如何删除法定设备

您还可以使用 Sun Cluster Manager GUI 来完成此过程。有关更多信息,请参见 Sun Cluster Manager 联机帮助。

删除法定设备后,该法定设备将不再参与建立定额的投票。请注意,所有由两个节点组成的群集均要求至少配置一个法定设备。如果这是群集的最后一个法定设备,clquorum(1CL) 将无法从配置中删除该设备。


注 –

如果要删除的设备是群集中的最后一个法定设备,请参见如何从群集中删除最后一个法定设备过程。


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

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

  2. 确定要删除的法定设备。


    # clquorum list -v
    
  3. 运行 clsetup(1CL) 实用程序。


    # clsetup
    

    显示“Main Menu”。

  4. 键入与“法定”选项对应的编号。

  5. 键入删除法定设备选项的相应编号。

    回答删除过程中显示的问题。

  6. 退出 clsetup

  7. 检验是否已删除法定设备。


    # clquorum list -v
    

示例 6–5 删除法定设备

本示例显示了如何从配置有两个或更多法定设备的群集中删除一个法定设备。


Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on 
any cluster node.

[Determine the quorum device to be removed:]
# clquorum list -v
[Start the clsetup utility:]
# clsetup
[Select Quorum>Remove a quorum device]
[Answer the questions when prompted.] 
[Quit the clsetup Quorum Menu and Main Menu.]
[Verify that the quorum device is removed:]
# clquorum list -v
 
 Quorums         Type
-------         ----
scphyshost-1    node
scphyshost-2    node
scphyshost-3    node

故障排除

如果您在删除法定服务器法定设备时,群集与法定服务器主机之间的通信中断,则必须清除法定服务器主机上过时的配置信息。有关执行此清除操作的说明,请参见《Sun Cluster Quorum Server User’s Guide》

Procedure如何从群集中删除最后一个法定设备

此过程可从群集中删除最后一个法定设备。仅当您具有双节点群集并且要删除其中一个节点时,才需要执行此过程。如果要删除的设备并不是双节点群集中的最后一个法定设备,请执行上一过程如何删除法定设备


注 –

所有双节点群集均要求至少配置一个法定设备。如果要删除的是双节点群集中的最后一个法定设备,则必须先将群集置于安装模式,然后才能使用 clquorum(1CL) 将法定设备从配置中删除。只有在从群集中删除节点时,才应执行此过程。


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

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

  2. 将要删除的节点置于维护状态。

    请参见如何使节点进入维护状态

  3. 将群集置于安装模式。


    # cluster set -p installmode=enabled
    
  4. 使用 clquorum 命令删除法定设备。

    当群集处于安装模式时,clsetup(1CL) 群集管理菜单选项不可用。


    # clquorum remove qd1
    
  5. 检验是否已删除法定设备。


    # clquorum list -v
    

示例 6–6 删除最后一个法定设备

本示例显示了如何删除群集配置中所剩的最后一个法定设备。


[Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on 
any cluster node.]
[Place the cluster in install mode:]
# cluster set -p installmode=enabled
[Remove the quorum device:]
# clquorum remove d3
[Verify that the quorum device has been removed:]
# clquorum list -v
 Quorums         Type
-------         ----
scphyshost-1    node
scphyshost-2    node
scphyshost-3    node

Procedure如何替换法定设备

使用该过程用另一个法定设备替换现有的法定设备。您可以用类型相似的设备替换法定设备,例如可以用另一个 NAS 设备替换现有的 NAS 设备,还可以用不同类型的设备替换法定设备,例如用一个共享的磁盘替换 NAS 设备。

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

  1. 配置新法定设备。

    需要首先将一个新的法定设备添加到配置中,来替换旧的设备。有关将新的法定设备添加到群集中的信息,请参见添加法定设备

  2. 删除要替换的法定设备。

    有关从配置中删除旧法定设备的信息,请参见如何删除法定设备

  3. 如果法定设备是故障磁盘,请替换该磁盘。

    请参阅《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》中有关磁盘盒的硬件操作过程。

维护法定设备

本节提供了以下过程以维护法定设备:

Procedure如何修改法定设备节点列表

您可以使用 clsetup(1CL) 实用程序向现有法定设备的节点列表中添加节点或从中删除节点。要修改法定设备的节点列表,必须删除该法定设备,修改节点与删除的法定设备的物理连接,然后将该法定设备重新添加到群集配置中。一旦添加了法定设备,clquorum(1CL) 会自动为与磁盘连接的所有节点配置节点到磁盘的路径。

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

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

  2. 确定要修改的法定设备的名称。


    # clquorum list -v
    
  3. 启动 clsetup 实用程序。


    # clsetup
    

    显示“Main Menu”。

  4. 键入法定选项的相应编号。

    这时将显示“Quorum”菜单。

  5. 键入删除法定设备选项的相应编号。

    按照说明操作。系统将询问您要删除的磁盘的名称。

  6. 添加或删除与法定设备的物理节点连接。

  7. 键入添加法定设备选项的相应编号。

    按照说明操作。系统将询问您要作为法定设备使用的磁盘的名称。

  8. 检验是否已添加法定设备。


    # clquorum list -v
    

示例 6–7 修改法定设备节点列表

以下示例显示了如何使用 clsetup 实用程序在法定设备节点列表中添加节点或从中删除节点。在本示例中,法定设备的名称为 d2,过程的最终结果是向法定设备节点列表中添加了另一个节点。


[Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on any node in the cluster.]

[Determine the quorum device name:]
# clquorum list -v
Quorums            Type
-------            -----
d2                 scsi
sc-phys-schost-1   node
sc-phys-schost-2   node
sc-phys-schost-3   node

[Start the clsetup utility:]
# clsetup

[Type the number that corresponds with the quorum option.]
.
[Type the number that corresponds with the option to remove a quorum device.]
.
[Answer the questions when prompted.]
[You will need the following information:]

   Information:			Example:
   Quorum Device Name: 	d2

[Verify that the clquorum command completed successfully:]
 clquorum remove d2
     Command completed successfully.

[Type the number that corresponds with the Quorum option.]
.
[Type the number that corresponds with the option to add a quorum device.]
.
[Answer the questions when prompted.]
[You will need the following information:]

   Information         Example:
   quorum device name     d2

[Verify that the clquorum command was completed successfully:clquorum add d2
     Command completed successfully.

Quit the clsetup utility.

[Verify that the correct nodes have paths to the quorum device. 
In this example, note that phys-schost-3 has been added to the 
enabled hosts list.]
# clquorum show d2 | grep Hosts
=== Quorum Devices ===

Quorum Device Name:		d2
   Hosts (enabled):		phys-schost-1, phys-schost-2, phys-schost-3

[Verify that the modified quorum device is online.]
# clquorum status d2
=== Cluster Quorum ===

--- Quorum Votes by Device ---

Device Name       Present      Possible      Status
-----------       -------      --------      ------
d2                1            1             Online[Verify the quorum device is removed:]
# clquorum list -v
Quorums            Type
-------            -----
sc-phys-schost-1   node
sc-phys-schost-2   node
sc-phys-schost-3   node

Procedure如何将法定设备置于维护状态

使用 clquorum(1CL) 命令可将法定设备置于维护状态。clsetup(1CL) 实用程序目前没有此功能。您还可以使用 Sun Cluster Manager GUI 完成此过程。有关详细信息,请参见 Sun Cluster Manager 联机帮助。

如果在较长的一段时间内不使用法定设备,请使之处于维护状态。这样,法定设备的法定选票计数设置为零,当设备正在维修时,将不会参与投票。在维护状态期间,法定设备的配置信息将被保留下来。


注 –

所有双节点群集均要求至少配置一个法定设备。如果这是双节点群集的最后一个法定设备,则 clquorum 无法将该设备置于维护状态。


要使群集节点处于维护状态,请参见如何使节点进入维护状态

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

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

  2. 将法定设备置于维护状态。


    # clquorum disable device
    
    device

    指定要更改的磁盘设备的 DID 名称,例如 d4

  3. 检验该法定设备当前是否处于维护状态。

    处于维护状态的设备的输出应该为法定设备选票读取零。


    # clquorum status device
    

示例 6–8 将法定设备置于维护状态

以下示例显示了如何将法定设备置于维护状态,以及如何检验操作结果。


# clquorum disable d20
# clquorum status d20
  
=== Cluster Quorum ===

--- Quorum Votes by Device ---

Device Name       Present      Possible      Status
-----------       -------      --------      ------
d20                1            1             Offline

另请参见

要重新启用法定设备,请参见如何使法定设备脱离维护状态

要将某个节点置于维护状态,请参见如何使节点进入维护状态

Procedure如何使法定设备脱离维护状态

要使处于维护状态的法定设备脱离维护状态,请运行此过程并将法定选票计数重新设置为默认值。


注意 – 注意 –

如果您既未指定 globaldev 选项,也未指定 node 选项,则会对整个群集重置法定计数。


配置法定设备时,Sun Cluster 软件将 N-1 的选票计数分配给法定设备,其中 N 是连接到法定设备的投票计数。例如,连接到两个选票计数非零的节点的法定设备的法定选票计数为一(二减一)。

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

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

  2. 重置定额计数。


    # clquorum enable device
    
    device

    指定要重置的法定设备的 DID 名称,例如 d4

  3. 如果由于某个节点已处于维护状态而需要重置其法定计数,请重新引导该节点。

  4. 检验法定选票计数。


    # clquorum show +
    

示例 6–9 重新设置法定选票计数(法定设备)

以下示例将一个法定设备的法定计数重置为默认值并检验操作结果。


# clquorum enable d20
# clquorum show +
  
=== Cluster Nodes ===                          

Node Name:                                      phys-schost-2
  Node ID:                                        1
  Quorum Vote Count:                              1
  Reservation Key:                                0x43BAC41300000001

Node Name:                                      phys-schost-3
  Node ID:                                        2
  Quorum Vote Count:                              1
  Reservation Key:                                0x43BAC41300000002


=== Quorum Devices ===                         

Quorum Device Name:                             d3
  Enabled:                                        yes
  Votes:                                          1
  Global Name:                                    /dev/did/rdsk/d20s2
  Type:                                           scsi
  Access Mode:                                    scsi2
  Hosts (enabled):                                phys-schost-2, phys-schost-3

Procedure如何列出定额配置

您还可以使用 Sun Cluster Manager GUI 来完成此过程。有关更多信息,请参见 Sun Cluster Manager 联机帮助。

要列出定额配置,您不必成为超级用户。您可以使用任意可提供 solaris.cluster.read RBAC 授权的角色。


注 –

在增加或减少连接到法定设备的节点数时,系统不会自动重新计算法定选票计数。如果删除了所有法定设备,然后将它们重新添加到配置中,则您可以重新建立正确的法定选票。对于双节点群集,请临时添加一个新的法定设备,然后删除原法定设备并将其添加回配置。然后,删除临时法定设备。


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

  1. 可使用 clquorum(1CL) 列出法定配置。


    % clquorum show +
    

示例 6–10 列出法定配置


% clquorum show +

=== Cluster Nodes ===                          

Node Name:                                      phys-schost-2
  Node ID:                                        1
  Quorum Vote Count:                              1
  Reservation Key:                                0x43BAC41300000001

Node Name:                                      phys-schost-3
  Node ID:                                        2
  Quorum Vote Count:                              1
  Reservation Key:                                0x43BAC41300000002


=== Quorum Devices ===                         

Quorum Device Name:                             d3
  Enabled:                                        yes
  Votes:                                          1
  Global Name:                                    /dev/did/rdsk/d20s2
  Type:                                           scsi
  Access Mode:                                    scsi2
  Hosts (enabled):                                phys-schost-2, phys-schost-3

Procedure如何修复法定设备

使用此过程替换发生故障的法定设备。

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

  1. 删除要替换的作为法定设备的磁盘设备。


    注 –

    如果要删除的设备是最后一个法定设备,则可能需要先添加另一个磁盘作为新的法定设备。此步骤可确保一旦在替换过程中出现故障,群集中仍存在有效的法定设备。要添加新的法定设备,请参见添加法定设备


    要删除作为法定设备的磁盘设备,请参见如何删除法定设备

  2. 替换磁盘设备。

    要替换磁盘设备,请参见《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》中有关磁盘盒的硬件操作过程。

  3. 将替换的磁盘添加为新的法定设备。

    要添加磁盘作为新法定设备,请参见添加法定设备


    注 –

    如果已在步骤 1 中添加了其他法定设备,则现在就可以安全地删除它了。要删除法定设备,请参见如何删除法定设备


管理 Sun Cluster 法定服务器

Sun Cluster Quorum Server 提供一个法定设备(非共享存储设备)。本节介绍有关管理 Sun Cluster 法定服务器的过程,其中包括:

有关安装和配置 Sun Cluster 法定服务器的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“如何安装和配置 Quorum Server 软件”

法定服务器配置文件概述

安装 Sun Cluster 软件时,将会创建一个默认配置文件 /etc/scqsd/scqsd.conf,该文件中包含有关单个默认法定服务器的信息。/etc/scqsd/scqsd.conf 文件中的每行都采用以下格式:


/usr/cluster/lib/sc/scqsd [-d quorumdirectory] [-i instancename] -p port
/usr/cluster/lib/sc/scqsd

安装 Sun Cluster 软件的完整路径。此值必须为 /usr/cluster/lib/sc/scqsd

-d quorumdirectory

法定法服务器可存储法定数据的目录路径。

法定服务器进程会在此目录中为每个群集创建一个文件, 以存储特定于群集的法定信息。默认情况下,此选项的值为 /var/scqsd。对于所配置的每个法定服务器,此目录必须是唯一的。

-i instancename

为法定服务器实例选择的唯一名称。

-p port

法定服务器侦听来自群集的请求的端口号。默认端口为 9000。

实例名称是可选的。如果为法定服务器指定名称,则该名称在系统的所有法定服务器中必须是唯一的。如果选择省略该实例名称选项,则必须通过法定服务器所侦听的端口来指示法定服务器。

启动和停止 Sun Cluster Quorum Server 软件

这些过程介绍如何启动和停止 Sun Cluster 软件。

默认情况下,这些过程会启动和停止单个默认法定服务器,除非您对法定服务器配置文件 /etc/scqsd/scqsd.conf 的内容进行了自定义。默认法定服务器绑定在端口 9000 上,并使用 /var/scqsd 目录存储法定信息。

有关自定义法定服务器启动文件的信息,请参见《Sun Cluster Quorum Server User’s Guide》中的“Configuring Multiple Quorum Servers on the Same Host”

Procedure如何启动法定服务器

  1. 在要启动 Sun Cluster 软件的主机上成为超级用户。

  2. 使用 clquorumserver start 命令启动该软件。


    # /usr/cluster/bin/clquorumserver start quorumserver
    
    quorumserver

    标识法定服务器。可以使用法定服务器所侦听的端口号。如果在配置文件中提供了实例名称,则也可以使用该名称。

    要启动单个法定服务器,请提供实例名称或端口号。要启动所有法定服务器(配置了多个法定服务器时),请使用 + 操作数。


示例 6–11 启动所有已配置的法定服务器

以下示例将启动所有已配置的法定服务器。


# /usr/cluster/bin/clquorumserver start +


示例 6–12 启动特定法定服务器

以下示例将启动侦听端口号 2000 的法定服务器。


# /usr/cluster/bin/clquorumserver start 2000

Procedure如何停止法定服务器

  1. 在要启动 Sun Cluster 软件的主机上成为超级用户。

  2. 使用 clquorumserver stop 命令停止该软件。


    # /usr/cluster/bin/clquorumserver stop quorumserver
    
    quorumserver

    标识法定服务器。可以使用法定服务器所侦听的端口号。如果在配置文件中提供了实例名称,则也可以使用该名称。

    要停止单个法定服务器,请提供实例名称或端口号。要停止所有法定服务器(配置了多个法定服务器时),请使用 + 操作数。


示例 6–13 停止所有已配置的法定服务器

以下示例将停止所有已配置的法定服务器。


# /usr/cluster/bin/clquorumserver stop +


示例 6–14 停止特定法定服务器

以下示例将停止侦听端口号 2000 的法定服务器。


# /usr/cluster/bin/clquorumserver stop 2000

显示有关法定服务器的信息

可以显示有关法定服务器的配置信息。对于每个将法定服务器配置为法定设备的群集,该命令可以显示相应的群集名称、群集 ID、保留关键字列表和注册关键字列表。

Procedure如何显示有关法定服务器的信息

  1. 在要显示法定服务器信息的主机上成为超级用户。

    非超级用户要求具有 solaris.cluster.read 基于角色的访问控制 (role-based access control, RBAC) 授权。有关 RBAC 权限配置文件的更多信息,请参见 rbac(5) 手册页。

  2. 使用 clquorumserver 命令显示法定服务器的配置信息。


    # /usr/cluster/bin/clquorumserver show quorumserver
    
    quorumserver

    标识一个或多个法定服务器。可以使用实例名称或端口号指定法定服务器。要显示所有法定服务器的配置信息,请使用 + 操作数。


示例 6–15 显示一个法定服务器的配置信息

以下示例显示使用端口 9000 的法定服务器的配置信息。该命令将显示将法定服务器配置为法定设备的每个群集的信息。该信息包括群集的名称和 ID、设备上保留关键字和注册关键字的列表。

在以下示例中,ID 为 1、2、3 和 4 的群集 bastille 节点在法定服务器上注册了其关键字。此外,由于节点 4 拥有法定设备保留关键字,因此其关键字显示在保留关键字列表中。


# /usr/cluster/bin/clquorumserver show 9000

=== Quorum Server on port 9000 ===

   ---  Cluster bastille (id 0x439A2EFB) Reservation ---

   Node ID:                      4
     Reservation key:            0x439a2efb00000004

   ---  Cluster bastille (id 0x439A2EFB) Registrations ---

   Node ID:                      1
     Registration key:           0x439a2efb00000001

   Node ID:                      2
     Registration key:           0x439a2efb00000002

   Node ID:                      3
     Registration key:           0x439a2efb00000003

   Node ID:                      4
     Registration key:           0x439a2efb00000004


示例 6–16 显示多个法定服务器的配置信息

以下示例显示三个法定服务器 qs1qs2qs3 的配置信息。


# /usr/cluster/bin/clquorumserver show qs1 qs2 qs3


示例 6–17 显示所有正在运行的法定服务器的配置信息

以下示例显示所有正在运行的法定服务器的配置信息。


# /usr/cluster/bin/clquorumserver show +

清除过时的法定服务器群集信息

要删除类型为 quorumserver 的法定设备,请使用 clquorum remove 命令(如如何删除法定设备所述)。在常规操作情况下,该命令也将删除法定服务器主机上该法定服务器的信息。不过,如果群集与法定服务器主机之间的通信中断,则删除法定设备不会清除该信息。

在以下情况下,法定服务器群集信息将变为无效:


注意 – 注意 –

如果尚未从群集中删除 quorumserver 类型的法定设备,则使用该过程清除有效法定服务器会影响群集法定。


Procedure如何清除法定服务器配置信息

开始之前

从群集中删除法定服务器法定设备,如如何删除法定设备所述。


注意 – 注意 –

仅当符合《Sun Cluster Quorum Server User’s Guide》中的“Cleaning Up Stale Quorum Server Cluster Information”中所描述的情况时,才使用该过程。如果群集仍在使用该法定服务器,则执行该过程会影响群集法定。


  1. 在法定服务器主机上成为超级用户。

  2. 使用 clquorumserver clear 命令清除配置文件。


    # clquorumserver clear -c clustername -I clusterID quorumserver [-y]
    -c clustername

    先前将法定服务器用作法定设备的群集的名称。

    可以通过在群集节点上运行 cluster show 获取群集名称。

    -I clusterID

    群集 ID。

    群集 ID 是一个 8 位十六进制数字。可以通过在群集节点上运行 cluster show 获取群集 ID。

    quorumserver

    一个或多个法定服务器的标识符。

    可以使用端口号或实例名称来标识法定服务器。端口号供群集节点用于与法定服务器进行通信。实例名称是在法定服务器配置文件 /etc/scqsd/scqsd.conf 中指定的。

    -y

    强制 clquorumserver clear 命令从配置文件中清除群集信息,而不先提示进行确认。

    仅当确信要从法定服务器中删除过时的群集信息时,才使用该选项。

  3. (可选的)如果该服务器实例上未配置其他法定设备,请停止该法定服务器。

    有关具体说明,请参见《Sun Cluster Quorum Server User’s Guide》中的“How to Stop a Quorum Server”


示例 6–18 从法定服务器配置中清除过时的群集信息

本示例将从使用端口 9000 的法定服务器中删除有关名为 sc-cluster 的群集的信息。


# clquorumserver clear -c sc-cluster -I 0x4308D2CF 9000
The quorum server to be unconfigured must have been removed from the cluster.  
Unconfiguring a valid quorum server could compromise the cluster quorum.  Do you 
want to continue? (yes or no) y