跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理 Oracle Solaris 11 Information Library (简体中文) |
19. 安装、引导、关闭、停止、卸载和克隆非全局区域(任务)
23. 迁移 Oracle Solaris 系统和迁移非全局区域(任务)
关于将 Oracle Solaris 11 系统迁移到 solaris 非全局区域
24. 关于安装了区域的 Oracle Solaris 11 系统上的自动安装和软件包
25. Oracle Solaris Zones 管理(概述)
26. 管理 Oracle Solaris Zones(任务)
28. 各种 Oracle Solaris Zones 问题的故障排除
29. Oracle Solaris 10 Zones 介绍
30. 评估 Oracle Solaris 10 系统和创建归档文件
31. (可选)将 Oracle Solaris 10 native 非全局区域迁移到 Oracle Solaris 10 Zones
zonecfg 和 zoneadm 命令可用于将现有非全局区域从一个系统迁移到另一个系统。需要停止区域并使其与当前主机分离。zonepath 将移动到它所附加的目标主机。
区域迁移需要满足以下要求:
迁移前,必须删除源系统上的所有非活动 BE。
目标系统上的全局区域所运行的 Oracle Solaris 11 发行版必须与原始源主机上运行的相同。
为确保区域可以正常运行,目标系统上安装的必需的操作系统软件包必须与原始源主机上安装的软件包相同或版本更高。
其他软件包(如用于第三方产品的软件包)可以有所不同。
如果新主机具有依赖于区域的软件包的更高版本,将 zoneadm attach 与 -u 或 -U 选项结合使用,更新区域内的这些软件包,使其与新主机匹配。对附加软件的更新可查看将要迁移的区域,并确定必须更新哪些软件包以匹配新主机。仅更新那些软件包。其余的软件包可以因区域而有所不同。任何在该区域内安装但未在全局区域中安装的软件包均将被忽略并保留原样。
zoneadm detach 进程用于创建在其他系统上附加区域所需的信息。zoneadm attach 进程用于检验目标计算机是否具有托管区域所需的正确配置。
由于可以通过多种方式来使 zonepath 在新主机上可用,因此 zonepath 从一个系统到另一个系统的实际移动是由全局管理员执行的手动进程。
在附加到新系统时,区域处于已安装状态。
您必须是全局管理员或在全局区域中具有相应授权的用户才能执行此过程。
本例介绍如何创建区域的归档文件,然后将该归档文件附加到另外一个系统。假定源和目标主机上的管理员能够访问共享 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/nserver/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 管理: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.
zonecfg:my-zone> create -a /zones/my-zone
zonecfg:my-zone> info zonename: my-zone zonepath: /zones/my-zone autoboot: false pool: net: address: 192.168.0.90 physical: bge0
例如,新主机上的网络物理设备有所不同,或者属于配置组成部分的设备在新主机上可能具有不同的名称。
zonecfg:my-zone> select net physical=bge0 zonecfg:my-zone:net> set physical=e1000g0 zonecfg:my-zone:net> end
zonecfg:my-zone> commit zonecfg:my-zone> exit
host2# zoneadm -z my-zone attach -a /net/server/zonearchives/my-zone/my-zone.zfs.gz
host2# zoneadm -z my-zone attach -u -a /net/server/zonearchives/my-zone/my-zone.zfs.gz
host2# zoneadm -z my-zone attach -U -a /net/server/zonearchives/my-zone/my-zone.zfs.gz
创建 zonepath 的归档的方法有很多种。例如,可以使用 cpio(1)、pax(1) 和 zfs(1M) 手册页中所述的 zfs send、cpio 或 pax 命令。
将归档传送至新主机的方法也有很多种。用于将 zonepath 从源主机传送到目标主机的机制取决于本地配置。在某些情况下(如 SAN),zonepath 数据实际上可能未移动。只需对 SAN 进行重新配置,便可在新主机上显示 zonepath。在其他情况下,可能要将 zonepath 写入磁带,再将磁带邮寄至新站点。
由于上述原因,此步骤不能自动执行。系统管理员必须选择最合适的方法来将 zonepath 移动到新主机。
示例 23-1 使用 tar 命令归档和移动 zonepath,然后附加区域
在 host1 上创建 zonepath 的 tar 文件,并使用 sftp 命令将其传送到 host2。
host1# cd /zones host1# tar cf my-zone.tar my-zone host1# sftp host2 Connecting to host2... Password: sftp> cd /zones sftp> put my-zone.tar Uploading my-zone.tar to /zones/my-zone.tar sftp> quit
在 host2 上,附加区域:
host2# zoneadm -z my-zone attach -a /zones/my-zone.tar -u
示例 23-2 使用 cpio 归档 zonepath,然后使用 gzip 压缩归档文件
这是示例 23-1 中所示的使用 tar 命令的备选方法。
host1# zoneadm -z my-zone halt host1# find my-zone -print | cpio -oP@/ | gzip > my-zone.cpio.gz
接下来的步骤
如果已使用 -a 选项而未重新配置 SAN,则即使该区域现在处于已配置状态,zonepath 数据在源主机上也仍然可见。您可以在将数据移动到新主机后从源主机上手动删除 zonepath,也可以将该区域重新附加到源主机,并使用 zoneadm uninstall 命令删除 zonepath。