本节介绍了如何对整个全局群集或区域群集执行管理任务。下表列出了这些管理任务及相关过程。对于 Solaris 10 OS,您通常在全局区域中执行群集管理任务。要管理区域群集,必须以群集模式启动至少一台将托管该区域群集的计算机。不需要启动并运行所有区域群集节点;当目前不在群集中的节点重新加入该群集时,Sun Cluster 将重放任何配置更改。
在本章中,phys-schost# 表示全局群集提示符。clzonecluster 交互式 shell 提示符为 clzc:schost>。
表 9–1 任务列表:管理群集
任务 |
指导 |
---|---|
在群集中添加或删除节点 | |
更改群集的名称 | |
列出节点的 ID 及其相应的节点名称 | |
允许或拒绝新节点添加到群集中 | |
使用网络时间协议 (Network Time Protocol, NTP) 更改群集时间 | |
关闭节点以显示 OpenBoot PROM ok 提示符(在基于 SPARC 的系统上)或在 GRUB 菜单中显示消息 "Press any key to continue"(在基于 x86 的系统上)。 | |
添加或更改专用主机名 | |
使群集节点进入维护状态 | |
使群集节点脱离维护状态 | |
移动区域群集;为应用程序准备区域群集,删除区域群集 | |
从节点卸载 Sun Cluster 软件 | |
添加和管理 SNMP 事件 MIB |
|
根据需要,您可以在初次安装后更改群集的名称。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
成为全局群集中任一节点上的超级用户。
启动 clsetup 实用程序。
phys-schost# clsetup |
显示“Main Menu”。
要更改群集名称,请键入与“其他群集属性”选项对应的编号。
这时将显示“Other Cluster Properties”菜单。
从菜单进行选择并按屏幕提示操作。
如果想让 Sun Cluster 的服务标签反映新的群集名称,请删除现有的 Sun Cluster 标签并重新启动群集。要删除 Sun Cluster 服务标签实例,请针对群集中的所有节点完成以下子步骤。
以下示例显示了由 clsetup(1CL) 实用程序生成的 cluster(1CL) 命令,此命令用于将群集名称更改为 dromedary。
phys-schost# cluster -c dromedary |
Sun Cluster 安装期间,会自动为每个节点分配一个唯一的节点 ID 号。该 ID 号是按节点首次加入群集的顺序分配的。节点 ID 编号一经指定,便不能再更改。节点 ID 编号经常在错误消息中使用,标识与消息有关的群集节点。请按照此过程来确定节点 ID 和节点名称之间的映射。
您不需要具有超级用户身份,即可列出全局群集或区域群集的配置信息。此过程的其中一个步骤是从全局群集的一个节点上执行的。另一个步骤是从区域群集节点执行的。
使用 clnode(1CL) 命令可列出全局群集的群集配置信息。
phys-schost# clnode show | grep Node |
还可以列出区域群集的节点 ID。区域群集节点具有与它所运行在的全局群集节点相同的节点 ID。
phys-schost# zlogin sczone clnode -v | grep Node |
下面的示例显示了全局群集的节点 ID 分配。
phys-schost# clnode show | grep Node === Cluster Nodes === Node Name: phys-schost1 Node ID: 1 Node Name: phys-schost2 Node ID: 2 Node Name: phys-schost3 Node ID: 3 |
使用 Sun Cluster 可以确定新节点是否可将自身添加到全局群集中以及要使用的验证的类型。您可以允许任何新的节点通过公共网络加入群集、拒绝新节点加入群集或指定可以加入群集的具体节点。新节点可以通过使用标准 UNIX 或者 Diffie-Hellman (DES) 认证来进行认证。如果选择的是 DES 认证,还必须在节点加入前配置所有需要的加密密钥。有关更多信息,请参见 keyserv(1M) 和 publickey(4) 手册页。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
成为全局群集中任一节点上的超级用户。
启动 clsetup(1CL) 实用程序。
phys-schost# clsetup |
显示“Main Menu”。
要使用群集验证,请键入与新节点选项相对应的编号。
这时将显示“New Nodes”菜单。
从菜单进行选择并按屏幕提示操作。
clsetup 实用程序生成 claccess 命令。下面的示例显示了可防止将新计算机添加到群集的 claccess 命令。
phys-schost# claccess deny -h hostname |
clsetup 实用程序生成 claccess 命令。下面的示例显示了使所有新计算机都可以添加到群集的 claccess 命令。
phys-schost# claccess allow-all |
clsetup 实用程序生成 claccess 命令。下面的示例显示了使单个新计算机可以添加到群集的 claccess 命令。
phys-schost# claccess allow -h hostname |
clsetup 实用程序生成 claccess 命令。下面的示例显示了使加入群集的新节点重置为标准 UNIX 验证的 claccess 命令。
phys-schost# claccess set -p protocol=sys |
clsetup 实用程序生成 claccess 命令。下面的示例显示了对加入群集的新节点使用 DES 验证的 claccess 命令。
phys-schost# claccess set -p protocol=des |
如果采用 DES 验证,您还必须配置所有必要的加密密钥,然后才能将节点加入群集。有关更多信息,请参见 keyserv(1M) 和 publickey(4) 手册页。
Sun Cluster 软件使用网络时间协议 (Network Time Protocol, NTP) 来保持群集节点间的时间同步。节点进行时间同步时,全局群集会根据需要自动进行调整。有关更多信息,请参见《Sun Cluster Concepts Guide for Solaris OS》和《Network Time Protocol User's Guide》。
如果使用的是 NTP,请不要在群集处于打开和运行状态时调整群集时间。请不要以交互方式使用 date(1)、rdate(1M)、xntpd(1M) 或 svcadm(1M) 命令来调整时间,或在 cron(1M) 脚本中使用这些命令来调整时间。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
成为全局群集中任一节点上的超级用户。
关闭全局群集。
phys-schost# cluster shutdown -g0 -y -i 0 |
检验该节点是否显示 ok 提示符(在基于 SPARC 的系统上)或在 GRUB 菜单中显示消息 "Press any key to continue"(在基于 x86 的系统上)。
以非群集模式引导节点。
在基于 SPARC 的系统上,运行以下命令。
ok boot -x |
在基于 x86 的系统上,运行以下命令。
# shutdown -g -y -i0 Press any key to continue |
在 GRUB 菜单中,使用方向键选择适当的 Solaris 条目,然后键入 e 编辑其命令。
GRUB 菜单显示如下内容:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
有关基于 GRUB 的引导的更多信息,请参见《系统管理指南:基本管理》中的“使用 GRUB 引导基于 x86 的系统(任务图)”。
在引导参数屏幕中,使用方向键选择内核条目,然后键入 e 编辑该条目。
GRUB 引导参数屏幕的显示与以下内容类似:
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu. |
在命令中添加 -x 以指定将系统引导至非群集模式。
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -x |
按 Enter 键接受所做更改,并返回到引导参数屏幕。
屏幕将显示编辑后的命令。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.- |
键入 b 将节点引导至非群集模式。
对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,并将 -x 选项添加到内核引导参数命令中。
在单个节点上,通过运行 date 命令设置时间。
phys-schost# date HHMM.SS |
在其他计算机上,通过运行 rdate(1M) 命令使其时间与上述节点的时间同步。
phys-schost# rdate hostname |
引导每个节点以重新启动该群集。
phys-schost# reboot |
检验是否所有群集节点都已进行了更改。
在每个节点上,运行 date 命令。
phys-schost# date |
如果需要配置或更改 OpenBoot™ PROM 设置,请使用此过程。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
连接到要关闭的节点上的控制台。
# telnet tc_name tc_port_number |
指定终端集中器的名称。
指定终端集中器上的端口号。端口号取决于配置。通常,端口 2 和 3(5002 和 5003)供站点上所安装的第一个群集使用。
依次执行 clnode evacuate 命令和 shutdown 命令使群集节点正常关机。clnode evacuate 命令可将指定节点上的所有设备组切换到下一个首选节点。该命令还将全局群集的指定投票或非投票节点中的所有资源组切换到下一个首选的投票或非投票节点。
phys-schost# clnode evacuate node # shutdown -g0 -y |
不要在群集控制台上用 send brk 来关闭群集节点。
执行 OBP 命令。
首次安装群集时,系统会指定默认专用主机名。默认专用主机名的格式为:clusternode< nodeid>-priv,例如:clusternode3-priv。只有当专用主机名已在域中使用,您才能更改它。
不要尝试给新的专用主机名分配 IP 地址。群集软件将进行分配。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
在群集的所有节点上,禁用所有数据服务资源或其他可能高速缓存专用主机名的应用程序。
phys-schost# clresource disable resource[,...] |
禁用的应用程序应包括:
HA-DNS 和 HA-NFS 服务(如果已配置)
已通过定制操作配置为使用该专用主机名的任何应用程序
任何正由客户机通过专用互连使用的应用程序
有关使用 clresource 命令的信息,请参见 clresource(1CL) 手册页和《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》。
如果网络时间协议 (Network Time Protocol, NTP) 配置文件引用了要更改的专用主机名,请在群集的每个节点上关闭 NTP 守护进程。
SPARC:如果使用的是 Solaris 9 OS,请使用 xntpd 命令关闭网络时间协议 (Network Time Protocol, NTP) 守护进程。有关 NTP 守护进程的更多信息,请参见 xntpd(1M) 手册页。
phys-schost# /etc/init.d/xntpd.cluster stop |
如果使用的是 Solaris 10 OS,请使用 svcadm 命令关闭网络时间协议 (Network Time Protocol, NTP) 守护进程。有关 NTP 守护进程的更多信息,请参见 svcadm(1M) 手册页。
phys-schost# svcadm disable ntp |
运行 clsetup(1CL) 实用程序以更改相应节点的专用主机名。
仅从群集中的一个节点运行此实用程序。
选择新的专用主机名时,请确保该名称对于群集节点是唯一的。
键入与专用主机名选项相对应的编号。
键入与更改专用主机名选项相对应的编号。
根据提示回答问题。系统会要求您提供要更改专用主机名的节点的名称 (clusternode< nodeid> -priv) 以及新的专用主机名。
刷新名称服务高速缓存。
请在群集每个节点上执行此步骤。刷新操作可避免群集应用程序和数据服务访问旧的专用主机名。
phys-schost# nscd -i hosts |
如果您在 NTP 配置文件中更改了专用主机名,请更新每个节点上的 NTP 配置文件(ntp.conf 或 ntp.conf.cluster)。
使用您选择的编辑工具。
如果在安装时执行此步骤,还要记得删除所配置的节点的名称。默认模板中预先配置有 16 个节点。通常,每个群集节点上的 ntp.conf.cluster 文件都相同。
检验是否能从所有群集节点成功 ping 到新的专用主机名。
重新启动 NTP 守护进程。
对群集的每个节点执行本步骤。
SPARC:如果使用的是 Solaris 9 OS,请使用 xntpd 命令重新启动 NTP 守护进程。
如果使用的是 ntp.conf.cluster 文件,请键入:
# /etc/init.d/xntpd.cluster start |
如果使用的是 ntp.conf 文件,请键入:
# /etc/init.d/xntpd start |
如果使用的是 Solaris 10 OS,请使用 svcadm 命令重新启动 NTP 守护进程。
# svcadm enable ntp |
启用在步骤 1 中禁用的所有数据服务资源和其他应用程序。
phys-schost# clresource disable resource[,...] |
有关使用 scswitch 命令的信息,请参见 clresource(1CL) 手册页和《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》。
以下示例在节点 phys-schost-2 上将专用主机名从 clusternode2-priv 更改为 clusternode4-priv。
[Disable all applications and data services as necessary.] phys-schost-1# /etc/init.d/xntpd stop phys-schost-1# clnode show | grep node ... private hostname: clusternode1-priv private hostname: clusternode2-priv private hostname: clusternode3-priv ... phys-schost-1# clsetup phys-schost-1# nscd -i hosts phys-schost-1# vi /etc/inet/ntp.conf ... peer clusternode1-priv peer clusternode4-priv peer clusternode3-priv phys-schost-1# ping clusternode4-priv phys-schost-1# /etc/init.d/xntpd start [Enable all applications and data services disabled at the beginning of the procedure.] |
使用此过程可在安装完成后为全局群集中的非投票节点添加专用主机名。在本章的操作过程中,phys-schost# 表示全局群集提示符。此操作过程仅适用于全局群集。
运行 clsetup(1CL) 实用程序以在相应区域中添加专用主机名。
phys-schost# clsetup |
键入与专用主机名选项相对应的编号,然后按 Return 键。
键入与添加区域专用主机名选项相对应的编号,然后按 Return 键。
根据提示回答问题。全局群集非投票节点专用主机名没有默认值。您需要提供一个主机名。
专用主机名是在首次安装群集时分配的。专用主机名的格式为:clusternode< nodeid>-priv,例如:clusternode3-priv。只有当专用主机名已在域中使用,您才能更改它。
不要尝试给新的专用主机名分配 IP 地址。群集软件将进行分配。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
在全局群集的所有节点上,禁用所有数据服务资源或其他可能高速缓存专用主机名的应用程序。
phys-schost# clresource disable resource1, resource2 |
禁用的应用程序应包括:
HA-DNS 和 HA-NFS 服务(如果已配置)
已通过定制操作配置为使用该专用主机名的任何应用程序
任何正由客户机通过专用互连使用的应用程序
有关使用 clresource 命令的信息,请参见 clresource(1CL) 手册页和《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》。
运行 clsetup(1CL) 实用程序以更改全局群集中的相应非投票节点的专用主机名。
phys-schost# clsetup |
只需在群集的一个节点上执行此步骤即可。
选择新的专用主机名时,请确保该名称对于群集是唯一的。
键入与专用主机名选项相对应的编号,然后按回车键。
键入与添加区域专用主机名选项相对应的编号,然后按 Return 键。
全局群集非投票节点的专用主机名无默认值。您需要提供一个主机名。
键入与更改区域专用主机名选项相对应的编号。
根据提示回答问题。系统会要求您提供要更改专用主机名的非投票节点的名称 (clusternode< nodeid> -priv) 以及新的专用主机名。
刷新名称服务高速缓存。
请在群集每个节点上执行此步骤。刷新操作可避免群集应用程序和数据服务访问旧的专用主机名。
phys-schost# nscd -i hosts |
启用在步骤 1 中禁用的所有数据服务资源和其他应用程序。
使用此过程可删除全局群集中非投票节点的专用主机名。此操作过程仅适用于全局群集。
运行 clsetup(1CL) 实用程序以在相应区域中删除专用主机名。
键入与区域专用主机名选项相对应的编号。
键入与删除区域专用主机名选项相对应的编号。
键入要删除专用主机名的非投票节点的名称。
如果要使某个全局群集节点在很长一段时间内停止服务,请将该节点置于维护状态。这样,在维护节点时,该节点不参与法定计数。要将某个节点置于维护状态,必须先使用 clnode(1CL) evacuate 和 cluster(1CL) shutdown 命令关闭该节点。
使用 Solaris shutdown 命令关闭单个节点。仅当关闭整个群集时,才能使用 cluster shutdown 命令。
当群集节点关闭并置于维护状态后,配置到该节点端口的所有法定设备的法定选票计数均会减 1。当该节点脱离维护模式并恢复联机状态后,节点和法定设备的投票计数会递增 1。
使用 clquorum(1CL) disable 命令可将群集节点置于维护状态。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
在要置于维护状态的全局群集节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。
从节点中清除所有资源组和设备组。clnode evacuate 命令可将指定节点上的所有资源组和设备组(包括所有非投票节点)切换到下一个首选节点。
phys-schost# clnode evacuate node |
关闭已清除的节点。
phys-schost# shutdown -g0 -y-i 0 |
在群集的另一节点上成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。然后,将您在步骤 3 中关闭的节点置于维护状态。
phys-schost# clquorum disable node |
指定要置于维护模式的节点的名称。
检验该全局群集节点现在是否处于维护状态。
phys-schost# clquorum status node |
如果节点置于维护状态,则它的 Status 值应为 offline,Present 和 Possible 法定投票数均应为 0(零)。
以下示例将一个群集节点置于维护状态并检验结果。clnode status 的输出内容显示,phys-schost-1 的 Node votes 值为 0(零),状态为 Offline。Quorum Summary 也应显示投票计数已减少。视具体的配置情况而定,Quorum Votes by Device 的输出信息可能也会表明某些法定磁盘设备已脱机。
[On the node to be put into maintenance state:] phys-schost-1# clnode evacuate phys-schost-1 phys-schost-1# shutdown -g0 -y -i0 [On another node in the cluster:] phys-schost-2# clquorum disable phys-schost-1 phys-schost-2# clquorum status phys-schost-1 -- Quorum Votes by Node -- Node Name Present Possible Status --------- ------- -------- ------ phys-schost-1 0 0 Offline phys-schost-2 1 1 Online phys-schost-3 1 1 Online |
要使节点恢复联机状态,请参见如何使节点脱离维护状态。
使用以下过程可使全局群集节点恢复联机状态,并将法定投票计数重置为默认值。对于群集节点,默认法定计数为 1。对于法定设备,默认法定计数为 N-1,其中 N 是具有指向该法定设备的端口且投票计数不为零的节点的数目。
当节点置于维护状态后,其法定选票计数会减 1。所有配置了到该节点的端口的法定设备也将减少其法定选票计数。重置法定选票计数并使节点脱离维护状态后,该节点的法定选票计数和法定设备选票计数均会加 1。
只要在全局群集节点已置于维护状态的情况下运行此过程,即可使该节点脱离维护状态。
如果您既未指定 globaldev 选项,也未指定 node 选项,则会重置整个群集的法定计数。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B。
在全局群集中的任一不处于维护状态的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。
根据全局群集配置中的节点数,执行以下步骤之一:
如果要脱离维护状态的节点将具有法定设备,请从某个不处于维护状态的节点上重置群集法定计数。
重新引导处于维护状态的节点之前,必须先从其他任一节点上重置法定计数,否则该节点可能会挂起,等待达到法定数目。
phys-schost# clquorum reset |
用于重置法定数目的更改标志。
引导要脱离维护状态的节点。
检验法定选票计数。
phys-schost# clquorum status |
如果节点已脱离维护状态,它的状态应为 online,且 Present 和 Possible 法定投票均显示相应的投票计数。
以下示例将群集节点及其法定设备的法定计数重置为默认值并检验结果。scstat -q 的输出内容显示:phys-schost-1 的 Node votes 值为 1,状态为 online。Quorum Summary 也应显示投票计数增加了。
phys-schost-2# clquorum reset |
在基于 SPARC 的系统上,运行以下命令。
ok boot |
在基于 x86 的系统上,运行以下命令。
显示 GRUB 菜单后,选择相应的 Solaris 条目,然后按 Enter 键。GRUB 菜单显示如下内容:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
phys-schost-1# clquorum status --- Quorum Votes Summary --- Needed Present Possible ------ ------- -------- 4 6 6 --- Quorum Votes by Node --- Node Name Present Possible Status --------- ------- -------- ------ phys-schost-2 1 1 Online phys-schost-3 1 1 Online --- Quorum Votes by Device --- Device Name Present Possible Status ----------- ------- -------- ------ /dev/did/rdsk/d3s2 1 1 Online /dev/did/rdsk/d17s2 0 1 Online /dev/did/rdsk/d31s2 1 1 Online ` |