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 HardwareSolaris 10 on Sun Hardware 文档集)。

添加法定设备

本节提供了添加法定设备的过程。 在添加新法定设备之前,请确保群集中所有节点均处于联机状态。有关确定群集所必需的法定投票计数的数目、建议的法定配置和故障隔离等信息,请参见《Sun Cluster Concepts Guide for Solaris OS》中的“Quorum and Quorum Devices”


注意 – 注意 –

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


Sun Cluster 支持以下类型的法定设备:

下节中将提供这些设备的添加过程:


注 –

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


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

共享磁盘法定设备是 Sun Cluster 软件所支持的任何连接存储设备。共享磁盘连接到您的群集的两个或更多个节点。如果您打开隔离功能,则可以将双端口磁盘配置为使用 SCSI-2 或 SCSI-3(默认情况下为 SCSI-2)的法定设备。如果打开隔离功能并且您的共享设备连接到两个以上的节点,则可以将您的共享磁盘配置为使用 SCSI-3 协议(用于两个以上节点的默认协议)的法定设备。您可以使用 SCSI 覆盖标志使 Sun Cluster 软件对双端口共享磁盘使用 SCSI-3 协议。

如果您为共享磁盘关闭隔离功能,那么可以将该磁盘配置为使用软件法定协议的法定设备。无论该磁盘是支持 SCSI-2 协议还是支持 SCSI-3 协议,都是如此。软件法定是 Sun Microsystems 开发的一个协议,该协议模仿了某种形式的 SCSI 持久组保留 (Persistent Group Reservations, PGR)。


注意 – 注意 –

如果您使用的是不支持 SCSI 的磁盘(例如,SATA),则应该关闭 SCSI 隔离功能。


对于法定设备,您可以使用包含用户数据或属于某个设备组的磁盘。通过观察 cluster show 命令的输出中共享磁盘的 access-mode 值,可以查看由具有该共享磁盘的法定子系统所使用的协议。

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

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

Procedure如何添加共享磁盘法定设备

Sun Cluster 软件支持使用共享磁盘(包括 SCSI 和 SATA)设备作为法定设备。SATA 设备不支持 SCSI 保留项,您必须禁用 SCSI 保留隔离标志并使用软件法定协议将这些磁盘配置为法定设备。

要完成此过程,请使用磁盘驱动器的设备 ID (Device ID, DID) 来标识该设备(设备 ID 由节点共享)。使用 cldevice show 命令可查看 DID 名称列表。有关其他信息,请参阅 cldevice(1CL) 手册页。在添加新法定设备之前,请确保群集中所有节点均处于联机状态。

使用此过程可配置 SCSI 或 SATA 设备。

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

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

  2. 启动 clsetup 实用程序。


    # clsetup
    

    屏幕上将显示 clsetup 主菜单。

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

    这时将显示“Quorum”菜单。

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

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

  5. 键入与共享磁盘法定设备选项对应的编号。

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

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

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

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

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

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


    # clquorum list -v
    

示例 6–1 添加共享磁盘法定设备

