本节介绍了如何对整个群集执行管理任务。下表列出了所有这些管理任务及相关过程。对于 Solaris 10 OS,除非另有指示,否则请在全局区域中执行群集管理任务。
表 8–1 任务列表:管理群集
任务 |
指导 |
---|---|
更改群集的名称 | |
列出节点的 ID 及其相应的节点名称 | |
允许或拒绝新节点添加到群集中 | |
使用网络时间协议 (Network Time Protocol, NTP) 更改群集时间 | |
关闭节点以显示 OpenBoot PROM ok 提示符(在基于 SPARC 的系统中)或 Press any key to continue 消息(在基于 x86 的系统的 GRUB 菜单中) | |
更改专用主机名 | |
使群集节点进入维护状态 | |
使群集节点脱离维护状态 | |
向群集添加节点 | |
从群集中删除节点 | |
从节点卸载 Sun Cluster 软件 | |
更正错误消息 |
根据需要,您可以在初次安装后更改群集的名称。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
成为群集中任一节点上的超级用户。
启动 clsetup 实用程序。
# clsetup |
显示“Main Menu”。
要更改群集名称,请键入与“其他群集属性”选项对应的编号。
这时将显示“Other Cluster Properties”菜单。
从菜单进行选择并按屏幕提示操作。
如果想让 Sun Cluster 的服务标签反映新的群集名称,请删除现有的 Sun Cluster 标签并重新启动群集。要删除 Sun Cluster 服务标签实例,请针对群集中的所有节点完成以下子步骤。
以下示例显示了由 clsetup(1CL) 实用程序生成的 cluster(1CL) 命令,用于将群集名称更改为 dromedary。
# cluster -c dromedary |
在 Sun Cluster 安装过程中,会自动给每个节点指定一个唯一的节点 ID 号。该 ID 编号是按节点首次加入群集的顺序指定的。节点 ID 编号一经指定,便不能再更改。节点 ID 编号经常在错误消息中使用,标识与消息有关的群集节点。请遵照此过程来确定节点 ID 和节点名称之间的映射。
要列出配置信息,您不必成为超级用户。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
使用 clnode(1CL) 命令可列出群集配置信息。
% clnode show | grep Node |
以下示例显示了节点 ID 的分配情况。
% 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) 手册页。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
成为群集中任一节点上的超级用户。
启动 clsetup(1CL) 实用程序。
# clsetup |
显示“Main Menu”。
要使用群集验证,请键入与新节点选项相对应的编号。
这时将显示“New Nodes”菜单。
从菜单进行选择并按屏幕提示操作。
以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于防止将新计算机添加到群集中。
# claccess deny -h hostname |
以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于将所有新计算机添加到群集中。
# claccess allow-all |
以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于将单个新计算机添加到群集中。
# claccess allow -h hostname |
以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于将加入群集的新节点的验证重置为标准 UNIX 验证。
# claccess set -p protocol=sys |
以下示例显示了由 clsetup 实用程序生成的 claccess 命令,用于对加入群集的新节点采用 DES 验证。
# 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) 脚本中调整时间。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
成为群集中任一节点上的超级用户。
关闭群集。
# cluster shutdown -g0 -y -i 0 |
(在基于 SPARC 的系统中)验证节点显示 ok 提示符;或(在基于 x86 的系统上)验证节点在 GRUB 菜单中显示 Press any key to continue 消息。
以非群集模式引导节点。
在基于 SPARC 的系统中,执行以下命令:
ok boot -x |
在基于 x86 的系统中,执行以下命令:
phys-schost# 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 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11 章 “GRUB Based Booting (Tasks)”。
在引导参数屏幕中,使用方向键选择内核条目,然后键入 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 命令设置日时间。
# date HHMM.SS |
在其他计算机上,通过运行 rdate(1M) 命令使其与上述节点的时间同步。
# rdate hostname |
引导每个节点以重新启动该群集。
# reboot |
检验是否所有群集节点都已进行了更改。
在每个节点上,运行 date 命令。
# date |
如果需要配置或更改 OpenBoot PROM 设置,请使用此过程。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
连接到要关闭的节点上的控制台。
# telnet tc_name tc_port_number |
指定终端集中器的名称。
指定终端集中器上的端口号。端口号取决于配置。通常,端口 2 和 3(5002 和 5003)供站点上所安装的第一个群集使用。
依次执行 clnode evacuate 命令和 shutdown 命令使群集节点正常关机。clnode evacuate 命令可将指定节点上的所有设备组都切换到下一个首选节点。此外,该命令还可将所有资源组从指定节点的全局或非全局区域切换到位于其他节点的下一个首选全局或非全局区域。
# clnode evacuate node # shutdown -g0 -y |
不要在群集控制台上用 send brk 来关闭群集节点。
执行 OBP 命令。
首次安装群集时,系统会指定默认专用主机名。默认专用主机名的格式为 clusternode< nodeid>-priv,例如:clusternode3-priv 。只有当专用主机名已在域中使用,您才能更改它。
不要尝试给新的专用主机名分配 IP 地址。群集软件将进行分配。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
在群集的所有节点上,禁用所有数据服务资源或其他可能高速缓存专用主机名的应用程序。
# 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 命令关闭 NTP 守护进程。有关 NTP 守护进程的更多信息,请参见xntpd(1M) 手册页。
# /etc/init.d/xntpd.cluster stop |
如果正在使用 Solaris 10 OS,请使用 svcadm 命令关闭 NTP 守护进程。有关 NTP 守护进程的更多信息,请参见svcadm(1M) 手册页。
# svcadm disable ntp |
运行 clsetup(1CL) 实用程序以更改相应节点的专用主机名。
只需在群集的一个节点上运行该实用程序即可。
选择新的专用主机名时,请确保该名称对群集节点是唯一的。
键入与专用主机名选项相对应的编号。
键入与更改专用主机名选项相对应的编号。
根据提示回答问题。系统会要求您提供要更改其专用主机名的节点的名称 (clusternode< nodeid>-priv),以及新的专用主机名称。
刷新名称服务高速缓存。
请在群集每个节点上执行此步骤。刷新操作可避免群集应用程序和数据服务访问旧的专用主机名。
# 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 中禁用了的所有数据服务资源和其他应用程序。
# 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.] |
使用此过程可在完成安装后为某个群集非全局区域添加专用主机名。
运行 clsetup(1CL) 实用程序以在相应区域添加专用主机名。
# clsetup |
键入与专用主机名选项相对应的编号,然后按 Return 键。
键入与添加区域专用主机名选项相对应的编号,然后按 Return 键。
根据提示回答问题。非全局区域专用主机名没有默认值。您需要提供一个主机名。
专用主机名是在首次安装群集时分配的。专用主机名的格式为 clusternode< nodeid>-priv,例如:clusternode3-priv 。只有当专用主机名已在域中使用,您才能更改它。
不要尝试给新的专用主机名分配 IP 地址。群集软件将进行分配。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
在群集的所有节点上,禁用所有数据服务资源或其他可能高速缓存专用主机名的应用程序。
# clresource disable resource1, resource2 |
禁用的应用程序应包括:
HA-DNS 和 HA-NFS 服务(如果已配置)
任何被自定义配置为使用专用主机名的应用程序
任何正由客户机通过专用互连使用的应用程序
有关使用 clresource 命令的信息,请参见 clresource(1CL) 手册页和《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》。
运行 clsetup(1CL) 实用程序以更改相应非全局区域的专用主机名。
# clsetup |
只需在群集的一个节点上执行此步骤即可。
选择新的专用主机名时,请确保该名称对群集是唯一的。
键入与专用主机名选项相对应的编号,然后按 Return 键。
键入与添加区域专用主机名选项相对应的编号,然后按 Return 键。
非全局区域专用主机名没有默认值。您需要提供一个主机名。
键入与更改区域专用主机名选项相对应的编号。
根据提示回答问题。系统会要求您提供其专用主机名 (clusternode< nodeid >-priv) 正在被更改的非全局区域的名称,以及新的专用主机名。
刷新名称服务高速缓存。
请在群集每个节点上执行此步骤。刷新操作可避免群集应用程序和数据服务访问旧的专用主机名。
# nscd -i hosts |
启用在步骤 1 中禁用了的所有数据服务资源和其他应用程序。
运行 clsetup(1CL) 实用程序以删除相应区域的专用主机名。
键入与区域专用主机名选项相对应的编号。
键入与删除区域专用主机名选项相对应的编号。
键入正在删除其专用主机名的非全局区域的名称。
如果群集节点需要较长时间脱离服务,请使其处于维护状态。这样,在维护节点时,该节点不参与法定计数。要将某个群集节点置于维护状态,必须先使用 clnode(1CL) evacuate 和 cluster(1CL) shutdown 命令关闭该节点。
使用 Solaris shutdown 命令关闭单个节点。仅当关闭整个群集时,才能使用 cluster shutdown 命令。
当群集节点关闭并置于维护状态后,配置到该节点端口的所有法定设备的法定选票计数均会减 1。当该节点脱离维护模式并返回联机状态后,节点和法定设备的选票计数会加 1。
使用 clquorum(1CL) disable 命令可将群集节点置于维护状态。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
在要置于维护状态的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。
从节点中清除所有资源组和设备组。clnode evacuate 命令可将指定节点上的所有资源组和设备组(包括所有非全局区域)切换到下一个首选节点。
# clnode evacuate node |
关闭已清除的节点。
# shutdown -g0 -y-i 0 |
在群集的另一节点上成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。然后,将您在步骤 3 中关闭的节点置于维护状态。
# clquorum disable node |
指定要置于维护模式的节点的名称。
检验该群集节点当前是否处于维护状态。
# 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 evacute 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 选项,则会对整个群集重置法定计数。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
在群集任一不处于维护状态的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。
根据群集配置中的节点数,执行以下步骤之一:
如果要脱离维护状态的节点将具有法定设备,请从某个不处于维护状态的节点上重置群集法定计数。
重新引导处于维护状态的节点之前,必须先从其他任一节点上重置法定计数,否则该节点可能会挂起,等待达到法定数目。
# clquorum reset |
用于重置法定数目的更改标志。
引导要脱离维护状态的节点。
检验法定选票计数。
# 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 ` |