Oracle® Solaris Cluster 参考手册

退出打印视图

更新时间: 2014 年 7 月,E51743-01
 
 

clquorum(1CL)

名称

clquorum, clq - 管理 Oracle Solaris Cluster 法定设备和属性

用法概要

/usr/cluster/bin/clquorum -V
/usr/cluster/bin/clquorum subcommand -?
/usr/cluster/bin/clquorum subcommand [options] -v devicename[…]
/usr/cluster/bin/clquorum add [-a] [-t type] [-p name=value [,…]] devicename[…]
/usr/cluster/bin/clquorum add -i {- | clconfigfile} [-t type] [-p name=value[,…]] {+ | devicename[…]}
/usr/cluster/bin/clquorum disable [-t type[,…]] {+ | devicename...}
/usr/cluster/bin/clquorum enable [-t type[,…]] {+ | devicename[…]}
/usr/cluster/bin/clquorum export [-o {- | clconfigfile}] [-t type[,…]] {+ | devicename[…]}
/usr/cluster/bin/clquorum list [-t type[,…]] [-n node[,…]] [+ | devicename[…]]
/usr/cluster/bin/clquorum remove -F [-t type[,…]] 
     {+ | devicename[…]}
/usr/cluster/bin/clquorum reset 
/usr/cluster/bin/clquorum show [-t type[,…]] [-n node[,…]] 
     [+ | devicename[…]]
/usr/cluster/bin/clquorum status [-t type[,…]] [-n node[,…]] 
     [+ | devicename[…]]

描述

clquorum 命令可管理群集法定设备和群集法定属性。clq 命令是 clquorum 命令的简短格式。clquorum 命令和 clq 命令是相同的。您可以使用此命令的任一种格式。

此命令的一般格式如下所示:

clquorum [subcommand] [options] [operands]

仅当 options 指定 –? 选项或 –V 选项时,才可以省略 subcommand

此命令的每个选项都有长格式和简短格式两种格式。在本手册页的 选项 部分给出了每个选项的两种格式,以及对该选项的描述。

法定设备是在发生裂脑和失忆情况时保护群集所必需的。(有关裂脑和失忆情况的信息,请参见《Oracle Solaris Cluster Concepts Guide》中有关法定和法定设备的章节。)每个法定设备必须通过 SCSI 电缆或 IP 网络连接到至少两个节点。

法定设备可以是共享的 SCSI 存储设备、共享的 NAS 存储设备 (Oracle ZFS Storage Appliance) 或法定服务器。如果法定设备存储着用户数据,则将上述设备作为法定设备进行添加或删除时,存储的数据不会受影响。但是,如果使用的是复制的存储设备,则法定设备必须位于非复制卷上。

除非节点和法定设备处于维护状态,否则,节点和法定设备都会参与群集法定的构成。如果某个节点或法定设备处于维护状态,则其选票计数始终为零,并且不参与法定构成。

可以使用 clquorum 命令来执行以下任务:

  • 将法定设备添加到 Oracle Solaris Cluster 配置中

  • 从 Oracle Solaris Cluster 配置中删除法定设备

  • 管理法定属性

子命令

支持以下子命令:

add

将指定共享设备作为法定设备添加。

仅可以在全局区域中运行该子命令。

每个法定设备必须至少与群集中的两个节点相连接。在群集配置中添加的法定设备包含到该设备所连接的每个节点的连接路径。以后,如果法定设备与群集节点之间的连接发生变化,您必须更新路径。可以通过删除法定设备然后重新将其添加到配置中来更新路径。如果添加了更多与法定设备连接的节点,或者断开了法定设备与一个或多个节点的连接,则可能会出现这种情况。有关法定管理的更多信息,请参见Oracle Solaris Cluster 系统管理指南 中的第 6  章 管理法定

法定设备有多种类型。有关完整说明,请参见“选项”部分中的 –t 选项。shared_disk 类型是默认类型。

超级用户以外的用户需要具有 solaris.cluster.modify 基于角色的访问控制 (role-based access control, RBAC) 授权。请参见 rbac(5)

另请参见 remove 子命令的描述。

disable

将法定设备或节点置于法定维护状态。

仅可以在全局区域中运行该子命令。

在维护状态下,共享的设备或节点的选票计数为零。该共享设备或节点不再参与法定构成。此外,如果某个节点处于维护状态,那么,连接到该节点的任何法定设备的选票计数都会减一。

