跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Cluster 软件安装指南 Oracle Solaris Cluster 4.0 (简体中文) |
1. 规划 Oracle Solaris Cluster 配置
本节提供了用于配置 Oracle Solaris 非全局区域的群集(称为区域群集)的过程。它介绍了以下主题:
clzonecluster 实用程序可用来创建、修改和删除区域群集。clzonecluster 实用程序主动管理区域群集。例如,clzonecluster 实用程序既可以引导区域群集,又可以停止区域群集。clzonecluster 实用程序的进度消息输出到控制台,而不是保存在日志文件中。
与 zonecfg 实用程序类似,该实用程序在以下范围级别运行:
群集范围影响整个区域群集。
节点范围仅影响指定的一个区域群集节点。
资源范围影响特定节点或整个区域群集,具体取决于您从哪个范围进入资源范围。大多数资源只能从节点范围进入。资源范围由以下提示符标识:
clzc:zone-cluster-name:resource> cluster-wide setting clzc:zone-cluster-name:node:resource> node-specific setting
您可以使用 clzonecluster 实用程序指定任何 Oracle Solaris Zones 资源参数以及特定于区域群集的参数。有关可以在区域群集中设置的参数的信息,请参见 clzonecluster(1CL) 手册页。有关 Oracle Solaris Zones 资源参数的其他信息,请参见 zonecfg(1M) 手册页。
本节介绍了如何配置非全局区域的群集。
执行此过程可创建非全局区域的群集。
开始之前
创建全局群集。请参见第 3 章。
阅读有关创建区域群集的指导和要求。请参见区域群集。
获取以下信息:
要指定给区域群集的唯一名称。
区域群集的节点将使用的区域路径。有关更多信息,请参见《Oracle Solaris 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理》中的"资源类型和属性"中对 zonepath 属性的描述。
要在其上创建区域群集节点的全局群集中每个节点的名称。
要指定给每个区域群集节点的区域公共主机名或主机别名。
每个区域群集节点使用的公共网络 IP 地址(如果适用)。
每个区域群集节点用来连接到公共网络的公共网络适配器的名称(如果适用)。
注 - 如果不为每个区域群集节点配置 IP 地址,将出现以下两种情况:
该特定区域群集将无法配置要在区域群集中使用的 NAS 设备。群集在与 NAS 设备通信时将使用区域群集节点的 IP 地址,所以缺失 IP 地址会阻止对隔离 NAS 设备的群集支持。
群集软件将激活所有 NIC 上的所有逻辑主机 IP 地址。
请从全局群集的一个节点中执行此过程的所有步骤。
如果任一节点处于非群集模式,当该节点返回到群集模式时,所做的更改将进行传播。因此,即使某些全局群集节点处于非群集模式,您也可以创建区域群集。当这些节点返回到群集模式时,系统会对它们执行区域群集创建任务。
phys-schost# clnode status === Cluster Nodes === --- Node Status --- Node Name Status --------- ------ phys-schost-2 Online phys-schost-1 Online
请遵循以下特殊说明:
默认情况下,将创建完全根区域 (Whole Root Zone)。要创建整个根区域,请为 create 命令添加 -b 选项。
为每个区域群集节点指定 IP 地址和 NIC 是可选的。
phys-schost-1# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> create Set the zone path for the entire zone cluster clzc:zone-cluster-name> set zonepath=/zones/zone-cluster-name Add the first node and specify node-specific settings clzc:zone-cluster-name> add node clzc:zone-cluster-name:node> set physical-host=base-cluster-node1 clzc:zone-cluster-name:node> set hostname=hostname1 clzc:zone-cluster-name:node> add net clzc:zone-cluster-name:node:net> set address=public-netaddr clzc:zone-cluster-name:node:net> set physical=adapter clzc:zone-cluster-name:node:net> end clzc:zone-cluster-name:node> end Add authorization for the public-network addresses that the zone cluster is allowed to use clzc: zone-cluster-name> add net clzc: zone-cluster-name:net> set address=IP-address1 clzc: zone-cluster-name:net> end Save the configuration and exit the utility clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit
phys-schost-1# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> add node clzc:zone-cluster-name:node> set physical-host=base-cluster-node2 clzc:zone-cluster-name:node> set hostname=hostname2 clzc:zone-cluster-name:node> add net clzc:zone-cluster-name:node:net> set address=public-netaddr clzc:zone-cluster-name:node:net> set physical=adapter clzc:zone-cluster-name:node:net> end clzc:zone-cluster-name:node> end clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit
verify 子命令用于检查指定资源的可用性。如果 clzonecluster verify 命令成功,则不会显示任何输出。
phys-schost-1# clzonecluster verify zone-cluster-name phys-schost-1# clzonecluster status zone-cluster-name === Zone Clusters === --- Zone Cluster Status --- Name Node Name Zone HostName Status Zone Status ---- --------- ------------- ------ ----------- zone basenode1 zone-1 Offline Configured basenode2 zone-2 Offline Configured
phys-schost-1# clzonecluster install options zone-cluster-name Waiting for zone install commands to complete on all the nodes of the zone cluster "zone-cluster-name"...
如果需要,请在 clzonecluster install 命令中包含以下选项。
要包含系统配置信息,请添加以下选项:
-c config-profile.xml
-c config-profile.xml 选项为区域群集的所有非全局区域提供配置文件。使用该选项仅更改区域的主机名,该主机名对区域群集中的每个区域是唯一的。所有配置文件都必须有 .xml 扩展名。
如果区域群集的基础全局群集节点不是都安装有相同的 Oracle Solaris Cluster 软件包,但是您不想更改哪些软件包将位于基础节点上,请添加以下选项:
-M manifest.xml
-M manifest.xml 选项指定您配置的一个定制的自动化安装程序清单以便在所有区域群集节点上安装必要的软件包。如果运行 clzonecluster install 命令时未使用 -M 选项,当某个基础节点上缺少在发出命令的基础节点上安装的某个软件包时,在该基础节点上的区域群集安装将失败。
Installation of the zone cluster might take several minutes phys-schost-1# clzonecluster boot zone-cluster-name Waiting for zone boot commands to complete on all the nodes of the zone cluster "zone-cluster-name"...
在每个区域群集节点上,发出以下命令并通过交互式屏幕跟踪进度。
phys-schost-1# zlogin -C zone-cluster-name
phys-schost# init -g0 -y -i6
对区域群集的每个节点执行以下命令。
phys-schost# zlogin zcnode zcnode# svcadm enable svc:/network/dns/client:default zcnode# svcadm enable svc:/network/login:rlogin zcnode# reboot
示例 6-1 用来创建区域群集的配置文件
以下示例显示了可以与 clzonecluster 实用程序一起用来创建区域群集的命令文件的内容。该文件包含一系列需要您手动输入的 clzonecluster 命令。
在下面的配置中,将在全局群集节点 phys-schost-1 上创建区域群集 sczone。区域群集使用 /zones/sczone 作为区域路径,并使用公共 IP 地址 172.16.2.2。区域群集的第一个节点被指定了主机名 zc-host-1,并且使用网络地址 172.16.0.1 和 net0 适配器。区域群集的第二个节点是在全局群集节点 phys-schost-2 上创建的。第二个区域群集节点被指定了主机名 zc-host-2,并且使用网络地址 172.16.0.2 和 net1 适配器。
create set zonepath=/zones/sczone add net set address=172.16.2.2 end add node set physical-host=phys-schost-1 set hostname=zc-host-1 add net set address=172.16.0.1 set physical=net0 end end add node set physical-host=phys-schost-2 set hostname=zc-host-2 add net set address=172.16.0.2 set physical=net1 end end commit exit
示例 6-2 使用配置文件创建区域群集
以下示例显示了使用配置文件 sczone-config 在全局群集节点 phys-schost-1 上创建新的区域群集 sczone 时所用的命令。区域群集节点的主机名为 zc-host-1 和 zc-host-2。
phys-schost-1# clzonecluster configure -f sczone-config sczone phys-schost-1# clzonecluster verify sczone phys-schost-1# clzonecluster install sczone Waiting for zone install commands to complete on all the nodes of the zone cluster "sczone"... phys-schost-1# clzonecluster boot sczone Waiting for zone boot commands to complete on all the nodes of the zone cluster "sczone"... phys-schost-1# clzonecluster status sczone === Zone Clusters === --- Zone Cluster Status --- Name Node Name Zone HostName Status Zone Status ---- --------- ------------- ------ ----------- sczone phys-schost-1 zc-host-1 Offline Running phys-schost-2 zc-host-2 Offline Running
接下来的步骤
如果要向区域群集中添加文件系统,请转至向区域群集中添加文件系统。
如果要向区域群集中添加全局存储设备,请转至向区域群集中添加存储设备。
另请参见
如果要更新区域群集,请执行《Oracle Solaris Cluster 系统管理指南》中的第 11 章 "更新您的软件"中的过程。这些过程包括有关区域群集的特殊说明(如有需要)。
在将某个文件系统添加到区域群集并使其联机之后,将授权在该区域群集中使用文件系统。要挂载文件系统以供使用,可通过使用群集资源(例如 SUNW.HAStoragePlus 或 SUNW.ScalMountPoint)来配置文件系统。
本节介绍了添加供区域群集使用的文件系统的以下过程:
此外,如果要将 ZFS 存储池配置为在区域群集中具有高可用性,请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的"How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS File System Highly Available"。
执行此过程可在全局群集上添加供区域群集使用的本地文件系统。
注 - 要向区域群集中添加 ZFS 池,请改为执行如何向区域群集中添加 ZFS 存储池中的过程。
或者,要将 ZFS 存储池配置为在区域群集中具有高可用性,请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的"How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS File System Highly Available"。
请从全局群集的一个节点中执行此过程的所有步骤。
确保在共享磁盘上创建了文件系统。
phys-schost# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> add fs clzc:zone-cluster-name:fs> set dir=mount-point clzc:zone-cluster-name:fs> set special=disk-device-name clzc:zone-cluster-name:fs> set raw=raw-disk-device-name clzc:zone-cluster-name:fs> set type=FS-type clzc:zone-cluster-name:fs> end clzc:zone-cluster-name> verify clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit
指定文件系统挂载点
指定磁盘设备的名称
指定原始磁盘设备的名称
指定文件系统的类型
注 - 启用 UFS 文件系统的日志记录功能。
phys-schost# clzonecluster show -v zone-cluster-name
示例 6-3 向区域群集中添加本地文件系统
此示例将添加供 sczone 区域群集使用的本地文件系统 /global/oracle/d1。
phys-schost-1# clzonecluster configure sczone clzc:sczone> add fs clzc:sczone:fs> set dir=/global/oracle/d1 clzc:sczone:fs> set special=/dev/md/oracle/dsk/d1 clzc:sczone:fs> set raw=/dev/md/oracle/rdsk/d1 clzc:sczone:fs> set type=ufs clzc:sczone:fs> add options [logging] clzc:sczone:fs> end clzc:sczone> verify clzc:sczone> commit clzc:sczone> exit phys-schost-1# clzonecluster show -v sczone … Resource Name: fs dir: /global/oracle/d1 special: /dev/md/oracle/dsk/d1 raw: /dev/md/oracle/rdsk/d1 type: ufs options: [logging] cluster-control: [true] …
接下来的步骤
通过使用 HAStoragePlus 资源将文件系统配置为具有高可用性。HAStoragePlus 资源管理区域群集节点上文件系统的挂载,该节点当前托管配置为使用该文件系统的应用程序。请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的"Enabling Highly Available Local File Systems"。
注 - 要将 ZFS 存储池配置为在区域群集中具有高可用性,请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的"How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS File System Highly Available"。
请从全局区域的一个节点中执行此过程的所有步骤。
请确保该池连接到与区域群集的所有节点相连的共享磁盘。
有关创建 ZFS 池的过程,请参见《Oracle Solaris 管理:ZFS 文件系统》。
phys-schost# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> add dataset clzc:zone-cluster-name:dataset> set name=ZFSpoolname clzc:zone-cluster-name:dataset> end clzc:zone-cluster-name> verify clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit
phys-schost# clzonecluster show -v zone-cluster-name
示例 6-4 向区域群集中添加 ZFS 存储池
以下示例显示了将 ZFS 存储池 zpool1 添加到区域群集 sczone 中的过程。
phys-schost-1# clzonecluster configure sczone clzc:sczone> add dataset clzc:sczone:dataset> set name=zpool1 clzc:sczone:dataset> end clzc:sczone> verify clzc:sczone> commit clzc:sczone> exit phys-schost-1# clzonecluster show -v sczone … Resource Name: dataset name: zpool1 …
接下来的步骤
通过使用 HAStoragePlus 资源将 ZFS 存储池配置为具有高可用性。在配置为使用文件系统的应用程序当前所在的区域群集节点上,HAStoragePlus 资源在池中管理文件系统的挂载。请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的"Enabling Highly Available Local File Systems"。
请从全局群集的一个投票节点中执行此过程的所有步骤。
phys-schost# vi /etc/vfstab … /dev/global/dsk/d12s0 /dev/global/rdsk/d12s0/ /global/fs ufs 2 no global, logging
phys-schost# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> add fs clzc:zone-cluster-name:fs> set dir=zone-cluster-lofs-mountpoint clzc:zone-cluster-name:fs> set special=global-cluster-mount-point clzc:zone-cluster-name:fs> set type=lofs clzc:zone-cluster-name:fs> end clzc:zone-cluster-name> verify clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit
指定 LOFS 的文件系统挂载点以使群集文件系统可用于区域群集。
指定全局群集中原始群集文件系统的文件系统挂载点。
有关创建回送文件系统的更多信息,请参见《Oracle Solaris 管理:设备和文件系统》中的"如何创建和挂载 LOFS 文件系统"。
phys-schost# clzonecluster show -v zone-cluster-name
示例 6-5 向区域群集中添加群集文件系统
以下示例显示了如何将带有挂载点 /global/apache 的群集文件系统添加到区域群集中。在挂载点 /zone/apache 处使用回送挂载机制可将该文件系统添加到区域群集中。
phys-schost-1# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/apache ufs 2 yes global, logging phys-schost-1# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> add fs clzc:zone-cluster-name:fs> set dir=/zone/apache clzc:zone-cluster-name:fs> set special=/global/apache clzc:zone-cluster-name:fs> set type=lofs clzc:zone-cluster-name:fs> end clzc:zone-cluster-name> verify clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit phys-schost-1# clzonecluster show -v sczone … Resource Name: fs dir: /zone/apache special: /global/apache raw: type: lofs options: [] cluster-control: true …
接下来的步骤
通过使用 HAStoragePlus 资源将群集文件系统配置为在区域群集中可用。HAStoragePlus 资源管理全局群集中文件系统的挂载,并稍后在配置为使用该文件系统的应用程序当前所在的区域群集节点上执行回送挂载。有关更多信息,请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的"Configuring an HAStoragePlus Resource for Cluster File Systems"。
本节介绍了如何添加供区域群集直接使用的全局存储设备。全局设备是指可以由群集中的多个节点访问(可以一次只供一个节点访问,也可以同时供多个节点访问)的设备。
注 - 要将原始磁盘设备 (cNtXdYsZ) 导入到区域群集节点,请使用 zonecfg 命令(就像对其他标记的非全局区域通常所做的那样)。
此类设备不会受 clzonecluster 命令的控制,而是会视为节点的本地设备。有关将原始磁盘设备导入到非全局区域的信息,请参见《Oracle Solaris 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理》中的"在正在运行的非全局区域中挂载文件系统"。
在将某个设备添加到区域群集中之后,此设备将在该区域群集中可见。
本节包含以下过程:
执行此过程可将 Solaris Volume Manager 磁盘集的单个元设备添加到区域群集中。
请从全局群集的一个节点中执行此过程的所有步骤。
phys-schost# cldevicegroup status
phys-schost# cldevicegroup online diskset
phys-schost# ls -l /dev/md/diskset lrwxrwxrwx 1 root root 8 Jul 22 23:11 /dev/md/diskset -> shared/set-number
您必须对每个 set match= 条目使用单独的 add device 会话。
注 - 在路径名称中使用星号 (*) 作为通配符。
phys-schost# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> add device clzc:zone-cluster-name:device> set match=/dev/md/diskset/*dsk/metadevice clzc:zone-cluster-name:device> end clzc:zone-cluster-name> add device clzc:zone-cluster-name:device> set match=/dev/md/shared/setnumber/*dsk/metadevice clzc:zone-cluster-name:device> end clzc:zone-cluster-name> verify clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit
指定元设备的完整逻辑设备路径
指定磁盘集编号的完整物理设备路径
所做的更改将在区域群集重新引导之后生效。
phys-schost# clzonecluster reboot zone-cluster-name
示例 6-6 向区域群集中添加元设备
以下示例显示了如何将磁盘集 oraset 中的元设备 d1 添加到 sczone 区域群集中。该磁盘集的编号为 3。
phys-schost-1# clzonecluster configure sczone clzc:sczone> add device clzc:sczone:device> set match=/dev/md/oraset/*dsk/d1 clzc:sczone:device> end clzc:sczone> add device clzc:sczone:device> set match=/dev/md/shared/3/*dsk/d1 clzc:sczone:device> end clzc:sczone> verify clzc:sczone> commit clzc:sczone> exit phys-schost-1# clzonecluster reboot sczone
执行此过程可将整个 Solaris Volume Manager 磁盘集添加到区域群集中。
请从全局群集的一个节点中执行此过程的所有步骤。
phys-schost# cldevicegroup status
phys-schost# cldevicegroup online diskset
phys-schost# ls -l /dev/md/diskset lrwxrwxrwx 1 root root 8 Jul 22 23:11 /dev/md/diskset -> shared/set-number
您必须对每个 set match= 条目使用单独的 add device 会话。
注 - 在路径名称中使用星号 (*) 作为通配符。
phys-schost# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> add device clzc:zone-cluster-name:device> set match=/dev/md/diskset/*dsk/* clzc:zone-cluster-name:device> end clzc:zone-cluster-name> add device clzc:zone-cluster-name:device> set match=/dev/md/shared/set-number/*dsk/* clzc:zone-cluster-name:device> end clzc:zone-cluster-name> verify clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit
指定磁盘集的完整逻辑设备路径
指定磁盘集编号的完整物理设备路径
所做的更改将在区域群集重新引导之后生效。
phys-schost# clzonecluster reboot zone-cluster-name
示例 6-7 向区域群集中添加磁盘集
以下示例显示了如何将磁盘集 oraset 添加到 sczone 区域群集中。该磁盘集的编号为 3。
phys-schost-1# clzonecluster configure sczone clzc:sczone> add device clzc:sczone:device> set match=/dev/md/oraset/*dsk/* clzc:sczone:device> end clzc:sczone> add device clzc:sczone:device> set match=/dev/md/shared/3/*dsk/* clzc:sczone:device> end clzc:sczone> verify clzc:sczone> commit clzc:sczone> exit phys-schost-1# clzonecluster reboot sczone
执行此过程可向区域群集中添加 DID 设备。
请从全局群集的一个节点中执行此过程的所有步骤。
要添加的设备必须连接到区域群集的所有节点。
phys-schost# cldevice list -v
注 - 在路径名称中使用星号 (*) 作为通配符。
phys-schost# clzonecluster configure zone-cluster-name clzc:zone-cluster-name> add device clzc:zone-cluster-name:device> set match=/dev/did/*dsk/dNs* clzc:zone-cluster-name:device> end clzc:zone-cluster-name> verify clzc:zone-cluster-name> commit clzc:zone-cluster-name> exit
指定 DID 设备的完整设备路径
所做的更改将在区域群集重新引导之后生效。
phys-schost# clzonecluster reboot zone-cluster-name
示例 6-8 向区域群集中添加 DID 设备
以下示例显示了如何将 DID 设备 d10 添加到 sczone 区域群集中。
phys-schost-1# clzonecluster configure sczone clzc:sczone> add device clzc:sczone:device> set match=/dev/did/*dsk/d10s* clzc:sczone:device> end clzc:sczone> verify clzc:sczone> commit clzc:sczone> exit phys-schost-1# clzonecluster reboot sczone