When you need to migrate one or more zones needs to another system, consider using the zfs send and zfs receive commands. Depending on the scenario, it may be best to use a replication streams or recursive streams.
The examples in this section describe how to copy zone data between systems. Additional steps are required to transfer each zone's configuration and attach each zone to the new system. For more information, see Creating and Using Oracle Solaris Zones .
If all zones on one system need to move to another system, consider using a replication stream because it preserves snapshots and clones. Snapshots and clones are used extensively by pkg update, beadm create, and the zoneadm clone commands.
In the following example, the sysA's zones are installed in the rpool/zones file system and they need to be copied to the tank/zones file system on sys. The following commands create a snapshot and copy the data to sysB by using a replication stream:
sysA# zfs snapshot -r rpool/zones@send-to-sysB sysA# zfs send -R rpool/zones@send-to-sysB | ssh sysB zfs receive -d tank
In the following example, one of several zones is copied from sysC to the sysD. Assume that the ssh command is not available but an NFS server instance is available. The following commands might be used to generate a recursive zfs send stream without worrying about whether the zone is a clone of another zone.
sysC# zfs snapshot -r rpool/zones/zone1@send-to-nfs sysC# zfs send -rc rpool/zones/zone1@send-to-nfs > /net/nfssrv/export/scratch/zone1.zfs sysD# zfs create tank/zones sysD# zfs receive -d tank/zones < /net/nfssrv/export/scratch/zone1.zfs