当您需要长时间关闭某个节点或设备以进行维护时,此功能十分有用。当某个节点重新引导到群集中后,除非设置了 installmode,否则,该节点会使自身脱离维护模式。

必须先关闭节点,然后才能将该节点置于维护状态。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权。请参见 rbac(5)

另请参见 enable 子命令的描述。

enable

使法定设备或节点脱离法定维护状态。

仅可以在全局区域中运行该子命令。

enable 子命令可使法定设备或节点脱离维护模式。该子命令可将法定设备或节点的已配置法定选票计数重置为默认值。此时,共享的设备或节点可以参与法定构成。

重置法定设备后,法定设备的选票计数将更改为 N-1。在此计算式中,N 是与设备连接的、选票计数非零的节点的数目。重置节点后,选票计数将重置为默认值。此时,与该节点连接的法定设备的选票计数将会加一。

除非启用了安装模式设置 installmode,否则,在引导时会自动启用每个节点的法定配置。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权。请参见 rbac(5)

另请参见 disable 子命令的描述。

export

导出群集法定的配置信息。

仅可以在全局区域中运行该子命令。

如果使用 –o 选项指定一个文件,则会将配置信息写入该文件。如果未指定文件,则会将信息写入标准输出 (stdout)。

export 子命令不会修改任何群集配置数据。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权。请参见 rbac(5)

list

显示群集中配置的法定设备的名称。

可以在全局区域中使用此子命令的所有格式。在区域群集中,只能结合 –?– V 选项使用此子命令,或者不带任何选项使用此子命令。

如果不指定选项,list 子命令将显示群集中配置的所有法定设备。如果指定 –t 选项,该子命令只显示指定类型的法定设备。如果指定 –n 选项,该子命令将显示连接到任一指定节点的所有法定设备的名称。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权。请参见 rbac(5)

remove

从 Oracle Solaris Cluster 法定配置中删除指定的一个或多个法定设备。

仅可以在全局区域中运行该子命令。

结合强制选项 –F 使用此子命令可以删除双节点群集中的最后一个法定设备。如果不指定 –F 选项,remove 子命令将不会删除双节点群集的最后一个法定设备。

remove 子命令不会断开并删除物理设备。该子命令也不会影响设备上的任何用户数据(如果存在)。除非启用了 installmode,否则无法删除双节点群集中的最后一个法定设备。

只能删除法定设备。无法使用此子命令删除群集节点。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权。请参见 rbac(5)

另请参见 add 子命令的描述。

reset

将整个法定配置重置为默认选票计数。

仅可以在全局区域中运行该子命令。

如果启用了 installmode,则可以通过重置来清除该模式。除非已成功配置了至少一个法定设备,否则无法在双节点群集上重置 installmode

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权。请参见 rbac(5)

有关 installmode 属性的描述,另请参见 cluster(1CL) 中的 –p 选项。

show

显示法定设备的属性。

仅可以在全局区域中运行该子命令。

如果不指定选项,show 子命令将显示群集中所有法定设备的属性。

如果使用 –t 选项指定了类型,该子命令只显示该类型设备的属性。请参见“选项”中的 –t

如果使用 –n 选项指定了节点,该子命令将显示连接到任一指定节点的法定设备的属性。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权。请参见 rbac(5)

status

检查并显示法定设备的当前状态和选票计数。

可以在全局区域中使用此子命令的所有格式。在区域群集中,只能结合 –?– V 选项使用此子命令,或者不带任何选项使用此子命令。

可以在全局区域中使用此子命令即时检查连接到指定节点的法定设备的状态。对于未连接到该节点的法定设备,此子命令将显示上次群集重新配置期间值为 true 的状态。

如果不指定选项,status 子命令将显示群集中所有法定设备的相关信息。

如果使用 –t 选项指定了类型,该子命令只显示该类型设备的相关信息。请参见“选项”中的 –t

如果使用 –n 选项指定了节点,该子命令将显示连接到任一指定节点的法定设备的属性。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权。请参见 rbac(5)

选项

支持以下选项:

–?
-–help

显示帮助信息。使用该选项时,不会执行任何其他处理。

指定此选项时,子命令可有可无。

如果仅指定此选项而不使用子命令,将会显示此命令的子命令列表。

如果使用子命令且指定此选项,将会显示该子命令的用法选项。

–a
–-autoconfig

对于使用共享磁盘的双节点群集,如果未配置任何法定设备,将自动选择并配置一个法定设备。

