Sun Cluster Software Installation Guide for Solaris OS

Configuring a Zone Cluster

This section provide procedures to configure a cluster of non-global zones.

Overview of the clzonecluster Utility

The clzonecluster utility creates, modifies, and removes a zone cluster. The clzonecluster utility actively manages a zone cluster. For example, the clzonecluster utility both boots and halts a zone cluster. Progress messages for the clzonecluster utility are output to the console, but are not saved in a log file.

The utility operates in the following levels of scope, similar to the zonecfg utility:

Establishing the Zone Cluster

This section describes how to configure a cluster of non-global zones.

ProcedureHow to Create a Zone Cluster

Perform this procedure to create a cluster of non-global zones.

Before You Begin
  1. Become superuser on an active member node of a global cluster.


    Note –

    Perform all steps of this procedure from a node of the global cluster.


  2. Ensure that the node of the global cluster is in cluster mode.

    If any node is in noncluster mode, changes that you make are propagated when the node returns to cluster mode. Therefore, you can create a zone cluster even if some global-cluster nodes are in noncluster mode. When those nodes return to cluster mode, the system performs zone-cluster creation tasks on those nodes.


    phys-schost# clnode status
    === Cluster Nodes ===
    
    --- Node Status ---
    
    Node Name                                       Status
    ---------                                       ------
    phys-schost-2                                   Online
    phys-schost-1                                   Online
  3. Create the zone cluster.


    Note –

    By default, sparse root zones are created. To create whole root zones, add the -b option to the create command.



    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. (Optional) Add one or more additional nodes to the zone cluster,


    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 the zone cluster configuration.

    The verify subcommand checks for the availability of the specified resources. If the clzonecluster verify command succeeds, there is no output.


    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. Install and boot the cluster.


    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"...

Example 7–2 Configuration File to Create a Zone Cluster

The following example shows the contents of a command file that can be used with the clzonecluster utility to create a zone cluster. The file contains the series of clzonecluster commands that you would input manually.

In the following configuration, the zone cluster sczone is created on the global-cluster node phys-schost-1. The zone cluster uses /zones/sczone as the zone path and public IP address 172.16.2.2. The first node of the zone cluster is assigned the hostname zc-host-1 and uses the network address 172.16.0.1 and the bge0 adapter. The second node of the zone cluster is created on the global-cluster node phys-schost-2. This second zone-cluster node is assigned the hostname zc-host-2 and uses the network address 172.16.0.2 and the bge1 adapter.

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


Example 7–3 Creating a Zone Cluster by Using a Configuration File.

The following example shows the commands to create the new zone cluster sczone on the global-cluster node phys-schost-1 by using the configuration file sczone-config. The hostnames of the zone-cluster nodes are zc-host-1 and 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

Next Steps

To add the use of a file system to the zone cluster, go to Adding File Systems to a Zone Cluster.

To add the use of global storage devices to the zone cluster, go to Adding Storage Devices to a Zone Cluster.

Adding File Systems to a Zone Cluster

This section provides procedures to add file systems for use by the zone cluster.

After a file system is added to a zone cluster and brought online, the file system is authorized for use from within that zone cluster. To mount the file system for use, configure the file system by using cluster resources such as SUNW.HAStoragePlus or SUNW.ScalMountPoint.


Note –

You cannot use the clzonecluster command to add a local file system, which is mounted on a single global-cluster node, to a zone cluster. Instead, use the zonecfg command as you normally would in a stand-alone system. The local file system would not be under cluster control.

You cannot add a cluster file system to a zone cluster.


The following procedures are in this section:

In addition, to configure a ZFS storage pool to be highly available in a zone cluster, see How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS Highly Available in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.

ProcedureHow to Add a Local File System to a Zone Cluster

Perform this procedure to add a local file system on the global cluster for use by the zone cluster.


Note –

To add a ZFS pool to a zone cluster, instead perform procedures in How to Add a ZFS Storage Pool to a Zone Cluster.

