系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

安装和引导区域

使用 zoneadm(1M) 手册页中所述的 zoneadm 命令可以为非全局区域执行安装任务。要执行区域安装,您必须是全局管理员。本章中的示例使用在配置、检验并提交区域中建立的区域名称和区域路径。

Procedure(可选)如何在安装已配置的区域之前检验该区域

可以在安装区域之前对其进行检验。如果您跳过此过程,则会在安装区域时自动执行检验。

要执行此过程,您必须是全局区域中的全局管理员。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 使用 -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.

    但是,如果显示错误消息并且无法检验区域,请执行消息中指定的更正操作,并再次尝试执行此命令。

    如果未显示错误消息,则可以安装区域。

Procedure如何安装已配置的区域

要执行此过程,您必须是全局区域中的全局管理员。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 使用带有 -z install 选项的 zoneadm 命令安装已配置的区域 my-zone


    global# zoneadm -z my-zone install
    

    当区域的根文件系统所需的文件和目录安装在区域的根路径下时,您将看到各种消息。

  3. (可选)如果显示错误消息并且无法安装区域,请键入以下命令来获取区域状态:


    global# zoneadm -z my-zone list -v
    
    • 如果显示为已配置状态,请执行消息中指定的更正操作,并再次尝试执行 zoneadm install 命令。

    • 如果显示为未完成状态,请首先执行以下命令:


      global# zoneadm -z my-zone uninstall
      

      然后执行消息中指定的更正操作,并再次尝试执行 zoneadm install 命令。

  4. 当安装完成时,使用带有 -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  章 “管理服务(任务)”中介绍的开放式网络配置。在登录到该区域后,可以切换到开放式网络配置,或者启用或禁用个别服务。有关详细信息,请参见将非全局区域切换到其他网络服务配置

ProcedureSolaris 10 8/07:如何获取已安装的非全局区域的 UUID

安装区域时,会为其指定一个通用唯一标识符 (universally unique identifier, UUID)。通过将 zoneadmlist 子命令和 -p 选项一起使用,可以获取 UUID。UUID 是显示的第五个字段。

  1. 查看已安装区域的 UUID。


    global# zoneadm list -p
    

    将显示以下类似信息:


    0:global:running:/:
    6:my-zone:running:/export/home/my-zone:61901255-35cf-40d6-d501-f37dc84eb504

示例 20–1 如何在命令中使用 UUID


global# zoneadm -z my-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v

如果 -u uuid-match-z zonename 都存在,则先根据 UUID 执行匹配。如果找到具有指定 UUID 的区域,则使用该区域并忽略 -z 参数。如果找不到具有指定 UUID 的区域,则系统将按区域名称进行搜索。


关于 UUID

可以卸载区域,然后以相同的名称重新安装,但内容不同。也可以对区域进行重命名,而不更改内容。由于以上原因,UUID 比区域名称更可靠。

另请参见

有关更多信息,请参见 zoneadm(1M)libuuid(3LIB)

ProcedureSolaris 10 8/07:如何将已安装的非全局区域标记为未完成

如果对系统的管理性更改导致区域不可用或不一致,则可以将已安装区域的状态更改为未完成。

要执行此过程,您必须是全局区域中的全局管理员。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 将区域 testzone 标记为未完成。


    global# zoneadm -z testzone mark incomplete
    
  3. 使用带有 -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 选项可以与 zoneadmmarklist 子命令结合使用以指定备用引导环境。有关更多信息,请参见 zoneadm(1M)


注 –

将区域标记为未完成的操作是无法恢复的。可对标记为未完成的区域执行的唯一操作是卸载该区域,使其返回已配置状态。请参见如何卸载区域


Procedure(可选)如何将已安装区域转换为就绪状态

转换为就绪状态可使虚拟平台做好开始运行用户进程的准备。处于就绪状态的区域中没有执行任何用户进程。

如果您要引导区域并立即使用,则可以跳过此过程。引导区域时便会自动从就绪状态进行转换。

要执行此过程,您必须是全局区域中的全局管理员。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 使用带有 -z 选项、区域名称 my-zone 以及 ready 子命令的 zoneadm 命令将区域转换为就绪状态。


    global# zoneadm -z my-zone ready
    
  3. 在提示符下,使用带有 -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

Procedure如何引导区域

引导区域会将该区域置于运行状态。既可以从就绪状态引导区域,也可以从已安装状态引导区域。处于已安装状态的区域经透明引导,会从就绪状态转换为正在运行状态。允许登录到处于正在运行状态下的区域。


提示 –

请注意,首次登录到区域时,即会执行内部区域配置。这在内部区域配置中介绍。

如果您打算使用 /etc/sysidcfg 文件来执行初始区域配置(如如何使用 /etc/sysidcfg 文件执行初始区域配置中所述),请创建 sysidcfg 文件并将其放入区域的 /etc 目录中,然后再引导区域。


要执行此过程,您必须是全局区域中的全局管理员。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 使用带有 -z 选项、区域名称 my-zone 以及 boot 子命令的 zoneadm 命令引导区域。


    global# zoneadm -z my-zone boot
    
  3. 当引导完成时,使用带有 -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

示例 20–2 为区域指定引导参数

使用 -m verbose 选项引导区域:


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 警告。请注意,此消息只是警告,而命令已成功执行。

Procedure如何在单用户模式下引导区域

要执行此过程,您必须是全局区域中的全局管理员。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 在单用户模式下引导区域。


    global# zoneadm -z my-zone boot -s
    

下一步执行的操作

有关如何登录到区域并执行初始内部配置,请参见第 21 章第 22 章