该群集中的所有共享磁盘都必须符合成为法定设备的条件。autoconfig 子命令不会检查某个可用设备是否符合成为法定设备的条件。autoconfig 子命令只针对共享磁盘执行检查。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权。请参见 rbac(5) 手册页。

–F

强制删除指定的法定设备。

该强制选项仅可与 remove 子命令一起使用。使用强制选项可以删除双节点群集中的最后一个法定设备,或者删除某个发生故障的法定设备。结合此选项使用 remove 子命令时,在删除过程中,法定子系统不会处理法定设备。

–i clconfigfile
-–input=clconfigfile
-–input clconfigfile

指定用于管理法定设备的配置信息。此信息必须符合 clconfiguration(5CL) 手册页中定义的格式。

–i 与某个子命令以及其他命令行选项一起使用时,命令行选项的参数将会覆盖配置文件中的设置。

–n node-name
-–node=node-name
-–node node-name

指定法定设备连接到的节点名称。在 liststatusshow 子命令中使用此选项可以使显示的信息仅限于连接到指定节点的那些法定设备。

可为 node-name 指定节点名称或节点 ID。

–o {- | clconfigfile}
-–output={- | clconfigfile}
-–output {- | clconfigfile}

将法定设备配置信息写入到文件或标准输出 (stdout)。此配置信息的格式符合 clconfiguration(5CL) 手册页中描述的格式。要指定标准输出,请指定 - 而不是文件名。

–p name=value[,…]
-–property=name=value[,…]
-–property name=value[,…]

指定特定于某个设备类型的法定设备属性。将此选项与 add 子命令一起使用。有关这些属性的列表和描述,请参见 –t 选项的描述。

–t device-type
-–type=device-type
-–type device-type

指定法定设备类型。当指定了此选项时,操作数必须属于指定的类型。

对于 addexportremove 子命令,当前支持的法定设备类型如下:

  • 共享的本地磁盘,由 shared_disk 指定,可以是 SCSI-2、SCSI-3 或软件法定设备(禁用了隔离的 SCSI 磁盘)

  • 在 Oracle Solaris Cluster 法定服务器计算机上运行的法定服务器进程,由 quorum_server 指定

默认类型为 shared_disk

add 子命令不接受将 –t node 用作法定类型。

对于 enabledisablelistshow status 子命令,可以指定类型 nodeshared_diskquorum_server。这些不同类型的法定设备具有以下属性:

node

无需设置特定属性即可让节点参与法定构成。

此类型只能与 enabledisable liststatusshow 子命令一起使用。不能用来添加 node 类型的法定设备。

quorum_server

quorum_server 类型的法定设备具有以下属性:

qshost=quorum-server-host:指定运行法定服务器的计算机名称。此主机可以是计算机的 IP 地址,也可以是网络上的主机名。如果指定主机名,则必须在 /etc/hosts 文件和/或 /etc/inet/ipnodes 文件中指定计算机的 IP 地址。

port=port:指定法定服务器与群集节点通信所用的端口号。

在添加法定服务器之前,必须先在主机上安装法定服务器软件,并启动和运行法定服务器。有关详细信息,请参阅Oracle Solaris Cluster 软件安装指南

shared_disk

使用此类型可配置 SCSI-2、SCSI-3 或软件法定设备。对于 shared_disk 法定设备,无需设置特定属性。autoconfig 子命令仅接受此法定设备类型。

–V
-–version

显示该命令的版本。

请不要将此选项与其他子命令、选项或操作数一起指定。这些子命令、选项或操作数将被忽略。–V 选项只显示命令的版本。不会执行任何其他操作。

–v
-–verbose

将详细信息显示到标准输出 (stdout)。

操作数

支持以下操作数:

devicename

对于 addexportremove 子命令,操作数是共享磁盘(SCSI、法定服务器或 NAS 法定设备)的名称。对于 add 子命令,如果未使用 –i 指定 clconfigurationfile,则必须至少将一个法定设备指定为操作数。

对于 disableenablelist statusshow 子命令,操作数可以是节点的名称,也可以是共享磁盘(SCSI、法定服务器或 NAS 法定设备)的名称。

在任何情况下,如果指定了 –t 选项,则操作数类型必须与该选项的值匹配。