Alternatively, to configure a ZFS storage pool to be highly available in a zone cluster, see How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS Highly Available in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.


  1. Become superuser on a node of the global cluster that hosts the zone cluster.


    Note –

    Perform all steps of the procedure from a node of the global cluster.


  2. On the global cluster, create a file system that you want to use in the zone cluster.

    Ensure that the file system is created on shared disks.

  3. On each node of the global cluster that hosts a zone-cluster node, add an entry to the /etc/vfstab file for the file system that you want to mount on the zone cluster.


    phys-schost# vi /etc/vfstab
    
  4. Add the file system to the zone-cluster configuration.


    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

    Specifies the file system mount point

    special=disk-device-name

    Specifies the name of the disk device

    raw=raw-disk-device-name

    Specifies the name of the raw disk device

    type=FS-type

    Specifies the type of file system

  5. Verify the addition of the file system.


    phys-schost# clzonecluster show -v zoneclustername
    

Example 7–4 Adding a Local File System to a Zone Cluster

This example adds the local file system /global/oracle/d1 for use by the sczone zone cluster.


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

Next Steps

Configure the file system to be highly available by using an HAStoragePlus resource. The HAStoragePlus resource manages the mounting of the file system on the zone-cluster node that currently host the applications that are configured to use the file system. See Enabling Highly Available Local File Systems in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.

ProcedureHow to Add a ZFS Storage Pool to a Zone Cluster

Perform this procedure to add a ZFS storage pool for use by a zone cluster.


Note –

To configure a ZFS storage pool to be highly available in a zone cluster, see How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS Highly Available in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.


  1. Become superuser on a node of the global cluster that hosts the zone cluster.


    Note –

    Perform all steps of this procedure from a node of the global zone.


  2. Create the ZFS storage pool on the global cluster.


    Note –

    Ensure that the pool is connected on shared disks that are connected to all nodes of the zone cluster.


    See Solaris ZFS Administration Guide for procedures to create a ZFS pool.

  3. Add the pool to the zone-cluster configuration.


    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. Verify the addition of the file system.


    phys-schost# clzonecluster show -v zoneclustername
    

Example 7–5 Adding a ZFS Storage Pool to a Zone Cluster

The following example shows the ZFS storage pool zpool1 added to the zone cluster 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
…

Next Steps

Configure the ZFS storage pool to be highly available by using an HAStoragePlus resource. The HAStoragePlus resource manages the mounting of the file systems that are in the pool on the zone-cluster node that currently host the applications that are configured to use the file system. See Enabling Highly Available Local File Systems in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.

ProcedureHow to Add a QFS Shared File System to a Zone Cluster

Perform this procedure to add a Sun QFS shared file system for use by a zone cluster.


Note –

At this time, QFS shared file systems are only supported for use in clusters that are configured with Oracle Real Application Clusters (RAC). On clusters that are not configured with Oracle RAC, you can use a single-machine QFS file system that is configured as a highly available local file system.


  1. Become superuser on a voting node of the global cluster that hosts the zone cluster.


    Note –

    Perform all steps of this procedure from a voting node of the global cluster.


  2. On the global cluster, configure the QFS shared file system that you want to use in the zone cluster.

    Follow procedures for shared file systems in Configuring Sun QFS File Systems With Sun Cluster.

  3. On each node of the global cluster that hosts a zone-cluster node, add an entry to the /etc/vfstab file for the file system that you want to mount on the zone cluster.


    phys-schost# vi /etc/vfstab
    
  4. Add the file system to the zone cluster configuration.


    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. Verify the addition of the file system.


    phys-schost# clzonecluster show -v zoneclustername
    

Example 7–6 Adding a QFS Shared File System to a Zone Cluster

The following example shows the QFS shared file system Data-cz1 added to the zone cluster sczone. From the global cluster, the mount point of the file system is /zones/sczone/root/db_qfs/Data1, where /zones/sczone/root/ is the zone's root path. From the zone-cluster node, the mount point of the file system is /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:                                   []
…

Adding Storage Devices to a Zone Cluster

This section describes how to add the direct use of global storage devices by a zone cluster. Global devices are devices that can be accessed by more than one node in the cluster, either one node at a time or multiple nodes concurrently.

After a device is added to a zone cluster, the device is visible only from within that zone cluster.

This section contains the following procedures:

