要使用 XML 群集配置文件来配置新全局群集,请执行以下过程。新群集可以是某个运行 Oracle Solaris Cluster 4.1 软件的现有群集的副本。
此过程将对群集中的以下组成部分进行配置:
群集名称
群集节点成员身份
群集互连
开始之前
执行以下任务:
确保已安装了 Oracle Solaris OS 来支持 Oracle Solaris Cluster 软件。
如果节点上已安装了 Oracle Solaris 软件,必须确保 Oracle Solaris 安装满足 Oracle Solaris Cluster 软件和您打算在群集中安装的任何其他软件的要求。有关安装 Oracle Solaris 软件以满足 Oracle Solaris Cluster 软件的要求的更多信息,请参见如何安装 Oracle Solaris 软件。
确保已禁用 NWAM。有关说明,请参见如何安装 Oracle Solaris Cluster 软件包。
SPARC: 如果要将 Oracle VM Server for SPARC I/O 域或来宾域配置为群集节点,请确保将 Oracle VM Server for SPARC 软件安装到每台物理计算机上,而且这些域满足 Oracle Solaris Cluster 要求。请参见如何安装 Oracle VM Server for SPARC 软件和创建域。
确保已配置了您希望用作已标记 VLAN 适配器的所有适配器并且您拥有其 VLAN ID。
确保已在要配置的每个节点上安装了 Oracle Solaris Cluster 4.2 软件和更新。请参见如何安装 Oracle Solaris Cluster 软件包。
phys-schost# /usr/sbin/clinfo -n
clinfo: node is not configured as part of a cluster: Operation not applicable
此消息表明潜在节点上尚未配置 Oracle Solaris Cluster 软件。
返回某个节点 ID 表明该节点上已配置了 Oracle Solaris Cluster 软件。
如果群集中运行着旧版本的 Oracle Solaris Cluster 软件,而您希望安装 Oracle Solaris Cluster 4.2 软件,请改为执行Oracle Solaris Cluster Upgrade Guide 中所述的升级过程。
如果所有的潜在群集节点上都尚未配置 Oracle Solaris Cluster 软件,请继续执行步骤 2。
针对 RPC 的 Oracle Solaris TCP 包装功能阻止群集配置所必需的节点间通信。
如果 config/enable_tcpwrappers 设置为 true,则 TCP 包装处于启用状态,如以下示例命令输出中所示。
# svccfg -s rpc/bind listprop config/enable_tcpwrappers config/enable_tcpwrappers boolean true
# svccfg -s rpc/bind setprop config/enable_tcpwrappers = false # svcadm refresh rpc/bind # svcadm restart rpc/bind
请按照交换机文档中的过程来确定 NDP 是否处于启用状态,如果是,则禁用 NDP。
在配置群集期间,软件将检查专用互连中是否不存在通信流量。如果在检查专用互连通信流量时,NDP 向专用适配器发送任何软件包,则该软件将认为此互连不是专用的,并且将中断群集配置。因此,在创建群集期间,必须禁用 NDP。
建立群集后,如果要使用该功能,可以对专用互连交换机重新启用 NDP 。
phys-schost# cluster export -o clconfigfile
指定输出目标。
群集配置 XML 文件的名称。所指定的文件名可以是一个现有文件,也可以是一个将使用上述命令创建的新文件。
有关更多信息,请参见 cluster(1CL) 手册页。
您可以将该文件存储到要配置为群集节点的其他主机所能访问的任一目录下。
提供或修改 XML 元素的值,以反映您要创建的群集配置。
如果要复制现有群集,请打开借助于 cluster export 命令创建的文件。
如果不打算复制现有群集,请创建一个新文件。
请基于 clconfiguration(5CL) 手册页中显示的元素分层结构来编辑该文件。您可以将该文件存储到要配置为群集节点的其他主机所能访问的任一目录下。
为了能建立群集,群集配置 XML 文件中的以下组成部分必须具有有效值:
群集名称
群集节点
群集传输
如果您正在修改从现有群集中导出的配置信息,则必须更改某些值(如节点名称)以反映新群集的情况,这些值会用于多个群集对象的定义中。
有关群集配置 XML 文件在结构和内容方面的详细信息,请参见 clconfiguration(5CL) 手册页。
phys-schost# /usr/share/src/xmllint --valid --noout clconfigfile
有关更多信息,请参见 xmllint(1) 手册页。
phys-schost# cluster create -i clconfigfile
指定要用作输入源的群集配置 XML 文件的名称。
如果某个节点上的服务尚未处于联机状态,请等待直到状态变为联机后,再继续执行下一步。
phys-schost# svcs multi-user-server node STATE STIME FMRI online 17:52:55 svc:/milestone/multi-user-server:default
phys-schost# clnode status
输出类似于以下内容。
=== Cluster Nodes === --- Node Status --- Node Name Status --------- ------ phys-schost-1 Online phys-schost-2 Online phys-schost-3 Online
有关更多信息,请参见 clnode(1CL) 手册页。
有关更新软件的说明,请参见Oracle Solaris Cluster 系统管理指南 中的第 11 章 更新您的软件。
如果未向 /etc/hosts.allow 文件执行此添加,TCP 包装将阻止群集管理实用程序通过 RPC 进行节点间通信。
# /usr/sbin/ipadm show-addr ADDROBJ TYPE STATE ADDR clprivnet0/N static ok ip-address/netmask-length …
有关修改自动挂载程序映射的更多信息,请参见在 Oracle Solaris 11.2 中管理网络文件系统 中的涉及映射的管理任务。
如果创建了双节点群集,则必须配置一个法定设备。如果您选择不使用群集配置 XML 文件来创建所需的法定设备,请转至如何配置法定设备。
按照如何安装和配置 Oracle Solaris Cluster 法定服务器软件中的说明进行操作。
请参见Oracle Solaris Cluster With Network-Attached Storage Device Manual 。
phys-schost# xmllint --valid --noout clconfigfile
phys-schost# clquorum add -i clconfigfile device-name
指定要配置为法定设备的设备的名称。
phys-schost# clquorum reset
phys-schost# claccess deny-all
phys-schost# clnode set -p reboot_on_path_failure=enabled
指定要设置的属性
如果所有监视的共享磁盘路径发生故障,则启用自动节点重新引导。
phys-schost# clnode show === Cluster Nodes === Node Name: node … reboot_on_path_failure: enabled …
以下示例将一个现有双节点群集的群集配置和法定配置复制到了一个新的双节点群集中。新群集安装有 Solaris 11.1 OS。群集配置将从现有群集节点 phys-oldhost-1 导出到群集配置 XML 文件 clusterconf.xml 中。新群集的节点名称为 phys-newhost-1 和 phys-newhost-2。在新群集中被配置为法定设备的设备是 d3。
此示例中的提示符名称 phys-newhost-N 表示应在这两个群集节点上执行相应的命令。
phys-newhost-N# /usr/sbin/clinfo -n clinfo: node is not configured as part of a cluster: Operation not applicable phys-oldhost-1# cluster export -o clusterconf.xmlCopy clusterconf.xml to phys-newhost-1 and modify the file with valid values phys-newhost-1# xmllint --valid --noout clusterconf.xmlNo errors are reported phys-newhost-1# cluster create -i clusterconf.xml phys-newhost-N# svcs multi-user-server STATE STIME FMRI online 17:52:55 svc:/milestone/multi-user-server:default phys-newhost-1# clnode statusOutput shows that both nodes are online phys-newhost-1# clquorum add -i clusterconf.xml d3 phys-newhost-1# clquorum reset
完全建立了群集之后,您可以从现有群集中复制其他群集组成部分的配置。如果尚未这样做,请修改要复制的 XML 元素的值,以反映要将该组件添加到其中的群集配置。例如,如果要复制资源组,请确保 resourcegroupNodeList 条目包含的是对新群集而言有效的节点名称,而不是所复制的群集中的节点名称,除非这些节点名称与新群集中的节点名称相同。
要复制群集组件,请对要复制的群集组件运行面向对象命令的 export 子命令。有关面向对象命令的语法和选项的更多信息,请参见要复制的群集对象所对应的手册页。
下面介绍了在建立群集之后可以通过群集配置 XML 文件创建的群集组件的列表。此列表包括了用来复制组件的命令的手册页:
设备组:Solaris Volume Manager:cldevicegroup(1CL)
对于 Solaris Volume Manager,应首先创建您在群集配置 XML 文件中指定的磁盘集。
资源组管理器组件
共享地址资源:clressharedaddress(1CL)
逻辑主机名资源:clreslogicalhostname(1CL )
资源类型:clresourcetype(1CL)
使用 clresource、clressharedaddress 或 clreslogicalhostname 命令的 –a 选项,还可以在复制资源的同时复制与之相关联的资源类型和资源组。如果不使用该选项,则在添加资源之前必须先将其资源类型和资源组添加到群集中。
NAS 设备:clnasdevice(1CL)
必须首先按照 NAS 设备文档中的介绍设置此类设备。
SNMP 主机:clsnmphost(1CL)
clsnmphost create -i 命令要求您用 –f 选项指定用户密码文件。
SNMP 用户:clsnmpuser(1CL)
用来监视群集对象的系统资源的阈值:cltelemetryattribute(1CL )
故障排除
不成功的配置-如果一个或多个节点无法加入群集,或者指定了错误的配置信息,请首先尝试重新执行此过程。如果不能解决问题,请在每个配置有误的节点上执行如何取消 Oracle Solaris Cluster 软件的配置以更正安装问题过程,以将该节点从群集配置中删除。无需卸载 Oracle Solaris Cluster 软件包。然后再次执行此过程。
接下来的步骤
请转至如何检验法定配置和安装模式。