Sun Cluster 软件安装指南(适用于 Solaris OS)

配置区域群集

本节介绍了配置非全局区域的群集的过程。

clzonecluster 实用程序概述

clzonecluster 实用程序可用来创建、修改和删除区域群集。clzonecluster 实用程序主动管理区域群集。例如,clzonecluster 实用程序既可以引导区域群集,又可以停止区域群集。clzonecluster 实用程序的进度消息输出到控制台,而不是保存在日志文件中。

zonecfg 实用程序类似,该实用程序在以下范围级别运行:

建立区域群集

本节介绍了如何配置非全局区域的群集。

Procedure如何创建区域群集

执行此过程可创建非全局区域的群集。

开始之前
  1. 成为全局群集的某个活动成员节点上的超级用户。


    注 –

    从全局群集的节点执行此过程中的所有步骤。


  2. 确保全局群集的节点处于群集模式。

    如果任一节点处于非群集模式,当该节点返回到群集模式时,所做的更改将进行传播。因此,即使某些全局群集节点处于非群集模式,您也可以创建区域群集。当这些节点返回到群集模式时,系统会对它们执行区域群集创建任务。


    phys-schost# clnode status
    === Cluster Nodes ===
    
    --- Node Status ---
    
    Node Name                                       Status
    ---------                                       ------
    phys-schost-2                                   Online
    phys-schost-1                                   Online
  3. 创建区域群集。


    注 –

    默认情况下,将创建稀疏根区域 (sparse root zone)。要创建整个根区域,请为 create 命令添加 -b 选项。



    phys-schost-1# clzonecluster configure zoneclustername
    clzc:zoneclustername> create
    
    Set the zone path for the entire zone cluster
    clzc:zoneclustername> set zonepath=/zones/zoneclustername
    
    Add the first node and specify node-specific settings
    clzc:zoneclustername> add node
    clzc:zoneclustername:node> set physical-host=baseclusternode1
    clzc:zoneclustername:node> set hostname=hostname1
    clzc:zoneclustername:node> add net
    clzc:zoneclustername:node:net> set address=public_netaddr
    clzc:zoneclustername:node:net> set physical=adapter
    clzc:zoneclustername:node:net> end
    clzc:zoneclustername:node> end
    Add authorization for the public-network addresses that the zone cluster is allowed to use
    clzc: zoneclustername> add net
    clzc: zoneclustername:net> set address=ipaddress1
    clzc: zoneclustername:net> end
    
    Set the root password globally for all nodes in the zone cluster
    clzc:zoneclustername> add sysid
    clzc:zoneclustername:sysid> set root_password=encrypted_password
    clzc:zoneclustername:sysid> end
    
    Save the configuration and exit the utility
    clzc:zoneclustername> commit
    clzc:zoneclustername> exit
    
  4. (可选的)向区域群集中添加一个或多个附加节点。


    phys-schost-1# clzonecluster configure zoneclustername
    clzc:zoneclustername> add node
    clzc:zoneclustername:node> set physical-host=baseclusternode2
    clzc:zoneclustername:node> set hostname=hostname2
    clzc:zoneclustername:node> add net
    clzc:zoneclustername:node:net> set address=public_netaddr
    clzc:zoneclustername:node:net> set physical=adapter
    clzc:zoneclustername:node:net> end
    clzc:zoneclustername:node> end
    clzc:zoneclustername> commit
    clzc:zoneclustername> exit
    
  5. 检验区域群集配置。

    verify 子命令用于检查指定资源的可用性。如果 clzonecluster verify 命令成功,则不会输出任何内容。


    phys-schost-1# clzonecluster verify zoneclustername
    phys-schost-1# clzonecluster status zoneclustername
    === Zone Clusters ===
    
    --- Zone Cluster Status ---
    
    Name      Node Name   Zone HostName   Status    Zone Status
    ----      ---------   -------------   ------    -----------
    zone      basenode1    zone-1        Offline   Configured
              basenode2    zone-2        Offline   Configured
  6. 安装和引导群集。


    phys-schost-1# clzonecluster install zoneclustername
    Waiting for zone install commands to complete on all the nodes 
    of the zone cluster "zoneclustername"...
    
    Installation of the zone cluster might take several minutes
    phys-schost-1# clzonecluster boot zoneclustername
    Waiting for zone boot commands to complete on all the nodes of 
    the zone cluster "zoneclustername"...

示例 7–2 用来创建区域群集的配置文件

以下示例显示了可以与 clzonecluster 实用程序一起用来创建区域群集的命令文件的内容。该文件包含一系列需要您手动输入的 clzonecluster 命令。

