本章介绍如何安装和引导非全局区域,并提供了使用克隆在同一系统上安装区域的方法。此外,还介绍了与安装相关的其他任务(例如停止、重新引导和卸载区域),同时提供了从系统中完全删除区域的过程。
有关区域安装和相关操作的常规信息,请参见第 19 章。
有关 lx 标记区域安装和克隆的信息,请参见第 34 章和第 35 章。
任务 |
说明 |
参考 |
---|---|---|
(可选)在安装区域之前检验已配置的区域。 |
确保区域满足安装要求。如果您跳过此过程,则会在安装区域时自动执行检验。 | |
安装已配置的区域。 |
安装处于已配置状态的区域。 | |
Solaris 8/07: 获取区域的通用唯一标识符 (universally unique identifier, UUID)。 |
在安装区域时指定的这个单独的标识符是标识区域的另一种方法。 | |
(可选)将已安装的区域转换为就绪状态。 |
如果您要引导区域并立即使用,则可以跳过此过程。 | |
引导区域。 |
引导区域时会将此区域置于运行状态。既可以从就绪状态引导区域,也可以从已安装状态引导区域。请注意,首次在引导后登录到区域时,必须执行内部区域配置。 | |
在单用户模式下引导区域。 |
仅引导至里程碑 svc:/milestone/single-user:default。此里程碑相当于 init 级别 s。请参见 init(1M) 和 svc.startd(1M) 手册页。 |
使用 zoneadm(1M) 手册页中所述的 zoneadm 命令可以为非全局区域执行安装任务。要执行区域安装,您必须是全局管理员。本章中的示例使用在配置、检验并提交区域中建立的区域名称和区域路径。
可以在安装区域之前对其进行检验。如果您跳过此过程,则会在安装区域时自动执行检验。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
使用 -z 选项、区域名称和 verify 子命令检验名为 my-zone 的已配置区域。
global# zoneadm -z my-zone verify |
将显示以下有关区域路径检验的消息:
Warning: /export/home/my-zone does not exist, so it cannot be verified. When 'zoneadm install' is run, 'install' will try to create /export/home1/my-zone, and 'verify' will be tried again, but the 'verify' may fail if: the parent directory of /export/home/my-zone is group- or other-writable or /export/home1/my-zone overlaps with any other installed zones. |
但是,如果显示错误消息并且无法检验区域,请执行消息中指定的更正操作,并再次尝试执行此命令。
如果未显示错误消息,则可以安装区域。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
使用带有 -z install 选项的 zoneadm 命令安装已配置的区域 my-zone。
global# zoneadm -z my-zone install |
当区域的根文件系统所需的文件和目录安装在区域的根路径下时,您将看到各种消息。
(可选)如果显示错误消息并且无法安装区域,请键入以下命令来获取区域状态:
global# zoneadm -z my-zone list -v |
如果显示为已配置状态,请执行消息中指定的更正操作,并再次尝试执行 zoneadm install 命令。
如果显示为未完成状态,请首先执行以下命令:
global# zoneadm -z my-zone uninstall |
然后执行消息中指定的更正操作,并再次尝试执行 zoneadm install 命令。
当安装完成时,使用带有 -i 和 -v 选项的 list 子命令来列出已安装的区域并检验状态。
global# zoneadm list -iv |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
如果区域安装中断或失败,则此区域会处于未完成状态。请使用 uninstall -F 将此区域重置为已配置状态。
缺省情况下,此区域安装时使用了《系统管理指南:基本管理》中的第 19 章 “管理服务(任务)”中介绍的开放式网络配置。在登录到该区域后,可以切换到开放式网络配置,或者启用或禁用个别服务。有关详细信息,请参见将非全局区域切换到其他网络服务配置。
安装区域时,会为其指定一个通用唯一标识符 (universally unique identifier, UUID)。通过将 zoneadm 与 list 子命令和 -p 选项一起使用,可以获取 UUID。UUID 是显示的第五个字段。
查看已安装区域的 UUID。
global# zoneadm list -p |
将显示以下类似信息:
0:global:running:/: 6:my-zone:running:/export/home/my-zone:61901255-35cf-40d6-d501-f37dc84eb504 |
global# zoneadm -z my-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v |
如果 -u uuid-match 和 -z zonename 都存在,则先根据 UUID 执行匹配。如果找到具有指定 UUID 的区域,则使用该区域并忽略 -z 参数。如果找不到具有指定 UUID 的区域,则系统将按区域名称进行搜索。
可以卸载区域,然后以相同的名称重新安装,但内容不同。也可以对区域进行重命名,而不更改内容。由于以上原因,UUID 比区域名称更可靠。
有关更多信息,请参见 zoneadm(1M) 和 libuuid(3LIB)。
如果对系统的管理性更改导致区域不可用或不一致,则可以将已安装区域的状态更改为未完成。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
将区域 testzone 标记为未完成。
global# zoneadm -z testzone mark incomplete |
使用带有 -i 选项和 -v 选项的 list 子命令检验状态。
global# zoneadm list -iv |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared - testzone incomplete /export/home/testzone native shared |
-R root 选项可以与 zoneadm 的 mark 和 list 子命令结合使用以指定备用引导环境。有关更多信息,请参见 zoneadm(1M)。
将区域标记为未完成的操作是无法恢复的。可对标记为未完成的区域执行的唯一操作是卸载该区域,使其返回已配置状态。请参见如何卸载区域。
转换为就绪状态可使虚拟平台做好开始运行用户进程的准备。处于就绪状态的区域中没有执行任何用户进程。
如果您要引导区域并立即使用,则可以跳过此过程。引导区域时便会自动从就绪状态进行转换。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
使用带有 -z 选项、区域名称 my-zone 以及 ready 子命令的 zoneadm 命令将区域转换为就绪状态。
global# zoneadm -z my-zone ready |
在提示符下,使用带有 -v 选项的 zoneadm list 命令来检验状态。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone ready /export/home/my-zone native shared |
请注意,系统已指定唯一的区域 ID 1。
引导区域会将该区域置于运行状态。既可以从就绪状态引导区域,也可以从已安装状态引导区域。处于已安装状态的区域经透明引导,会从就绪状态转换为正在运行状态。允许登录到处于正在运行状态下的区域。
请注意,首次登录到区域时,即会执行内部区域配置。这在内部区域配置中介绍。
如果您打算使用 /etc/sysidcfg 文件来执行初始区域配置(如如何使用 /etc/sysidcfg 文件执行初始区域配置中所述),请创建 sysidcfg 文件并将其放入区域的 /etc 目录中,然后再引导区域。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
使用带有 -z 选项、区域名称 my-zone 以及 boot 子命令的 zoneadm 命令引导区域。
global# zoneadm -z my-zone boot |
当引导完成时,使用带有 -v 选项的 list 子命令来检验状态。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone running /export/home/my-zone native shared |
global# zoneadm -z my-zone boot -- -m verbose |
使用 -m verbose 引导选项重新引导区域:
global# zoneadm -z my-zone reboot -- -m verbose |
区域管理员使用 -m verbose 选项重新引导区域 my-zone:
my-zone# reboot -- -m verbose |
如果显示一条消息,指出系统找不到要用于在区域配置中指定的 IP 地址的网络掩码,请参见引导区域时显示 netmasks 警告。请注意,此消息只是警告,而命令已成功执行。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
在单用户模式下引导区域。
global# zoneadm -z my-zone boot -s |
有关如何登录到区域并执行初始内部配置,请参见第 21 章和第 22 章。
任务 |
说明 |
参考 |
---|---|---|
停止区域。 |
停止过程用于删除区域的应用程序环境和虚拟平台。此过程可将区域从就绪状态返回到已安装状态。有关如何干净地关闭区域,请参见如何使用 zlogin 关闭区域。 | |
重新引导区域。 |
重新引导过程会停止区域,然后再次引导它。 | |
卸载区域。 |
删除区域根文件系统中的所有文件。请慎重使用本过程。此操作无法撤消。 | |
根据同一系统中某个现有区域的配置置备新的非全局区域。 |
克隆区域是安装区域的另外一种更快速的方法。在安装新区域之前,仍然需要先对其进行配置。 | |
从系统中删除非全局区域。 |
此过程将从系统中完全删除区域。 |
停止过程用于删除区域的应用程序环境和虚拟平台。有关如何干净地关闭区域,请参见如何使用 zlogin 关闭区域。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
列出系统上正在运行的区域。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone running /export/home/my-zone native shared |
使用带有 -z 选项、区域名称(例如 my-zone)以及 halt 子命令的 zoneadm 命令停止给定区域。
global# zoneadm -z my-zone halt |
再次列出系统上的区域来检验是否已停止 my-zone。
global# zoneadm list -iv |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
如果您要重新启动区域,请引导它。
global# zoneadm -z my-zone boot |
停止操作失败时,请参见区域无法停止以获得疑难解答提示。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
列出系统上正在运行的区域。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 my-zone running /export/home/my-zone native shared |
使用带有 -z reboot 选项的 zoneadm 命令来重新引导区域 my-zone。
global# zoneadm -z my-zone reboot |
再次列出系统上的区域来检验是否已重新引导 my-zone。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 my-zone running /export/home/my-zone native shared |
请注意,my-zone 的区域 ID 已更改。区域 ID 通常会在重新引导后更改。
使用此过程时应谨慎。删除区域根文件系统中的所有文件的操作是无法恢复的。
区域不能处于正在运行状态。uninstall 操作对于正在运行的区域无效。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
列出系统上的区域。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
使用带有 -z uninstall 选项的 zoneadm 命令来删除区域 my-zone。
您还可以使用 -F 选项强制执行操作。如果未指定此选项,则系统将提示进行确认。
global# zoneadm -z my-zone uninstall -F |
再次列出系统上的区域来检验是否不再列出 my-zone。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared |
如果区域卸载中断,则此区域停留在未完成状态。请使用 zoneadm uninstall 命令将此区域重置为已配置状态。
使用 uninstall 命令时应谨慎,因为此操作是无法恢复的。
克隆用于通过从源 zonepath 向目标 zonepath 复制数据来在系统上置备新区域。
从 Solaris 10 5/09 开始,当源 zonepath 和目标 zonepath 都驻留在 ZFS 上并且位于同一个池中时,zoneadm clone 命令会自动使用 ZFS 来克隆区域。但您可以指定,复制 ZFS zonepath 但不进行 ZFS 克隆。
在安装新区域之前,必须先对其进行配置。传递给 zoneadm create 子命令的参数是要克隆的区域名称。必须停止此源区域。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
停止要克隆的源区域,在此过程中该区域为 my-zone。
global# zoneadm -z my-zone halt |
通过将源区域 my-zone 的配置导出到文件(例如 master),开始配置新区域。
global# zonecfg -z my-zone export -f /export/zones/master |
也可以通过使用如何配置区域中的过程而不是通过修改现有配置来创建新区域配置。如果使用此方法,请在创建区域后,直接跳到步骤 6。
编辑文件 master。对于在不同的区域中不能相同的组件,请为其设置不同的属性和资源。例如,您必须设置新的 zonepath。对于共享 IP 区域,必须更改任何网络资源中的 IP 地址。对于专用 IP 区域,必须更改任何网络资源的物理属性。
通过使用文件 master 中的命令创建新区域 zone1。
global# zonecfg -z zone1 -f /export/zones/master |
通过克隆 my-zone 安装新区域 zone1。
global# zoneadm -z zone1 clone my-zone |
系统将显示:
Cloning zonepath /export/home/my-zone... |
从 Solaris 10 5/09 开始,如果源 zonepath 位于 ZFS 池(例如 zeepool)中,系统会显示:
Cloning snapshot zeepool/zones/my-zone@SUNWzone1 Instead of copying, a ZFS clone has been created for this zone. |
列出系统上的区域。
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 |
如果 zoneadm 命令克隆位于自己的 ZFS 文件系统上的源 zonepath,则会执行以下操作:
zoneadm 命令提取软件清单。
zoneadm 命令会捕获 ZFS 快照并将其命名为 SUNWzoneX,例如 SUNWzone1。
zoneadm 命令使用 ZFS 克隆来克隆快照。
可以从克隆区域时最初捕获的现有快照多次克隆源区域。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
配置区域 zone2。
指定要使用现有快照来创建 new-zone2。
global# zoneadm -z zone2 clone -s zeepool/zones/my-zone@SUNWzone1 my-zone |
系统将显示:
Cloning snapshot zeepool/zones/my-zone@SUNWzone1 |
zoneadm 命令从快照 SUNWzone1 中验证软件并克隆快照。
列出系统上的区域。
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 |
可以使用此过程指定复制 zonepath,从而阻止在 ZFS 文件系统上自动克隆区域。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
指定复制 ZFS 上的 zonepath 而不是进行 ZFS 克隆。
global# zoneadm -z zone1 clone -m copy my-zone |