以下示例显示了当 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:]
  [Directly attached shared disk      shared_disk]
  [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
 
Quorum         Type
-------         ----
d20              shared_disk
scphyshost-1    node
scphyshost-2    node

Procedure如何添加 Sun NAS 法定设备

要完成此过程,请使用磁盘驱动器的设备 ID (Device ID, DID) 来标识该设备(设备 ID 由节点共享)。使用 cldevice show 命令可查看 DID 名称列表。有关其他信息,请参阅 cldevice(1CL) 手册页。在添加新法定设备之前,请确保群集中所有节点均处于联机状态。


注 –

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


phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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. 键入与共享磁盘法定设备选项对应的编号。

    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
/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:]
  [Directly attached shared disk device   shared_disk]
  [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
 
Quorum         Type
-------         ----
d20             shared_disk
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》

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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
 
Quorum         Type
-------         ----
qd1             netapp_nas
scphyshost-1    node
scphyshost-2    node

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

开始之前

在添加 Sun Cluster Quorum Server 作为法定设备时,必须在主机上安装 Sun Cluster Quorum Server 软件,并且必须启动和运行法定服务器。有关安装法定服务器的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“如何安装和配置 Quorum Server 软件”

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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
 
Quorum         Type
-------         ----
qd1             quorum_server
scphyshost-1    node
scphyshost-2    node

# clquorum status 

=== Cluster Quorum ===
-- Quorum Votes Summary --
 
        Needed     Present    Possible
        ------     -------    -------- 
        3          5           5
   
-- Quorum Votes by Node --
 
  Node Name        Present    Possible   Status
  ---------        -------    --------  ------
  phys-schost-1    1          1          Online
  phys-schost-2    1          1          Online
 
-- Quorum Votes by Device --
 
  Device Name       Present   Possible   Status
  -----------       -------   --------   ------
  qd1               1         1          Online
  d3s2              1         1          Online
  d4s2              1         1          Online

删除或替换法定设备

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

Procedure如何删除法定设备

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

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


注 –

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


phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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
 
 Quorum         Type
-------         ----
scphyshost-1    node
scphyshost-2    node
scphyshost-3    node

故障排除

如果您在删除法定服务器法定设备时,群集与法定服务器主机之间的通信中断,则必须清除有关法定服务器主机的过时配置信息。有关执行此清除过程的说明,请参见清除过时的法定服务器群集信息

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

此过程可从群集中删除最后一个法定设备。仅当您拥有双节点群集并且要删除最后一个法定设备时,才能使用此过程。 如果其中一个节点发生故障,请使用 -F 选项删除该设备。通常,应先删除故障设备,再添加替换法定设备。

添加法定设备涉及到节点重新配置,而这会涉及有故障的法定设备并会导致计算机出现紧急状态。使用 Force 选项可以删除有故障的法定设备,并且不会导致计算机出现紧急状态。使用clquorum(1CL) 命令可从配置中删除设备。 删除故障的法定设备后,可使用 clquorum add 命令添加新设备。请参见添加法定设备

如果要删除的设备并不是双节点群集中的最后一个法定设备,请执行如何删除法定设备中的步骤。

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

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

  2. 使用 clquorum 命令删除法定设备。如果法定设备出现故障,请使用 -F Force 选项删除有故障的设备。


    # clquorum remove -F qd1
    

    注 –

    您也可以将要删除的节点设为维护状态,然后使用 clquorum remove quorum 命令删除法定设备。当群集处于安装模式时,clsetup(1CL) 群集管理菜单选项不可用。有关更多信息,请参见如何使节点进入维护状态


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


    # 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
 Quorum         Type
-------         ----
scphyshost-1    node
scphyshost-2    node
scphyshost-3    node

Procedure如何替换法定设备

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

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  1. 配置新法定设备。

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

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

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

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

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

维护法定设备

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

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

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

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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
Quorum            Type
-------            -----
d2                 shared_disk
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.

[Verify that the quorum device was removed.]
# clquorum list -v
Quorum            Type
-------            -----
sc-phys-schost-1   node
sc-phys-schost-2   node
sc-phys-schost-3   node

[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

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

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

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


注 –

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


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

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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 是连接到法定设备的投票计数。例如,连接到两个投票计数非零的节点的法定设备的法定投票计数为一(二减一)。

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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:                                           shared_disk
  Access Mode:                                    scsi2
  Hosts (enabled):                                phys-schost-2, phys-schost-3

Procedure如何列出法定配置

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

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


注 –

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


phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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:                                           shared_disk
  Access Mode:                                    scsi2
  Hosts (enabled):                                phys-schost-2, phys-schost-3

Procedure如何修复法定设备

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

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

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

  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

-dquorumdirectory

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

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

-iinstancename

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

-pport

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

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

启动和停止 Sun Cluster Quorum Server 软件

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

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

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

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 [-d] quorumserver
    
    -d

    控制法定服务器是否在您下一次引导计算机时启动。如果您指定了 -d 选项,则在计算机下一次引导时,法定服务器将不会启动。

    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如何清除法定服务器配置信息

开始之前

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


注意 – 注意 –

如果群集仍在使用该法定服务器,则执行该过程会影响群集法定。


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

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


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

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

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

    -IclusterID

    群集 ID。

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

    quorumserver

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

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

    -y

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

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

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


示例 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