Before a physical system can be migrated, any existing non-global zones on the system must be archived and moved into zones on the new target system first.
How to Migrate an Existing native Non-Global Zone
Use the V2V process to migrate an existing zone on your Solaris 10 system to a solaris10 brand zone on a system running the Oracle Solaris 11 release.
Print the existing zone’s configuration. You will need this information to recreate the zone on the destination system:
source# zonecfg -z my-zone info zonename: my-zone zonepath: /zones/my-zone brand: native autoboot: false bootargs: pool: limitpriv: scheduling-class: ip-type: shared hostid: 1337833f inherit-pkg-dir: dir: /lib inherit-pkg-dir: dir: /platform inherit-pkg-dir: dir: /sbin inherit-pkg-dir: dir: /usr net: address: 192.168.0.90 physical: bge0
Halt the zone:
source# zoneadm -z my-zone halt
You should not archive a running zone since the application or system data within the zone might be captured in an inconsistent state.
(Optional) If the zone is a sparse root zone that has inherit-pkg-dir settings, then first ready the zone so that the inherited directories will be archived:
source# zoneadm -s myzone ready
Archive the zone with the zonepath /zones/my-zone.
Create a gzip compressed cpio archive named my-zone.cpio.gz for the zone, which will still be named my-zone on the target system:
source# cd /zones source# find my-zone -print | cpio -oP@ | gzip >/zones/my-zone.cpio.gz Create the archive from within the zonepath if you intend to rename the zone on the target system: source# cd /zones/my-zone source# find root -print | cpio -oP@ | gzip >/zones/my-zone.cpio.gz
Transfer the archive to the target Oracle Solaris 11 system, using any file transfer mechanism to copy the file, such as:
- The sftp command described in the sftp(1) man page
- NFS mounts
- Any other file transfer mechanism to copy the file.
On the target system, recreate the zone.
target# zonecfg -z my-zone my-zone: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:my-zone> create -t SYSsolaris10 zonecfg:my-zone> set zonepath=/zones/my-zone ...
Note – The zone’s brand must be solaris10 and the zone cannot use any inherit-pkg-dir settings, even if the original zone was configured as a sparse root zone. See Part II, Oracle Solaris Zones for information on inherit-pkg-dir resources.
If the destination system has different hardware, different network interfaces, or other devices or file systems that must be configured on the zone, you must update the zone’s configuration. See Chapter 16, Non-Global Zone Configuration (Overview) Chapter 17, Planning and Configuring Non-Global Zones (Tasks), and About Migrating a Zone.
Display the zone’s configuration:
target# zonecfg -z my-zone info zonename: my-zone zonepath: /zones/my-zone brand: solaris10 autoboot: false bootargs: pool: limitpriv: scheduling-class: ip-type: shared hostid: 1337833f net: address: 192.168.0.90 physical: bge0
Attach the zone from the archive that was created on the source system, with the archive transferred into the /zones directory on the destination system:
target# zoneadm -z my-zone attach -a /zones/my-zone.cpio.gz
Once the zone installation has completed successfully, the zone is ready to boot.
You can save the zone’s archive for possible later use, or remove it from the system.
To remove the archive from the destination system:
target# rm /zones/myzone.cpio.gz