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

添加法定设备

本节提供了添加法定设备的过程。有关确定群集所必需的法定选票计数的数目、建议的法定配置和故障隔离等信息,请参见《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