Cloning a Non-Global 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.
When the source zonepath and the target zonepath both reside on ZFS
and are in the same pool, the zoneadm clone command automatically uses
ZFS to clone the zone. However, you can specify that the ZFS zonepath
be copied and not ZFS cloned.
How to Clone a 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.
- 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.
- Halt the source zone to be cloned, which is my-zone in this procedure.
global# zoneadm -z my-zone halt
- Start configuring the new zone by exporting the configuration of the source zone
my-zone to a file, for example, master.
global# zonecfg -z my-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.
- Edit the file master. Set different properties and resources for the components that
cannot be identical for different zones. For example, you must set a new
zonepath. For a shared-IP zone, the IP addresses in any net resources must
be changed. For an exclusive-IP zone, the physical property of any net resources
must be changed.
- Create the new zone, zone1, by using the commands in the file master.
global# zonecfg -z zone1 -f /export/zones/master
- Install the new zone, zone1, by cloning my-zone.
global# zoneadm -z zone1 clone my-zone
The system displays:
Cloning zonepath /export/home/my-zone...
If the source zonepath is on a ZFS pool, for example, zeepool,
the system displays:
Cloning snapshot zeepool/zones/my-zone@SUNWzone1
Instead of copying, a ZFS clone has been created for this zone.
- List the zones on the system.
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- my-zone installed /export/home/my-zone native shared
- zone1 installed /export/home/zone1 native shared
More Information
When a Source
zonepath on a ZFS File System Is Cloned
When the zoneadm command clones a source zonepath that is on its
own ZFS file system, the following actions are performed:
The zoneadm command takes a software inventory.
The zoneadm command takes a ZFS snapshot and names it SUNWzoneX, for example, SUNWzone1.
The zoneadm command uses ZFS clone to clone the snapshot.
How 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.
- 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.
- Configure the zone zone2.
- Specify that an existing snapshot be used to create new-zone2.
global# zoneadm -z zone2 clone -s zeepool/zones/my-zone@SUNWzone1 my-zone
The system displays:
Cloning snapshot zeepool/zones/my-zone@SUNWzone1
The zoneadm command validates the software from the snapshot SUNWzone1, and clones the snapshot.
- List the zones on the system.
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- my-zone installed /zeepool/zones/my-zone native shared
- zone1 installed /zeepool/zones/zone1 native shared
- zone2 installed /zeepool/zones/zone2 native shared
How 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.
- 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.
- Specify that the zonepath on ZFS be copied and not ZFS cloned.
global# zoneadm -z zone1 clone -m copy my-zone