跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Cluster 系统管理指南 Oracle Solaris Cluster (简体中文) |
1. Oracle Solaris Cluster 管理简介
2. Oracle Solaris Cluster 和 RBAC
SPARC: 如何在节点上显示 OpenBoot PROM (OBP)
如何更改现有 Oracle Solaris Cluster 逻辑主机名资源使用的逻辑主机名
如何从群集节点中卸载 Oracle Solaris Cluster 软件
如何从在非群集模式下引导的节点中获取 Solaris Volume Manager 元集
如何保存 Solaris Volume Manager 软件配置
如何重新创建 Solaris Volume Manager 软件配置
11. 修补 Oracle Solaris Cluster 软件和固件
本节介绍了如何对整个全局群集或区域群集执行管理任务。下表列出了这些管理任务及相关过程。通常在全局区域中执行群集管理任务。要管理区域群集,必须以群集模式启动至少一台将托管该区域群集的计算机。不需要启动并运行所有区域群集节点;当目前不在群集中的节点重新加入该群集时,Oracle Solaris Cluster 将重放任何配置更改。
在本章中,phys-schost# 表示全局群集提示符。clzonecluster 交互式 shell 提示符为 clzc:schost>。
表 9-1 任务列表:管理群集
|
根据需要,您可以在初次安装后更改群集的名称。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost# clsetup
显示“Main Menu”。
这时将显示“Other Cluster Properties”菜单。
phys-schost# stclient -x
phys-schost# stclient -d -i service_tag_instance_number
phys-schost# reboot
示例 9-1 更改群集的名称
以下示例显示了由 clsetup(1CL) 实用程序生成的 cluster(1CL) 命令,此命令用于将群集名称更改为 dromedary。
phys-schost# cluster rename -c dromedary
如果具有使用 Oracle Solaris Cluster 的 Veritas Cluster Volume Manager (CVM) 磁盘组,则可以在初始安装后更改群集名称。
/etc/init.d/init.crs stop /etc/init.d/init.crs disable
# clrs disable resource_name
# vxvol -g dg_name stoppall
# vxdg deport dg_name
# cluster rename -c new_name
# vxdg -s import dg_name
# vxvol -g dg_name startall
/etc/init.d/init.crs enable /etc/init.d/init.crs start
# clrs enable +
Oracle Solaris Cluster 安装期间,会自动为每个节点分配一个唯一的节点 ID 号。该 ID 号是按节点首次加入群集的顺序分配的。节点 ID 编号一经指定,便不能再更改。节点 ID 编号经常在错误消息中使用,标识与消息有关的群集节点。请按照此过程来确定节点 ID 和节点名称之间的映射。
您不需要具有超级用户身份,即可列出全局群集或区域群集的配置信息。此过程的其中一个步骤是从全局群集的一个节点上执行的。另一个步骤是从区域群集节点执行的。
phys-schost# clnode show | grep Node
phys-schost# zlogin sczone clnode -v | grep Node
示例 9-2 将节点 ID 映射到节点名称
下面的示例显示了全局群集的节点 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
使用 Oracle Solaris Cluster 可以确定新节点是否可将自身添加到全局群集中以及要使用的验证的类型。您可以允许任何新的节点通过公共网络加入群集、拒绝新节点加入群集或指定可以加入群集的具体节点。新节点可以通过使用标准 UNIX 或者 Diffie-Hellman (DES) 认证来进行认证。如果选择的是 DES 认证,还必须在节点加入前配置所有需要的加密密钥。有关更多信息,请参见 keyserv(1M) 和 publickey(4) 手册页。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost# clsetup
显示“Main Menu”。
这时将显示“New Nodes”菜单。
示例 9-3 防止将新计算机添加到全局群集中
clsetup 实用程序生成 claccess 命令。下面的示例显示了可防止将新计算机添加到群集的 claccess 命令。
phys-schost# claccess deny -h hostname
示例 9-4 允许将所有新计算机添加到全局群集中
clsetup 实用程序生成 claccess 命令。下面的示例显示了使所有新计算机都可以添加到群集的 claccess 命令。
phys-schost# claccess allow-all
示例 9-5 指定要添加到全局群集中的新计算机
clsetup 实用程序生成 claccess 命令。下面的示例显示了使单个新计算机可以添加到群集的 claccess 命令。
phys-schost# claccess allow -h hostname
示例 9-6 将验证设置为标准 UNIX
clsetup 实用程序生成 claccess 命令。下面的示例显示了使加入群集的新节点重置为标准 UNIX 验证的 claccess 命令。
phys-schost# claccess set -p protocol=sys
示例 9-7 将验证设置为 DES
clsetup 实用程序生成 claccess 命令。下面的示例显示了对加入群集的新节点使用 DES 验证的 claccess 命令。
phys-schost# claccess set -p protocol=des
如果采用 DES 验证,您还必须配置所有必要的加密密钥,然后才能将节点加入群集。有关更多信息,请参见 keyserv(1M) 和 publickey(4) 手册页。
Oracle Solaris Cluster 软件使用网络时间协议 (Network Time Protocol, NTP) 来保持群集节点间的时间同步。节点进行时间同步时,全局群集会根据需要自动进行调整。有关更多信息,请参见《Oracle Solaris Cluster Concepts Guide》和《Network Time Protocol User's Guide》。
注意 - 如果使用的是 NTP,请不要在群集处于打开和运行状态时调整群集时间。请不要以交互方式使用 date(1)、rdate(1M)、xntpd(1M) 或 svcadm(1M) 命令来调整时间,或在 cron(1M) 脚本中使用这些命令来调整时间。 |
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost# cluster shutdown -g0 -y -i 0
在基于 SPARC 的系统上,运行以下命令。
ok boot -x
在基于 x86 的系统上,运行以下命令。
# shutdown -g -y -i0 Press any key to continue
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 的系统(任务图)"。
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.
[ 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
屏幕将显示编辑后的命令。
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.-
注 - 对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,并将 -x 选项添加到内核引导参数命令中。
phys-schost# date HHMM.SS
phys-schost# rdate hostname
phys-schost# reboot
在每个节点上,运行 date 命令。
phys-schost# date
如果需要配置或更改 OpenBoot™ PROM 设置,请使用此过程。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
# telnet tc_name tc_port_number
指定终端集中器的名称。
指定终端集中器上的端口号。端口号取决于配置。通常,端口 2 和 3(5002 和 5003)供站点上所安装的第一个群集使用。
phys-schost# clnode evacuate node # shutdown -g0 -y
注意 - 不要在群集控制台上用 send brk 来关闭群集节点。 |
首次安装群集时,系统会指定默认专用主机名。默认专用主机名的格式为:clusternode< nodeid>-priv,例如:clusternode3-priv。只有当专用主机名已在域中使用,您才能更改它。
注意 - 不要尝试给新的专用主机名分配 IP 地址。群集软件将进行分配。 |
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost# clresource disable resource[,...]
禁用的应用程序应包括:
HA-DNS 和 HA-NFS 服务(如果已配置)
已通过定制操作配置为使用该专用主机名的任何应用程序
任何正由客户机通过专用互连使用的应用程序
有关使用 clresource 命令的信息,请参见 clresource(1CL) 手册页和《Oracle Solaris Cluster Data Services Planning and Administration Guide》。
使用 svcadm 命令关闭网络时间协议 (Network Time Protocol, NTP) 守护程序。有关 NTP 守护进程的更多信息,请参见 svcadm(1M) 手册页。
phys-schost# svcadm disable ntp
仅从群集中的一个节点运行此实用程序。
注 - 选择新的专用主机名时,请确保该名称对于群集节点是唯一的。
根据提示回答问题。系统会要求您提供要更改专用主机名的节点的名称 (clusternode< nodeid> -priv) 以及新的专用主机名。
请在群集每个节点上执行此步骤。刷新操作可避免群集应用程序和数据服务访问旧的专用主机名。
phys-schost# nscd -i hosts
如果在安装时执行此步骤,还要记得删除所配置的节点的名称。默认模板中预先配置有 16 个节点。通常,每个群集节点上的 ntp.conf.cluster 文件都相同。
对群集的每个节点执行本步骤。
使用 svcadm 命令重新启动 NTP 守护程序。
# svcadm enable ntp
phys-schost# clresource enable resource[,...]
有关使用 clresource 命令的信息,请参见 clresource(1CL) 手册页和《Oracle Solaris Cluster Data Services Planning and Administration Guide》。
示例 9-8 更改专用主机名
以下示例在节点 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# 表示全局群集提示符。此操作过程仅适用于全局群集。
phys-schost# clsetup
根据提示回答问题。全局群集非投票节点专用主机名没有默认值。您需要提供一个主机名。
专用主机名是在首次安装群集时分配的。专用主机名的格式为:clusternode< nodeid>-priv,例如:clusternode3-priv。只有当专用主机名已在域中使用,您才能更改它。
注意 - 不要尝试给新的专用主机名分配 IP 地址。群集软件将进行分配。 |
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost# clresource disable resource1, resource2
禁用的应用程序应包括:
HA-DNS 和 HA-NFS 服务(如果已配置)
已通过定制操作配置为使用该专用主机名的任何应用程序
任何正由客户机通过专用互连使用的应用程序
有关使用 clresource 命令的信息,请参见 clresource(1CL) 手册页和《Oracle Solaris Cluster Data Services Planning and Administration Guide》。
phys-schost# clsetup
只需在群集的一个节点上执行此步骤即可。
注 - 选择新的专用主机名时,请确保该名称对于群集是唯一的。
全局群集非投票节点的专用主机名无默认值。您需要提供一个主机名。
根据提示回答问题。系统会要求您提供要更改专用主机名的非投票节点的名称 (clusternode< nodeid> -priv) 以及新的专用主机名。
请在群集每个节点上执行此步骤。刷新操作可避免群集应用程序和数据服务访问旧的专用主机名。
phys-schost# nscd -i hosts
使用此过程可删除全局群集中非投票节点的专用主机名。此操作过程仅适用于全局群集。
可以更改作为 Oracle Solaris Cluster 配置组成部分的节点的名称。必须先重命名 Oracle Solaris 主机名才能重命名节点。使用 clnode rename 命令重命名节点。
以下说明适用于全局群集中运行的任何应用程序。
ok> boot -x
# clnode rename -n newnodename oldnodename
# sync;sync;sync;/etc/reboot
# clnode status -v
您可以按照如何重命名节点中的步骤,选择在重命名节点之前或之后更改逻辑主机名资源的 hostnamelist 属性。此步骤是可选的。
以下步骤说明了如何配置 apache-lh-res 资源以使用新的逻辑主机名,而且必须在群集模式下执行。
# clrg offline apache-rg
# clrs disable appache-lh-res
# clrs set -p HostnameList=test-2 apache-lh-res
# clrs enable apache-lh-res
# clrg online apache-rg
# clrs status apache-rs
如果要使某个全局群集节点在很长一段时间内停止服务,请将该节点置于维护状态。这样,在维护节点时,该节点不参与法定计数。要将某个节点置于维护状态,必须先使用 clnode(1CL) evacuate 和 cluster(1CL) shutdown 命令关闭该节点。
注 - 使用 Oracle Solaris shutdown 命令关闭单个节点。仅当关闭整个群集时,才能使用 cluster shutdown 命令。
当群集节点关闭并置于维护状态后,配置到该节点端口的所有法定设备的法定选票计数均会减 1。当该节点脱离维护模式并恢复联机状态后,节点和法定设备的投票计数会递增 1。
使用 clquorum(1CL) disable 命令可将群集节点置于维护状态。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost# clnode evacuate node
phys-schost# shutdown -g0 -y-i 0
phys-schost# clquorum disable node
指定要置于维护模式的节点的名称。
phys-schost# clquorum status node
如果节点置于维护状态,则它的 Status 值应为 offline,Present 和 Possible 法定投票数均应为 0(零)。
示例 9-9 将全局群集节点置于维护状态
以下示例将一个群集节点置于维护状态并检验结果。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# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
重新引导处于维护状态的节点之前,必须先从其他任一节点上重置法定计数,否则该节点可能会挂起,等待达到法定数目。
phys-schost# clquorum reset
用于重置法定数目的更改标志。
phys-schost# clquorum status
如果节点已脱离维护状态,它的状态应为 online,且 Present 和 Possible 法定投票均显示相应的投票计数。
示例 9-10 使群集节点脱离维护状态并重置法定选票计数
以下示例将群集节点及其法定设备的法定计数重置为默认值并检验结果。cluster status 的输出内容显示,phys-schost-1 的 Node votes 值为 1,状态为 online。Quorum Summary 也应显示投票计数增加了。
phys-schost-2# clquorum reset
在基于 SPARC 的系统上,运行以下命令。
ok boot
在基于 x86 的系统上,运行以下命令。
显示 GRUB 菜单后,选择相应的 Oracle 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 `
执行此过程,可以在从完全建立的群集配置中断开某个全局群集节点的连接之前,从该节点中卸载 Oracle Solaris Cluster 软件。您可以使用此过程从群集中剩余的最后一个节点中卸载软件。
注 - 如果要从尚未加入群集的节点或仍处于安装模式的节点中卸载 Oracle Solaris Cluster 软件,请不要执行此过程。请转至《Oracle Solaris Cluster 软件安装指南》中的“如何卸载 Oracle Solaris Cluster 软件以更正安装问题”。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
请参见表 8-2。
注 - 继续执行此过程之前,请确保您已使用 clnode remove 命令从群集配置中删除该节点。
phys-schost# claccess allow -h hostname
指定要添加到节点验证列表中的节点的名称。
或者,您也可以使用 clsetup(1CL) 实用程序。有关过程,请参见如何向授权节点列表添加节点。
phys-schost# clzonecluster uninstall -F zoneclustername
有关具体步骤,请参见如何删除区域群集。
在基于 SPARC 的系统上,运行以下命令。
# shutdown -g0 -y -i0ok boot -x
在基于 x86 的系统上,运行以下命令。
# shutdown -g0 -y -i0 ... <<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -x
如果 Java ES 产品注册表包含一条记录显示 Oracle Solaris Cluster 软件已安装,则 Java ES 安装程序会将 Oracle Solaris Cluster 组件灰显,从而不允许重新安装。
运行以下命令,其中 ver 是您从中安装 Oracle Solaris Cluster 软件的 Java ES 分发软件的版本。
# /var/sadm/prod/SUNWentsysver/uninstall
有关使用 uninstall 命令的更多信息,请参见《Sun Java Enterprise System 5 Update 1 Installation Guide for UNIX》中的第 8 章 "Uninstalling"。
如果卸载的节点与使用光纤通道接口的存储设备连接,则不需要端接器。
提示 - 如果使用回送文件接口 (lofi) 设备,Java ES 卸载程序会自动删除名为 /.globaldevices 的 lofi 文件。有关将全局设备名称空间迁移到 lofi 的更多信息,请参见迁移全局设备名称空间。
本节介绍了运行 clnode remove 命令时可能收到的错误消息以及相应的纠正措施。
以下错误消息表示已删除的全局群集节点在其 vfstab 文件中仍引用了群集文件系统。
Verifying that no unexpected global mounts remain in /etc/vfstab ... failed clnode: global-mount1 is still configured as a global mount. clnode: global-mount1 is still configured as a global mount. clnode: /global/dg1 is still configured as a global mount. clnode: It is not safe to uninstall with these outstanding errors. clnode: Refer to the documentation for complete uninstall instructions. clnode: Uninstall failed.
要纠正此错误,请返回到如何从群集节点中卸载 Oracle Solaris Cluster 软件,并重复执行其中的过程。在重新运行 clnode remove 命令前,请确保已成功完成此过程中的步骤 7。
以下错误消息表明已删除的节点仍列在某个设备组中。
Verifying that no device services still reference this node ... failed clnode: This node is still configured to host device service " service". clnode: This node is still configured to host device service " service2". clnode: This node is still configured to host device service " service3". clnode: This node is still configured to host device service " dg1". clnode: It is not safe to uninstall with these outstanding errors. clnode: Refer to the documentation for complete uninstall instructions. clnode: Uninstall failed.
如果您不使用 installer 程序安装或升级现在要删除的 Sun Cluster 或 Oracle Solaris Cluster 软件,则不会有用于该软件版本的卸载脚本。此时请执行以下步骤来卸载该软件。
# cd /directory
# scinstall -r
# mv /var/sadm/install/productregistry /var/sadm/install/productregistry.sav
本节介绍了如何创建、设置和管理简单网络管理协议 (Simple Network Management Protocol, SNMP) 事件管理信息库 (Management Information Base, MIB)。此外,本节还介绍了如何启用、禁用和更改 Oracle Solaris Cluster SNMP 事件 MIB。
Oracle Solaris Cluster 软件目前支持一个 MIB,即事件 MIB。SNMP 管理器软件可实时捕获群集事件。一经启用,SNMP 管理器就会自动向 clsnmphost 命令所定义的所有主机发送陷阱通知。MIB 维护着一张只读表,其中包含了最近发生的 50 个事件。由于群集会生成大量通知,因此,只有严重程度为 warning 或更高的事件才会作为陷阱通知发送。系统重新引导后此信息将不再存在。
SNMP 事件 MIB 是在 sun-cluster-event-mib.mib 文件中定义的,并位于 /usr/cluster/lib/mib 目录中。您可以使用此定义来解释 SNMP 陷阱信息。
事件 SNMP 模块的默认端口号是 11161,SNMPtraps 的默认端口是 11162。通过修改 Common Agent Container 属性文件 /etc/cacao/instances/default/private/cacao.properties 可以更改这些端口号。
创建、设置和管理 Oracle Solaris Cluster SNMP 事件 MIB 可能涉及以下任务。
表 9-2 任务表:创建、设置和管理 Oracle Solaris Cluster SNMP 事件MIB
|
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost-1# clsnmpmib enable [-n node] MIB
指定要启用的事件 MIB 所在的 node。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。
指定要启用的 MIB 的名称。在本例中,MIB 的名称必须是 event。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost-1# clsnmpmib disable -n node MIB
指定要禁用的事件 MIB 所在的 node。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。
指定要禁用的 MIB 的类型。在本例中,必须指定 event。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost-1# clsnmpmib set -n node -p version=value MIB
指定要更改的事件 MIB 所在的 node。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。
指定 MIB 将使用的 SNMP 协议的版本。您可以按如下方式指定 value:
version=SNMPv2
version=snmpv2
version=2
version=SNMPv3
version=snmpv3
version=3
指定要应用子命令的一个或多个 MIB 的名称。在本例中,必须指定 event。如果您没有指定此操作数,该子命令将使用默认的加号 (+),这意味着所有 MIB。如果您使用 MIB 操作数,请在空格分隔列表中所有其他命令行选项之后指定 MIB。
此过程说明如何在节点上将一个 SNMP 主机添加到要接收 MIB 陷阱通知的主机列表中。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost-1# clsnmphost add -c SNMPcommunity [-n node] host
指定与主机名配合使用的 SNMP 团体名称。
如果将主机添加到除 public 以外的团体,必须指定 SNMP 团体名称 SNMPcommunity。如果使用不带 -c 选项的 add 子命令,该子命令会使用 public 作为默认团体名称。
如果指定的团体名称不存在,此命令将创建该团体。
指定为访问群集中的 SNMP MIB 而提供的 SNMP 主机所在 node 的名称。您可以指定一个节点名称或节点 ID。如果不指定此选项,默认情况下将使用当前节点。
指定供访问群集中的 SNMP MIB 的主机的名称、IP 地址或 IPv6 地址。
此过程说明如何在节点上将一个 SNMP 主机从要接收 MIB 陷阱通知的主机列表中删除。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost-1# clsnmphost remove -c SNMPcommunity -n node host
将指定 SNMP 主机从指定节点上删除。
指定要从中删除 SNMP 主机的 SNMP 团体的名称。
指定要从配置中删除的 SNMP 主机所在 node 的名称。您可以指定一个节点名称或节点 ID。如果不指定此选项,默认情况下将使用当前节点。
指定要从配置中删除的主机的名称、IP 地址或 IPv6 地址。
要删除指定 SNMP 团体中的所有主机,请使用加号 (+) 代替 host,并使用 -c 选项。要删除所有主机,请使用加号 (+) 代替 host。
此过程说明如何向节点上的 SNMP 用户配置中添加 SNMP 用户。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost-1# clsnmpuser create -n node -a authentication \ -f password user
指定要在其中添加 SNMP 用户的节点。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。
指定用于对用户进行授权的验证协议。验证协议的值可以是 SHA 或 MD5。
指定包含 SNMP 用户密码的文件。如果在创建新用户时未指定该选项,则此命令会提示您输入一个密码。此选项仅对 add 子命令有效。
必须按以下格式指定用户密码(每个密码占一行):
user:password
密码不能包含以下字符,也不能包含空格:
;(分号)
:(冒号)
\(反斜杠)
\n(新行)
指定要添加的 SNMP 用户的名称。
此过程说明如何从节点上的 SNMP 用户配置中删除 SNMP 用户。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。
phys-schost-1# clsnmpuser delete -n node user
指定要从中删除 SNMP 用户的节点。您可以指定一个节点 ID 或节点名称。如果不指定此选项,默认情况下将使用当前节点。
指定要删除的 SNMP 用户的名称。
可以通过设置负载限制来启用资源组负载在各节点或区域间的自动分配。可为每个群集节点配置一组负载限制。将负载因子分配给资源组,负载因子与节点的已定义负载限制相对应。默认行为是跨资源组节点列表中的所有可用节点均匀分配资源组负载。
资源组由 RGM 从资源组节点列表中的某个节点启动,以便不会超出该节点的负载限制。在资源组由 RGM 分配给节点后,每个节点上资源组的负载因子将会汇总来提供总负载。然后总负载会与该节点的负载限制相比较。
负载限制包含以下项:
用户指定的名称。
软限制值-可以临时超出软负载限制。
硬限制值-绝不能超出硬负载限制,并且应严格执行此限制。
可以使用一个命令同时设置硬限制和软限制。如果没有明确设置其中某一限制,则会使用默认值。可使用 clnode create-loadlimit、clnode set-loadlimit 和 clnode delete-loadlimit 命令创建和修改每个节点的硬/软负载限制。有关更多信息,请参见 clnode(1CL) 手册页。
可以将某个资源组配置为具有较高优先级,以减小其从特定节点被替换的可能性。还可以设置 preemption_mode 属性,以确定某个资源组是否会由于节点过载而被优先级较高的资源组从节点中抢占。concentrate_load 属性还允许您将资源组负载集中分配给尽可能少的节点。默认情况下,concentrate_load 属性的默认值为 FALSE。
注 - 您可以在全局群集或区域群集中配置节点的负载限制。可以使用命令行、clsetup 实用程序或 Oracle Solaris Cluster Manager 界面配置负载限制。以下过程说明如何使用命令行配置负载限制。
# clnode create-loadlimit -p limitname=mem_load -Z zc1 -p softlimit=11 -p hardlimit=20 node1 node2 node3
在此例中,区域群集名称为 zc1。样例属性名为 mem_load,软限制值为 11,硬负载限制值为 20。软限制和硬限制是可选参数,如果您没有特别定义,则默认为无限制。有关更多信息,请参见 clnode(1CL) 手册页。
# clresourcegroup set -p load_factors=mem_load@50,factor2@1 rg1 rg2
在此例中,为两个资源组(即 rg1 和 rg2)设置了负载因子。负载因子设置与节点的已定义负载限制相对应。还可以使用 clresourceroup create 命令在资源组创建期间执行此步骤。有关更多信息,请参见 clresourcegroup(1CL) 手册页。
# clresourcegroup remaster rg1 rg2
此命令可将资源组从当前主节点移至其他节点,以实现均匀负载分配。
# clresourcegroup set -p priority=600 rg1
默认优先级为 500。在节点分配中,具有较高优先级值的资源组优先于具有较低优先级的资源组。
# clresourcegroup set -p Preemption_mode=No_cost rg1
有关 HAS_COST、 NO_COST 和 NEVER 选项的更多信息,请参见 clresourcegroup(1CL) 手册页。
# cluster set -p Concentrate_load=TRUE
正向或负向强关联优先于负载分配。不得违反强关联,也不得违反硬负载限制。如果同时设置了强关联和硬负载限制,那么假如无法满足这两项约束,可能会强制某些资源组保持脱机状态。
以下示例指定区域群集 zc1 中的资源组 rg1 与区域群集 zc2 中的资源组 rg2 之间的正向强关联。
# clresourcegroup set -p RG_affinities=++zc2:rg2 zc1:rg1
# clnode status -Z all -v
输出中包含为节点或其非全局区域定义的任何负载限制设置。