在下面的配置中,将在全局群集节点 phys-schost-1 上创建区域群集 sczone。区域群集将 /zones/sczone 用作区域路径以及公共 IP 地址 172.16.2.2。区域群集的第一个节点被指定主机名 zc-host-1,并使用网络地址 172.16.0.1bge0 适配器。区域群集的第二个节点是在全局群集节点 phys-schost-2 上创建的。第二个区域群集节点被指定主机名 zc-host-2,并且使用网络地址 172.16.0.2bge1 适配器。

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=bge0
end
end
add sysid
set root_password=encrypted_password
end
add node
set physical-host=phys-schost-2
set hostname=zc-host-2
add net
set address=172.16.0.2
set physical=bge1
end
end
commit
exit


示例 7–3 使用配置文件创建区域群集

以下示例显示了使用配置文件 sczone-config 在全局群集节点 phys-schost-1 上创建新的区域群集 sczone 时所用的命令。区域群集节点的主机名为 zc-host-1zc-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

接下来的操作

要向区域群集中添加文件系统,请转至向区域群集中添加文件系统

要向区域群集中添加全局存储设备,请转至向区域群集中添加存储设备

向区域群集中添加文件系统

本节介绍了添加供区域群集使用的文件系统的过程。

在将某个文件系统添加到区域群集并使其联机之后,将授权在该区域群集中使用文件系统。要挂载文件系统以供使用,可通过使用群集资源(例如 SUNW.HAStoragePlusSUNW.ScalMountPoint)来配置文件系统。


注 –

不能使用 clzonecluster 命令将挂载到单个全局群集节点上的本地文件系统添加到区域群集中,而是应当像在独立系统中通常那样使用 zonecfg 命令。本地文件系统将不受群集控制。

您不能向区域群集中添加群集文件系统。


本节包含以下过程:

此外,要将 ZFS 存储池配置为在区域群集中具有高可用性,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS Highly Available”

Procedure如何向区域群集添加本地文件系统

执行此过程可在全局群集上添加供区域群集使用的本地文件系统。


注 –

要向区域群集中添加 ZFS 池,请改为执行如何向区域群集中添加 ZFS 存储池中的过程。

此外,要将 ZFS 存储池配置为在区域群集中具有高可用性,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS Highly Available”


  1. 成为可托管区域群集的全局群集节点上的超级用户。


    注 –

    请从全局群集的某个节点执行此过程的所有步骤。


  2. 在全局群集上,创建要在区域群集中使用的文件系统。

    确保在共享磁盘上创建了文件系统。

  3. 在托管区域群集节点的全局群集的每个节点上,向要在区域群集上挂载的文件系统的 /etc/vfstab 文件添加条目。


    phys-schost# vi /etc/vfstab
    
  4. 将该文件系统添加到区域群集配置中。


    phys-schost# clzonecluster configure zoneclustername
    clzc:zoneclustername> add fs
    clzc:zoneclustername:fs> set dir=mountpoint
    clzc:zoneclustername:fs> set special=disk-device-name
    clzc:zoneclustername:fs> set raw=raw-disk-device-name
    clzc:zoneclustername:fs> set type=FS-type
    clzc:zoneclustername:fs> end
    clzc:zoneclustername> verify
    clzc:zoneclustername> commit
    clzc:zoneclustername> exit
    
    dir=mountpoint

    指定文件系统挂载点

    special=disk-device-name

    指定磁盘设备的名称

    raw=raw-disk-device-name

    指定原始磁盘设备的名称

    type=FS-type

    指定文件系统的类型

  5. 检验是否添加了该文件系统。


    phys-schost# clzonecluster show -v zoneclustername
    

示例 7–4 向区域群集中添加本地文件系统

此示例将添加供 sczone 区域群集使用的本地文件系统 /global/oracle/d1


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/oracle/d1 ufs 5 no logging

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> 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:                                   []
…

接下来的操作

通过使用 HAStoragePlus 资源将文件系统配置为具有高可用性。HAStoragePlus 资源管理区域群集节点上文件系统的挂载,该节点当前托管配置为使用该文件系统的应用程序。请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Enabling Highly Available Local File Systems”

Procedure如何向区域群集中添加 ZFS 存储池

执行此过程可添加供区域群集使用的 ZFS 存储池。


注 –

要将 ZFS 存储池配置为在区域群集中具有高可用性,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS Highly Available”


  1. 成为可托管区域群集的全局群集节点上的超级用户。


    注 –

    从全局区域的节点执行此过程的所有步骤。


  2. 在全局群集上创建 ZFS 存储池。


    注 –

    请确保该池连接到与区域群集的所有节点相连的共享磁盘。


    有关创建 ZFS 池的过程,请参见《Solaris ZFS 管理指南》

  3. 将该池添加到区域群集配置中。


    phys-schost# clzonecluster configure zoneclustername
    clzc:zoneclustername> add dataset
    clzc:zoneclustername:dataset> set name=ZFSpoolname
    clzc:zoneclustername:dataset> end
    clzc:zoneclustername> verify
    clzc:zoneclustername> commit
    clzc:zoneclustername> exit
    
  4. 检验是否添加了该文件系统。


    phys-schost# clzonecluster show -v zoneclustername
    

