您必须是全局管理员或在全局区域中具有相应授权的用户才能执行此过程。
本例介绍如何创建区域的归档文件,然后将该归档文件附加到另外一个系统。假定源和目标主机上的管理员能够访问共享 NFS 服务器进行临时文件存储。如果共享的临时空间不可用,可使用其他方式(如 scp 安全复制,一个远程文件复制程序)在源和目标计算机之间复制文件。如果需要提供口令或口令短语进行验证,scp 程序会请您提供口令或口令短语。
host1# zoneadm -z my-zone shutdown
host1# zoneadm -z my-zone detach
分离的区域现在处于已配置状态。下次引导全局区域时,该区域将不会自动引导。
host1# mkdir /net/server/zonearchives/my-zone host1# zonecfg -z my-zone export > /net/server/zonearchives/my-zone/my-zone.zonecfg
host1# zfs list -H -o name /zones/my-zone rpool/zones/my-zone host1# zfs snapshot -r rpool/zones/my-zone@v2v host1# zfs send -rc rpool/zones/my-zone@v2v | gzip > /net/server/zonearchives/my-zone/my-zone.zfs.gz
您可以选择使用压缩功能,这样通常会更快一些,因为在写入及后续读取归档文件期间,占用的 I/O 较少。有关更多信息,请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 。
host2# zonecfg -z my-zone -f /net/server/zonearchives/my-zone/my-zone.zonecfg
将显示以下系统消息:
my-zone: No such zone configured Use 'create' to begin configuring a new zone.
host2# zonecfg:my-zone> info zonename: my-zone zonepath: /zones/my-zone autoboot: false pool: net: address: 192.168.0.90 physical: net0
例如,新主机上的网络物理设备有所不同,或者属于配置组成部分的设备在新主机上可能具有不同的名称。
host2# zonecfg -z my-zone zonecfg:my-zone> select net physical=net0 zonecfg:my-zone:net> set physical=net100 zonecfg:my-zone:net> end
zonecfg:my-zone> commit zonecfg:my-zone> exit
host2# zoneadm -z my-zone install -p -a /net/server/zonearchives/my-zone/my-zone.zfs.gz
在此发行版中,您也可以对区域执行 attach,执行保证附加成功所必需的最小更新。如果允许更新,则会在执行 zoneadm attach 期间刷新发布者的目录。
host2# zoneadm -z my-zone attach -u -a /net/server/zonearchives/my-zone/my-zone.zfs.gz
host2# zoneadm -z my-zone install -U -p -a /net/server/zonearchives/my-zone/my-zone.zfs.gz
在此发行版中,您也可以对区域执行 attach,将区域中的所有软件更新到与全局区域相兼容的最新版本。
host2# zoneadm -z my-zone install -U -a /net/server/zonearchives/my-zone/my-zone.zfs.gz
host2# zoneadm -z my-zone attach -a /net/server/zonearchives/my-zone/my-zone.zfs.gz
故障排除
如果存储对象包含预先存在的分区、zpool 或 UFS 文件系统,则 install 会失败并显示错误消息。要继续安装和覆盖所有预先存在的数据,请使用 zoneadm install 的相应 –x 选项。