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

安装和引导 lx 标记区域

使用 zoneadm(1M) 手册页中所述的 zoneadm 命令,可以执行非全局区域的安装任务。

Procedure如何获取 Linux 归档文件

在安装 lx 标记区域之前,必须先获取 Linux 归档文件。归档文件通过以下形式分发:

  1. 使用以下方法之一获取 Linux 分发:

Procedure如何安装 lx 标记区域

此过程用于安装已配置的 lx 标记区域。安装区域后,所有软件配置和管理工作都必须由区域管理员在区域内使用 Linux 工具来执行。

有关使用不同分发路径的区域安装命令行的示例,请参见示例 35–1示例 35–2示例 35–3。如果从光盘或 ISO 映像安装,则必须指定 Sun 软件包簇类别。有关软件包簇类别的信息,请参见lx 标记区域安装方法

请注意,可以在安装一个区域之前检验该区域。如果您跳过此过程,则会在安装区域时自动执行检验。(可选)如何在安装已配置的区域之前检验该区域中介绍了此过程。

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


注 –

在步骤 3 中,如果 zonepath 在 ZFS 上,zoneadm install 命令将在安装区域时自动为 zonepath 创建 ZFS 文件系统(数据集)。可以通过添加 -x nodataset 参数阻止此操作。


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

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

  2. (可选)如果要从 DVD 或 CD 进行安装,请在系统中启用 volfs 并检验它是否正在运行。


    global# svcadm enable svc:/system/filesystem/volfs:default
    

    global# svcs | grep volfs
    

    将显示以下类似信息:


    online  17:30 svc:/system/filesystem/volfs:default
  3. 通过将 zoneadm 命令与 install 选项和归档文件路径结合使用来安装已配置区域 lx-zone

    • 安装区域,如果 zonepath 在 ZFS 上,则自动创建一个 ZFS 文件系统。


      global# zoneadm -z lx-zone install -d archive_path
      

      系统将显示:


      A ZFS file system has been created for this zone.
    • 安装 zonepath 在 ZFS 上的区域,但自动创建 ZFS 文件系统。


      global# zoneadm -z lx-zone install -x nodataset -d archive_path
      

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


    注 –

    如果不指定 archive_path,则缺省值为 CD


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


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

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


      global# zoneadm -z lx-zone uninstall
      

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

  5. 当安装完成时,使用带有 -i-v 选项的 list 子命令来列出已安装的区域并检验状态。


    global# zoneadm list -iv
    

    将显示以下类似信息:


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  lx-zone  installed    /export/home/lx-zone           lx         shared

示例 35–1 使用 CentOS 压缩 tar 归档文件的安装命令


global# zoneadm -z lx-zone install -d /export/centos_fs_image.tar.bz2


示例 35–2 使用 CentOS CD 的安装命令

对于 CD 或 DVD 安装,必须在系统中启用 volfs。必须指定一个软件簇软件包。例如,使用 development 安装完整环境,或键入特定簇的名称。如果不指定簇软件包,缺省情况下将安装 desktop。CD 设备为 /cdrom/cdrom0


global# zoneadm -z lx-zone install -d /cdrom/cdrom0 development


示例 35–3 使用 CentOS ISO 映像的安装命令

必须指定一个软件簇软件包。使用 development 安装完整环境,或指定特定簇。如果不指定簇软件包,缺省情况下将安装 desktop。CentOS ISO 映像驻留在目录 /export/centos_3.7 中。


global# zoneadm -z lx-zone install -d /export/centos_3.7 development

另请参见

有关数据集的更多信息,请参见《Oracle Solaris ZFS 管理指南》

故障排除

如果区域安装中断或失败,则此区域会处于未完成状态。请使用 uninstall -F 将此区域重置为已配置状态。

Procedure如何安装软件包的子集

在从 CD 或 ISO 映像中进行安装时,可以安装安装介质中的软件包的子集。可用子集有 coreserverdesktopdeveloperall

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

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

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

  2. 只安装服务器软件包:


    global# zoneadm -z lx-zone install -d archive_path server
    

Procedure如何在 lx 标记区域中启用联网

安装 lx 标记区域时,会禁用联网。使用类似如下的过程可以启用联网。

只有区域管理员可以执行此过程。

  1. 编辑区域中的 /etc/sysconfig/network 文件。


    NETWORKING=yes
    HOSTNAME=your.hostname
  2. 要设置 NIS 域,请添加类似于以下内容的行:


    NISDOMAIN=domain.Sun.COM
配置联网和命名服务

有关配置联网或命名服务的更多信息,请查看有关 Linux 分发的相关文档。

Procedure如何获取已安装标记区域的 UUID

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

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


    global# zoneadm list -p
    

    将显示以下类似信息:


    0:global:running:/::native
        1:centos38:running:/zones/centos38:27fabdc8-d8ce-e8aa-9921-ad1ea23ab063:lx

示例 35–4 如何在命令中使用 UUID


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

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


关于 UUID

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

另请参见

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

Procedure如何将已安装的 lx 标记区域标记为未完成

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

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

  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
    -   testzone   incomplete    /export/home/testzone   lx         shared
将区域标记为未完成

注 –

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


(可选)将已安装的 lx 标记区域置于就绪状态

转换为就绪状态之后,虚拟平台便可开始运行用户进程。处于就绪状态的区域中没有执行任何用户进程。

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

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

Procedure如何引导 lx 标记区域

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

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


提示 –

请注意,不能在启用标签的 Trusted Solaris 系统中引导标记区域。


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

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

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


    global# zoneadm -z lx-zone boot
    
  3. 当引导完成时,使用带有 -v 选项的 list 子命令检验状态。


    global# zoneadm list -v
    

    将显示以下类似信息:


    ID  NAME     STATUS       PATH                  BRAND      IP
     0  global   running      /                     native     shared
     1  lx-zone  running      /export/home/lx-zone  lx         shared

示例 35–5 为区域指定引导参数

使用 -i altinit 选项引导区域:


global# zoneadm -z lx-zone boot -- -i /path/to/process

故障排除

如果显示一条消息,指出系统找不到要用于在区域配置中指定的 IP 地址的网络掩码,请参见引导区域时显示 netmasks 警告。请注意,此消息只是警告,而命令已成功执行。

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

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

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

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

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


    global# zoneadm -z lx-zone boot -- -s
    

下一步执行的操作

要登录到区域并查看配置,请参见登录到 lx 标记区域