ProcedureHow to Add an Individual Metadevice to a Zone Cluster (Solaris Volume Manager)

Perform this procedure to add an individual metadevice of a Solaris Volume Manager disk set to a zone cluster.

  1. Become superuser on a node of the global cluster that hosts the zone cluster.

    You perform all steps of this procedure from a node of the global cluster.

  2. Identify the disk set that contains the metadevice to add to the zone cluster and determine whether it is online.


    phys-schost# cldevicegroup status
    
  3. If the disk set that you are adding is not online, bring it online.


    phys-schost# cldevicegroup online diskset
    
  4. Determine the set number that corresponds to the disk set to add.


    phys-schost# ls -l /dev/md/diskset
    lrwxrwxrwx  1 root root  8 Jul 22 23:11 /dev/md/diskset -> shared/setnumber 
    
  5. Add the metadevice for use by the zone cluster.

    You must use a separate add device session for each set match= entry.


    Note –

    An asterisk (*) is used as a wildcard character in the path name.



    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

    Specifies the full logical device path of the metadevice

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

    Specifies the full physical device path of the disk set number

  6. Reboot the zone cluster.

    The change becomes effective after the zone cluster reboots.


    phys-schost# clzonecluster reboot zoneclustername
    

Example 7–7 Adding a Metadevice to a Zone Cluster

The following example adds the metadevice d1 in the disk set oraset to the sczone zone cluster. The set number of the disk set is 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

ProcedureHow to Add a Disk Set to a Zone Cluster (Solaris Volume Manager)

Perform this procedure to add an entire Solaris Volume Manager disk set to a zone cluster.

  1. Become superuser on a node of the global cluster that hosts the zone cluster.

    You perform all steps of this procedure from a node of the global cluster.

  2. Identify the disk set to add to the zone cluster and determine whether it is online.


    phys-schost# cldevicegroup status
    
  3. If the disk set that you are adding is not online, bring it online.


    phys-schost# cldevicegroup online diskset
    
  4. Determine the set number that corresponds to the disk set to add.


    phys-schost# ls -l /dev/md/diskset
    lrwxrwxrwx  1 root root  8 Jul 22 23:11 /dev/md/diskset -> shared/setnumber 
    
  5. Add the disk set for use by the zone cluster.

    You must use a separate add device session for each set match= entry.


    Note –

    An asterisk (*) is used as a wildcard character in the path name.



    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/*

    Specifies the full logical device path of the disk set

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

    Specifies the full physical device path of the disk set number

  6. Reboot the zone cluster.

    The change becomes effective after the zone cluster reboots.


    phys-schost# clzonecluster reboot zoneclustername
    

Example 7–8 Adding a Disk Set to a Zone Cluster

The following example adds the disk set oraset to the sczone zone cluster. The set number of the disk set is 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

ProcedureHow to Add a DID Device to a Zone Cluster

Perform this procedure to add a DID device to a zone cluster.

  1. Become superuser on a node of the global cluster that hosts the zone cluster.

    You perform all steps of this procedure from a node of the global cluster.

  2. Identify the DID device to add to the zone cluster.

    The device you add must be connected to all nodes of the zone cluster.


    phys-schost# cldevice list -v
    
  3. Add the DID device for use by the zone cluster.


    Note –

    An asterisk (*) is used as a wildcard character in the path name.



    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*

    Specifies the full device path of the DID device

  4. Reboot the zone cluster.

    The change becomes effective after the zone cluster reboots.


    phys-schost# clzonecluster reboot zoneclustername
    

Example 7–9 Adding a DID Device to a Zone Cluster

The following example adds the DID device d10 to the sczone zone cluster.


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

ProcedureHow to Add a Raw-Disk Device to a Zone Cluster

  1. Use the zonecfg command to export raw-disk devices (cNtXdYsZ) to a zone-cluster node, as you normally would for other brands of non-global zones.

    Such devices would not be under the control of the clzonecluster command, but would be treated as local devices of the node. See How to Import Raw and Block Devices by Using zonecfg in System Administration Guide: Solaris Containers-Resource Management and Solaris Zonesfor more information about exporting raw-disk devices to a non-global zone.