示例 7–5 向区域群集中添加 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 资源管理区域群集节点上的池中的文件系统的挂载,该节点当前托管配置为使用该文件系统的应用程序。请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Enabling Highly Available Local File Systems”

Procedure如何向区域群集中添加 QFS 共享文件系统

执行此过程可添加供区域群集使用的 Sun QFS 共享文件系统。


注 –

目前,仅支持在通过 Oracle Real Application Clusters (RAC) 配置的群集中使用 QFS 共享文件系统。在不是通过 Oracle RAC 配置的群集上,可以使用配置为高可用性本地文件系统的单机 QFS 文件系统。


  1. 成为可托管区域群集的全局群集投票节点上的超级用户。


    注 –

    从全局群集的投票节点执行此过程的所有步骤。


  2. 在全局群集上,配置要在区域群集中使用的 QFS 共享文件系统。

    请遵循使用 Sun Cluster 配置 Sun QFS 文件系统中用于共享文件系统的过程。

  3. 在托管区域群集节点的全局群集的每个节点上,向要在区域群集上挂载的文件系统的 /etc/vfstab 文件添加条目。


    phys-schost# vi /etc/vfstab
    
  4. 将该文件系统添加到区域群集配置中。


    phys-schost# clzonecluster configure zoneclustername
    clzc:zoneclustername> add fs
    clzc:zoneclustername:fs> set dir=mountpoint
    clzc:zoneclustername:fs> set special=QFSfilesystemname
    clzc:zoneclustername:fs> set type=samfs
    clzc:zoneclustername:fs> end
    clzc:zoneclustername> verify
    clzc:zoneclustername> commit
    clzc:zoneclustername> exit
    
  5. 检验是否添加了该文件系统。


    phys-schost# clzonecluster show -v zoneclustername
    

示例 7–6 向区域群集中添加 QFS 共享文件系统

以下示例显示了将 QFS 共享文件系统 Data-cz1 添加到区域群集 sczone 中的过程。在全局群集中,该文件系统的挂载点为 /zones/sczone/root/db_qfs/Data1,其中 /zones/sczone/root/ 是区域的根路径。在区域群集节点内,该文件系统的挂载点为 /db_qfs/Data1


phys-schost-1# vi /etc/vfstab
#device     device    mount   FS      fsck    mount     mount
#to mount   to fsck   point   type    pass    at boot   options
#          
Data-cz1    -    /zones/sczone/root/db_qfs/Data1 samfs - no shared,notrace

phys-schost-1# clzonecluster configure sczone
clzc:sczone> add fs
clzc:sczone:fs> set dir=/db_qfs/Data1
clzc:sczone:fs> set special=Data-cz1
clzc:sczone:fs> set type=samfs
clzc:sczone:fs> end
clzc:sczone> verify
clzc:sczone> commit
clzc:sczone> exit

phys-schost-1# clzonecluster show -v sczone
…
  Resource Name:                            fs
    dir:                                       /db_qfs/Data1
    special:                                   Data-cz1
    raw:                                       
    type:                                      samfs
    options:                                   []
…

向区域群集中添加存储设备

本节介绍了如何添加供区域群集直接使用的全局存储设备。全局设备是指可以由群集中的多个节点访问(可以一次只供一个节点访问,也可以同时供多个节点访问)的设备。

在将某个设备添加到区域群集中之后,此设备将在该区域群集中可见。

本节包含以下过程:

Procedure如何向区域群集中添加单个元设备 (Solaris Volume Manager)

