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

添加法定设备

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

    将显示 "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" 选项对应的编号。

    将显示 "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" 选项对应的编号。

    将显示 "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)》中的“如何安装和配置法定服务器软件”

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" 选项对应的编号。

    将显示 "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