System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones

Cloning an lx Branded Zone on the Same System

Cloning is used to provision a new zone on a system by copying the data from a source zonepath to a target zonepath.

ProcedureHow to Clone an lx Branded Zone

You must configure the new zone before you can install it. The parameter passed to the zoneadm create subcommand is the name of the zone to clone. This source zone must be halted.

You must be the global administrator in the global zone to perform this procedure.

  1. Become superuser, or assume the Primary Administrator role.

    To create the role and assign the role to a user, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Halt the source zone to be cloned, which is lx-zone in this procedure.


    global# zoneadm -z lx-zone halt
    
  3. Start configuring the new zone by exporting the configuration of the source zone lx-zone to a file, for example, master.


    global# zonecfg -z lx-zone export -f /export/zones/master
    

    Note –

    You can also create the new zone configuration using the procedure How to Configure the Zone instead of modifying an existing configuration. If you use this method, skip ahead to Step 6 after you create the zone.


  4. Edit the file master. At a minimum, you must set a different zonepath and IP address for the new zone.

  5. Create the new zone, zone1, by using the commands in the file master.


    global# zonecfg -z zone1 -f /export/zones/master
    
  6. Install the new zone, zone1, by cloning lx-zone.


    global# zoneadm -z zone1 clone lx-zone
    

    The system displays:


    Cloning zonepath /export/home/lx-zone...
  7. List the zones on the system.


    global# zoneadm list -iv
      ID  NAME          STATUS          PATH                   BRAND      IP
       0  global        running         /                      native     shared
       -  lx-zone       installed       /export/home/lx-zone   lx         shared
       -  zone1         installed       /export/home/zone1     lx         shared          

ProcedureHow to Clone a Zone from an Existing Snapshot

You can clone a source zone multiple times from an existing snapshot that was originally taken when you cloned a zone.

You must be the global administrator in the global zone to perform this procedure.

  1. Become superuser, or assume the Primary Administrator role.

    To create the role and assign the role to a user, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Configure the zone zone2.

  3. Specify that an existing snapshot be used to create new-zone2.


    global# zoneadm -z zone2 clone -s zeepool/zones/lx-zone@SUNWzone1 lx-zone
    

    The system displays:


    Cloning snapshot zeepool/zones/lx-zone@SUNWzone1

    The zoneadm command validates the software from the snapshot SUNWzone1, and clones the snapshot.

  4. List the zones on the system.


    global# zoneadm list -iv
      ID NAME             STATUS         PATH                    BRAND      IP
       0 global           running        /                       native     shared
       - lx-zone          installed      /zeepool/zones/lx-zone  lx         shared
       - zone1            installed      /zeepool/zones/zone1    lx         shared
       - zone2            installed      /zeepool/zones/zone1    lx         shared

ProcedureHow to Use Copy Instead of ZFS Clone

Use this procedure to prevent the automatic cloning of a zone on a ZFS file system by specifying that the zonepath should be copied instead.

You must be the global administrator in the global zone to perform this procedure.

  1. Become superuser, or assume the Primary Administrator role.

    To create the role and assign the role to a user, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Specify that the zonepath on ZFS be copied and not ZFS cloned.


    global# zoneadm -z zone1 clone -m copy lx-zone