执行此过程可将 Solaris Volume Manager 磁盘集的单个元设备添加到区域群集中。

  1. 成为可托管区域群集的全局群集节点上的超级用户。

    请从全局群集的一个节点中执行此过程的所有步骤。

  2. 确定要添加到区域群集中的元设备所在的磁盘集,并确定该磁盘集是否处于联机状态。


    phys-schost# cldevicegroup status
    
  3. 如果要添加的磁盘集未处于联机状态,请将它置于联机状态。


    phys-schost# cldevicegroup online diskset
    
  4. 确定与要添加的磁盘集相对应的磁盘集编号。


    phys-schost# ls -l /dev/md/diskset
    lrwxrwxrwx  1 root root  8 Jul 22 23:11 /dev/md/diskset -> shared/setnumber 
    
  5. 添加供区域群集使用的元设备。

    您必须对每个 set match= 条目使用单独的 add device 会话。


    注 –

    在路径名称中使用星号 (*) 作为通配符。



    phys-schost# clzonecluster configure zoneclustername
    clzc:zoneclustername> add device
    clzc:zoneclustername:device> set match=/dev/md/diskset/*dsk/metadevice
    clzc:zoneclustername:device> end
    clzc:zoneclustername> add device
    clzc:zoneclustername:device> set match=/dev/md/shared/setnumber/*dsk/metadevice
    clzc:zoneclustername:device> end
    clzc:zoneclustername> verify
    clzc:zoneclustername> commit
    clzc:zoneclustername> exit
    
    match=/dev/md/diskset/*dsk/metadevice

    指定元设备的完整逻辑设备路径

    match=/dev/md/shared/N/*dsk/metadevice

    指定磁盘集编号的完整物理设备路径

  6. 重新引导区域群集。

    所做的更改将在区域群集重新引导之后生效。


    phys-schost# clzonecluster reboot zoneclustername
    

示例 7–7 向区域群集中添加元设备

以下示例显示了如何将磁盘集 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

Procedure如何向区域群集中添加磁盘集 (Solaris Volume Manager)

执行此过程可将整个 Solaris Volume Manager 磁盘集添加到区域群集中。

  1. 成为可托管区域群集的全局群集节点上的超级用户。

    请从全局群集的一个节点中执行此过程的所有步骤。

  2. 确定要添加到区域群集中的磁盘集,并确定它是否处于联机状态。


    phys-schost# cldevicegroup status
    
  3. 如果要添加的磁盘集未处于联机状态,请将它置于联机状态。


    phys-schost# cldevicegroup online diskset
    
  4. 确定与要添加的磁盘集相对应的磁盘集编号。


    phys-schost# ls -l /dev/md/diskset
    lrwxrwxrwx  1 root root  8 Jul 22 23:11 /dev/md/diskset -> shared/setnumber 
    
  5. 添加供区域群集使用的磁盘集。

    您必须对每个 set match= 条目使用单独的 add device 会话。


    注 –

    在路径名称中使用星号 (*) 作为通配符。



    phys-schost# clzonecluster configure zoneclustername
    clzc:zoneclustername> add device
    clzc:zoneclustername:device> set match=/dev/md/diskset/*dsk/*
    clzc:zoneclustername:device> end
    clzc:zoneclustername> add device
    clzc:zoneclustername:device> set match=/dev/md/shared/setnumber/*dsk/*
    clzc:zoneclustername:device> end
    clzc:zoneclustername> verify
    clzc:zoneclustername> commit
    clzc:zoneclustername> exit
    
    match=/dev/md/diskset/*dsk/*

    指定磁盘集的完整逻辑设备路径

    match=/dev/md/shared/N/*dsk/*

    指定磁盘集编号的完整物理设备路径

  6. 重新引导区域群集。

    所做的更改将在区域群集重新引导之后生效。


    phys-schost# clzonecluster reboot zoneclustername
    

示例 7–8 向区域群集中添加磁盘集

以下示例显示了如何将磁盘集 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

Procedure如何向区域群集中添加 DID 设备

执行此过程可向区域群集中添加 DID 设备。

  1. 成为可托管区域群集的全局群集节点上的超级用户。

    请从全局群集的一个节点中执行此过程的所有步骤。

  2. 确定要添加到区域群集中的 DID 设备。

    要添加的设备必须连接到区域群集的所有节点。


    phys-schost# cldevice list -v
    
  3. 添加供区域群集使用的 DID 设备。


    注 –

    在路径名称中使用星号 (*) 作为通配符。



    phys-schost# clzonecluster configure zoneclustername
    clzc:zoneclustername> add device
    clzc:zoneclustername:device> set match=/dev/did/*dsk/dNs*
    clzc:zoneclustername:device> end
    clzc:zoneclustername> verify
    clzc:zoneclustername> commit
    clzc:zoneclustername> exit
    
    match=/dev/did/*dsk/dNs*

    指定 DID 设备的完整设备路径

  4. 重新引导区域群集。

    所做的更改将在区域群集重新引导之后生效。


    phys-schost# clzonecluster reboot zoneclustername
    

示例 7–9 向区域群集中添加 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

Procedure如何向区域群集中添加原始磁盘设备

  1. 使用 zonecfg 命令将原始磁盘设备 (cNtXdYsZ) 导出到区域群集节点,就像对其他标记的非全局区域通常所做的那样。

    此类设备不会受 clzonecluster 命令的控制,而是会视为节点的本地设备。有关将原始磁盘设备导出到非全局区域的更多信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的“如何使用 zonecfg 导入原始设备和块设备”