Oracle® Solaris Cluster 系统管理指南

退出打印视图

更新时间: 2015 年 10 月
 
 

添加法定设备

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


Caution

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


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

  • 以下各项中的共享 LUN:

    • 共享 SCSI 磁盘

    • 串行连接技术附件 (Serial Attached Technology Attachment, SATA) 存储

    • Oracle ZFS Storage Appliance

  • Oracle Solaris Cluster 法定服务器

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


注 - 不能将复制磁盘配置为法定设备。如果尝试将一个复制磁盘添加为法定设备,您将收到以下错误消息,命令将退出并显示一个错误代码。
Disk-name is a replicated device. Replicated devices cannot be configured as
quorum devices.

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

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


Caution

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


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

您还可以使用 Oracle Solaris Cluster Manager GUI 创建法定服务器设备或共享磁盘法定设备。有关 GUI 登录说明,请参见如何访问 Oracle Solaris Cluster Manager

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

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

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

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

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

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

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。

  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 命令和一个检验步骤。

Assume the root 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

如何添加 Oracle ZFS Storage Appliance NAS 法定设备

在添加新法定设备之前,请确保群集中所有节点均处于联机状态。

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

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。

您还可以使用 Oracle Solaris Cluster Manager GUI 添加 Oracle ZFS Storage Appliance NAS 设备。有关登录说明,请参见如何访问 Oracle Solaris Cluster Manager

  1. 有关设置 iSCSI 设备的说明,请参考随Oracle ZFS Storage Appliance 提供的安装文档或者该设备的联机帮助。
  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/cldevice populate
  4. 标识 DID 设备,该设备表示使用 iSCSI 刚刚配置到群集中的 NAS 设备 LUN。

    使用 cldevice show 命令可查看 DID 名称列表。有关其他信息,请参阅 cldevice(1CL) 手册页。

  5. 在群集的任一节点上承担可提供 solaris.cluster.modify RBAC 授权的角色。
  6. 通过 clquorum 命令,使用Step 4 中指定的 DID 设备将 NAS 设备添加为法定设备。
    # clquorum add d20

    群集具有默认的规则来决定是使用 scsi-2、scsi-3 还是软件法定协议。有关更多信息,请参见 clquorum(1CL) 手册页。

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

开始之前

在将 Oracle Solaris Cluster 法定服务器添加为法定设备之前,必须在主机上安装 Oracle Solaris Cluster 法定服务器软件,并且法定服务器必须已启动并正在运行。有关安装法定服务器的信息,请参见Oracle Solaris Cluster 软件安装指南 中的如何安装和配置 Oracle Solaris Cluster 法定服务器软件

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

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。

您还可以使用 Oracle Solaris Cluster Manager GUI 创建法定服务器设备。有关 GUI 登录说明,请参见如何访问 Oracle Solaris Cluster Manager

  1. 在群集的任一节点上承担可提供 solaris.cluster.modify RBAC 授权的角色。
  2. 确保所有 Oracle Solaris Cluster 节点都处于联机状态,并可与 Oracle Solaris Cluster 法定服务器进行通信。
    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-2  添加法定服务器法定设备

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

Assume the root 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