将以下值用作 devicename 操作数:

  • 对于节点,该操作数必须是节点名称或节点 ID。

  • 对于 SCSI 法定设备,该操作数必须是设备标识符或完整的 DID 路径名,例如 d1/dev/did/rdsk/d1

  • 对于法定服务器法定设备,该操作数必须指定一个或多个法定服务器的标识符。该标识符可以是法定服务器实例名称,并且在所有法定设备中必须是唯一的。

+

对于 disableenable liststatusshow 子命令,指定为群集配置的所有法定设备。如果使用 –t 选项,加号 (+) 操作数可指定该类型的所有设备。

退出状态

如果命令对于所有指定的操作数均成功执行,则返回零 (CL_NOERR)。如果某个操作数出错,命令会继续处理操作数列表中的下一个操作数。返回的退出代码始终反映最先发生的错误。

可能会返回以下退出值:

0 CL_NOERR

没有错误

您发出的命令已成功完成。

1 CL_ENOMEM

交换空间不足

某个群集节点耗尽了交换内存或其他操作系统资源。

3 CL_EINVAL

参数无效

您键入的命令不正确,或者使用 –i 选项提供的群集配置信息语法不正确。

6 CL_EACCESS

权限被拒绝

指定的对象不可访问。要发出命令,可能需要拥有超级用户或 RBAC 访问权限。有关更多信息,请参见 su(1M)rbac(5) 手册页。

18 CL_EINTERNAL

遇到内部错误

内部错误表示软件缺陷或其他缺陷。

35 CL_EIO

I/O 错误

发生了物理输入/输出错误。

36 CL_ENOENT

没有这样的对象

由于以下某个原因,找不到您所指定的对象:

  • 该对象不存在。

  • 您尝试使用 –o 选项创建的配置文件路径中的某个目录不存在。

  • 您尝试使用 –i 选项访问的配置文件包含错误。

39 CL_EEXIST

对象已存在

您所指定的设备、设备组、群集互连组件、节点、群集、资源、资源类型、资源组或专用字符串已存在。

41 CL_ETYPE

类型无效

您使用 –t–p 选项指定的类型不存在。

示例

示例 1 添加 SCSI 法定设备

以下 clquorum 命令将配置连接到所有群集节点的某个 SCSI 法定设备。

# clquorum add /dev/did/rdsk/d4s2

使用 add 子命令时,shared_disk 类型是默认类型。要添加 shared_disk 法定设备,不需要指定 -t shared_disk

示例 2 添加法定服务器

以下 clquorum 命令将配置法定服务器 qs1

# clquorum add -t quorum_server -p qshost=10.11.114.81 -p port=9000 qs1
示例 3 删除法定设备

以下 clquorum 命令将删除 d4 法定设备。

# clquorum remove d4

无论法定设备的类型是 shared_disk 还是 quorum_server,用于删除该设备的命令都是相同的。

示例 4 将法定设备置于维护状态

以下 clquorum 命令将法定设备 qs1 置于维护状态,并验证该设备是否处于维护状态。

# clquorum disable qs1
# clquorum status qs1
  
=== Cluster Quorum ===

--- Quorum Votes by Device ---

Device Name       Present      Possible      Status
-----------       -------      --------      ------
qs1                1            1             Offline
示例 5 重置法定设备的法定选票数

以下 clquorum 命令将法定设备 d4 的已配置法定选票计数重置为默认值。

# clquorum enable d4
示例 6 显示群集中配置的法定设备

以下 clquorum 命令以简洁格式和详细格式显示法定设备。

# clquorum list
d4
pcow1
pcow2
# clquorum list -v
Quorums               Type
-------               ----
d4                    shared_disk
pcow1                 node
pcow2                 node

属性

有关以下属性的描述,请参见 attributes(5)

属性类型
属性值
可用性
ha-cluster/system/core
接口稳定性
Evolving(发展中)

另请参见

Intro(1CL)cluster(1CL)clconfiguration(5CL)

附注

超级用户可以运行此命令的所有格式。

任何用户都可以运行带有以下选项的此命令:

  • –? 选项

  • –V 选项

要运行带有其他子命令的此命令,超级用户以外的用户需要具有 RBAC 授权。请参见下表。

子命令
RBAC 授权
add
solaris.cluster.modify
disable
solaris.cluster.modify
enable
solaris.cluster.modify
export
solaris.cluster.read
list
solaris.cluster.read
remove
solaris.cluster.modify
reset
solaris.cluster.modify
show
solaris.cluster.read
status
solaris.cluster.read