Go to main content

手册页部分 8:系统管理命令

退出打印视图

更新时间: 2018年8月8日 星期三
 
 

zoneadm(8)

名称

zoneadm - 管理区域

用法概要

zoneadm -z zonename [-u uuid-match] subcommand [subcommand-options]
zoneadm [-R root] [-z zonename] [-u uuid-match] list [list-options]
zoneadm -z zonename [-u uuid-match] mark incomplete
zoneadm -z zonename [-u uuid-match] mark unavailable

描述

zoneadm 实用程序可用于管理系统区域。区域是由操作系统运行时维护的操作系统容器。

安全

一旦将进程放入 0 区域之外的区域,此进程或其任何子进程便不能更改区域。

除了简单的列表和帮助功能,zoneadm 只能由在全局系统区域中进行操作的用户使用,且必须使用有效的根目录用户 ID 来执行。此外,用户要执行特定的子命令还必须经过授权。

zoneadm 命令可检查授权字符串,这些字符串可能会选择性地包括用作后缀的指定 zonename,以及用作前缀的斜杠字符。如果省略区域名称,用户将有权进入任何区域。

只提供信息的子命令(例如 helplist)不需任何授权。所有其他子命令都需要授权 solaris.zone.manage/zonename

有关 –w 标志及其与 file-mac-profile 交互的更多信息,请参见 zoneadm boot 子命令下的 –w 选项。

选项

支持以下选项:

–R root

指定备用根(引导环境)。此选项只能与 listmark 子命令配合使用。

–u uuid-match

区域的唯一标识符,由 libuuid(3LIB) 分配。如果该选项存在且参数为非空字符串,则会选择与 UUID 相匹配的区域(如果存在这样的区域),而非 –z 选项指定的区域。

–z zonename

区域的字符串标识符。

子命令

会导致破坏性操作或丢失工作的子命令有一个强制执行操作的 –F 标志。如果给定不具有 –F 标志的命令,将不允许操作,并会向标准错误写入一条诊断消息。如果输入来自终端设备,则当给定不具有 –F 标志的命令时,系统会提示用户。如果区域安装或卸载中断,该区域将处于未完成状态。使用 uninstall 可将此类区域重置为已配置状态。

支持以下子命令:

zoneadm attach [–u] [–F] [–x extended-options] [–n path]
[brand-specific options]

attach 子命令获取从某个系统分离的区域,然后将该区域连接到新的系统。因此,我们建议(而非要求)您在进行“连接”操作之前,先运行 detach 子命令。将新区域设置为已配置状态后,可使用 attach 子命令来设置区域根目录,不必以新区域的形式来安装该区域。

attach 子命令还用来将区域从 unavailable 状态转换到 installed 状态。如果 attach 子命令无法执行此类转换,则区域将保持在 unavailable 状态。

可以使用 –F 选项在未进行任何软件兼容性测试的情况下强制区域进入“已安装”状态。此选项应慎用,因为在将区域从源系统移至无法正常托管该区域的目标系统时,使用此选项会令区域处于不受支持的状态。–n 选项可用于执行 attach 子命令的“预运行”。此选项将 detach –n 子命令的输出用作输入,可用于确认是否存在冲突问题(如网络设备不兼容),以及主机能否支持该区域。路径可以是 -,用于读取来自标准输入设备的输入。

区域的标记可能包括其他用于管理区域连接方式的选项。具体标记信息请参见 brands(7)

要连接的区域必须首先使用 zonecfg(请参见 zonecfg(8))命令进行配置。运行 attach –n 时,上述规定不适用。

请使用以下命令来连接区域:

# zoneadm -z my-zone attach

请使用以下命令来连接和更新区域:

# zoneadm -z my-zone attach -u

缺少 –n 选项时(如上所示),必须先停止源区域,然后才能使用该子命令。

–n path

读取区域清单并在不实际执行连接操作的情况下,验证目标机器是否拥有托管该区域所需的正确配置。在执行试验性附加之前,不必在新主机上配置目标系统中的区域。

–u

更新连接的区域。

–x force-zpool-import

指定该选项可强制重复使用可能显示为正在使用的现有 zpool 资源。

如果系统在维护状态下,attach 子命令可能会失败。有关维护状态的更多信息,请参见 sysadm(8) 手册页。

zoneadm boot [–R] [–w | –W] [–x extended-options] [–- boot-options]

引导(或激活)指定区域。

boot 子命令具有以下互斥选项:

–R

如果区域之前被挂起,该选项将强制进行新引导,而不是恢复挂起的区域。应谨慎使用该选项,因为挂起的区域可能包含文件系统中间状态等,放弃这些可能会造成问题。

–w

引导包含可写根的区域,有效地覆盖区域配置中的 file-mac-profile 设置。此选项仅对本次引导周期有效:后续重新引导将引导区域,使 file-mac-profile 再次有效。此处所述的区域是不可变区域。

–W

以瞬态读取/写入模式引导区域;当区域完成自组合时,该区域将以只读模式重新引导。对非只读根区域没有任何影响。此处所述的区域是不可变区域。

–x storage-create-missing

如果需要,可指定此选项来创建存储。如果 URI 类型具有属性 "create-supported" 集,则将创建存储。

所支持的 boot-options 如下:

–m smf-options

smf-options 包括两类控制服务管理工具引导行为的选项:恢复选项和消息选项。

消息选项决定了 smf(7) 在引导过程中显示的消息的类型和数量。服务选项决定了用于引导系统的服务。有关 –m 子选项的列表,请参见 kernel(8)

–s

仅引导至里程碑 svc:/milestone/single-user:default。此里程碑相当于 init 级别 s。有关更多信息,请参见 svc.startd(8)init(8) 手册页。

如果系统在维护状态下,boot 子命令可能会失败。有关维护状态的更多信息,请参见 sysadm(8) 手册页。

zoneadm clone [–x extended-options] [brand-specific options] source-zone

安装某个区域时,可直接复制现有的已安装区域。该子命令是一种备选的区域安装方法。

–x force-zpool-import

指定 –x 选项与 force-zpool-import 可强制重复使用可能显示为正在使用的现有 zpool 资源。

–x force-zpool-create
–x force-zpool-create-all

指定 –x 选项与 force-zpool-create-all 可强制创建所有 zpool 资源。

使用 –xforce-zpool-create(语法如下所示):

-x force-zpool-create=zpoolname{,zpoolname,zpoolname,...}

... 可将此选项限定为特定的 zpool 资源集。要指定 rootzpool zpool 资源,请使用 rpool。对于 zpool 资源,请使用在相应区域配置 name 属性中指定的名称。

要强制创建内核区域的根 zpool,请使用:

-x force-zpool-create={root-pool-name}

其中,{root-pool-name} 是源区域中的根 zpool 的名称。内核区域不支持 -x force-zpool-create-all

–x storage-create-missing

如果需要,可指定此选项来创建存储。

必须先停止源区域,然后才能使用该子命令。

zoneadm detach [–F | –n]

分离指定的区域。将区域从一个系统移至另一个系统时,第一步是分离该区域。冷迁移会从源主机中分离区域,并将其附加到目标主机。区域分离后,将一直处于已配置状态。如果尝试安装某个已分离的配置区域或者要克隆到该区域,您将接收到一条错误消息,且 installclone 子命令无法继续。–n 选项可用于执行 detach 子命令的“预运行”。在这一过程中,会生成运行 attach –n 子命令所需的信息,该信息可用于确认是否存在冲突问题(如网络设备不兼容)或主机能否支持该区域。该信息将发送至标准输出,并可保存到文件中或传输至 attach –n 子命令。–F 选项可用于强制分离区域,而无需对现有的 zonepath 执行验证检查。

请使用以下命令来分离区域:

# zoneadm -z my-zone detach

除非使用 –n 选项,否则必须停止源区域,然后才能使用该子命令。

–F

强制分离区域而无需对区域的存储执行验证检查。如果该主机无法再访问 zonepath 的存储,则通常使用该选项。当区域的存储已故障转移到备用主机(手动执行或作为群集的一部分)时,通常出现此情况。

–n

在不实际分离某区域的情况下,生成关于该运行区域的区域清单。源系统中区域的状态不会改变。区域清单会被发送到 stdout。全局管理员可以将此输出定向到某一文件,或将此输出传输到远程命令以便立即在目标主机上进行验证。

zoneadm get-prom [variable]

get-prom 子命令显示 OpenBoot 配置变量。如果未指定变量,则将以 variable=value 形式显示所有配置变量及其值。如果指定了一个变量,则仅显示该变量的值。

只有 SPARC 平台上的 solaris-kz(7) 标记支持 get-prom 子命令。只能在区域处于已安装状态时使用该子命令。

zoneadm set-prom variable=[value]
zoneadm set-prom –c variable

在第一种形式中,set-prom 子命令将指定的 OpenBoot 配置变量设置为指定的值。如果不指定值(即这是一个零长度的字符串),则将 variable 设置为一个零长度的字符串。在第二种形式中,–c 选项指示应清除 variable,这使 OpenBoot 的缺省值生效。

只有 SPARC 平台上的 solaris-kz(7) 标记支持 set-prom 子命令。只能在区域处于已安装状态时使用该子命令。

zoneadm halt

停止指定的区域。halt 跳过在区域内运行关闭脚本这一步骤,并删除区域的运行时资源。

另请参见下文的 shutdown 子命令。

zoneadm help [subcommand]

显示一般帮助。如果您指定 subcommand,则会显示有关 subcommand 的帮助。

zoneadm install [–x extended-options ] [brand-specific options]

将指定区域安装到系统中。该子命令会自动首先尝试进行验证。如果验证步骤失败,则会拒绝安装。请参见 verify 子命令。

–x force-zpool-import

指定 –x 选项与 force-zpool-import 可强制重复使用可能显示为正在使用的现有 zpool 资源。

–x force-zpool-create
–x force-zpool-create-all

指定 –x 选项与 force-zpool-create-all 可强制创建所有 zpool 资源。

使用 –xforce-zpool-create(语法如下所示):

-x force-zpool-create=zpoolname{,zpoolname,zpoolname,...}

... 可将此选项限定为特定的 zpool 资源集。要指定 rootzpool zpool 资源,请使用 rpool。对于 zpool 资源,请使用在相应区域配置 name 属性中指定的名称。

要强制创建内核区域的根 zpool,请使用:

-x force-zpool-create={root-pool-name}

其中,{root-pool-name} 是 AI 清单中指定的根 zpool 的名称;如果未提供 AI 清单,则是 "rpool" 的名称。内核区域不支持 -x force-zpool-create-all

–x storage-create-missing

如果需要,可指定此选项来创建存储。

区域的标记可能包括其他用于管理区域中软件安装方式的选项。具体标记信息请参见 brands(7)

zoneadm list [list-options]
zoneadm list [–c] [–i] [[–p] | [–s] | [–v]] [–b brandlist]

显示当前区域或指定区域(如果指定)的名称。

缺省情况下,列出所有运行区域。与 zoneadm –z zonename 选项结合使用时,此子命令只列出指定区域(不管其状态如何)。这种情况下,将禁用 –i–c 选项。

如果既未给出 –i 选项,也未给出 –c 选项,则会列出所有运行区域。

所支持的 list-options 如下:

–c

显示所有已配置区域。此选项将覆盖 –i 选项。

–i

将显示扩展到所有已安装区域。

–p

请求可供机器解析的输出。输出格式是行列表,每个区域占一行,其中包含以冒号分隔的字段。这些字段包括:

zoneid:zonename:state:zonepath:uuid:brand:ip-type:\
r/w:file-mac-profile:auxstate

如果 zonepath 包含嵌入的冒号,则可通过反斜杠对这些冒号进行转义 ("\:"),并可通过使用 shell 函数 read(1) 及环境变量 IFS 来解析该反斜杠。uuid 值是在安装区域时由 libuuid(3LIB) 分配的,可用于标识存在于备用引导环境中或已在该环境中重命名的同一区域。任何可解析 zoneadm list -p 命令输出的软件都必须能够处理将来可能会添加的任何字段。

如果未设置 zoneidr/w,则其值会输出为单个破折号 ('-')。未设置的值将留空。例如:

# zoneadm -z myzone list -p
-:myzone:incomplete:::::-::no-config

将来可能添加的任何新字段会输出为空(如果未设置)。

选项 –s–v–p 互斥。如果 –v–p 均未使用,则只列出区域名称。

–s

显示区域名称、状态和区域辅助状态集的逗号分隔列表。有关定义的状态,请参见相关的标记手册页。

选项 –s–p–v 互斥。

–v

显示详细信息,包括区域名称、ID、当前状态、根目录、标记类型、ip-type 和选项。

选项 –s–v–p 互斥。

–b brand[,brand]

仅显示由此选项指定的标记。

zoneadm apply [–n] [–q] [–x extended-options]

apply 子命令重新配置正在运行的区域来匹配通过 zonecfg(8) 维护的区域的持久性配置并输出所执行的操作。应用的配置立即生效并且不需要重新引导区域。apply 命令仅可用于正在运行的区域。有关实时区域重新配置支持的资源的详细信息,请参见相应的标记手册页。

支持以下选项:

–n

在预运行模式下运行重新配置,这不会更改正在运行的区域的配置。预运行模式的行为与真实的重新配置相同,但会让正在运行的区域保持现状。使用预运行模式可以检查真实重新配置将执行的操作。

–q

静默模式。隐藏所有消息并仅返回状态代码。

–x storage-create-missing

如果需要,可指定此选项来创建存储。

在全局区域中,不允许使用任何选项。apply 子命令重新配置资源控制和池并设置 file-mac-profile。如果将全局区域配置为不可变全局区域,则会立即使该区域不可变。

zoneadm mark state

更改区域的状态。只有一部分区域状态受支持,如下所述。

incomplete

将某个已安装的区域的状态更改为 incomplete。对系统的管理性更改导致区域永久不可用或不一致时,此命令可能很有用。此更改无法撤消(除非采用卸载整个区域的方式)。

unavailable

将某个已安装的区域的状态更改为 unavailable。系统上的管理性更改或故障导致区域临时不可用时,此命令可能很有用。可以使用 attach 子命令撤消此更改。

zoneadm migrate [–nq] [–t auto] [brand-specific-options]
scheme://user@host:port

将已安装或正在运行的区域迁移至给定目标主机。支持 Solaris 和内核标记区域。

实时迁移正在运行的内核区域时,该区域将继续在源主机上运行,直到迁移的最后阶段。迁移之后,将终止所有 zlogin 会话。但是,会保留到区域的网络连接。

冷迁移已安装的区域时,该区域迁移至目标主机后将处于已安装状态。对于已挂起的内核区域,该区域在迁移后也将处于已挂起辅助状态。

区域的标记可能包括其他用于管理区域迁移方式的选项。有关特定标记信息,请参见 brands(7) 手册页。

区域配置必须与目标主机的环境兼容,就像分离区域后再连接区域一样。例如,所有存储引用都应使用两个主机都能访问的存储 URI(请参见 zonecfg(8))。迁移支持的存储 URI 类型包括 NFSiscsilu

可以在迁移之前在目标主机上配置区域;在这种情况下,该配置用于在目标主机上启动该区域。如果配置与当前区域配置不兼容(例如,缺少虚拟磁盘),则将返回错误。

如果未在目标上配置区域,迁移时将根据当前的区域配置来配置该区域。

迁移之后,区域将与源区域分离,但保持已配置状态。

目标主机由指定的 RAD URI 定义(请参见 rad(8))。scheme 缺省为 radsuser 缺省为当前用户,port 缺省为标准 RAD 端口。支持的 scheme 值有 radsradssh

要接收迁移区域,提及的 RAD 服务必须处于运行状态。此外,还必须为实时迁移启用 inetd 下的 'kz-migr' 服务。因此,在缺省配置下,端口 8102 和 12302 必须可访问。

zoneadm migrate 接受以下选项:

–n

预运行:检查是否可将区域实时迁移到目标主机,但保持区域的运行状态。

–q

静默:在迁移过程中不报告状态。

–t auto

指定要执行的迁移类型。其他选项可以用作特定于标记的选项。

zoneadm move [–p {URI} ... –p {URI}] [–x extended-options] new-zonepath

将区域安装移至本地文件系统中的新位置或新的 ZFS 存储池,和/或将当前区域路径更改为 new-zonepath

本地文件系统中的区域安装(没有 rootzpool 资源)可以移至基于存储 URI 指定的设备构建的新 ZFS 存储池。新的 rootzpool 资源将添加到区域配置中。

配置有 rootzpool 资源的区域安装可移至基于存储 URI 指定的设备构建的新 ZFS 存储池中,或者从其包含的 ZFS 存储池安装移至本地文件系统。

move 子命令还可用于仅更改区域路径,而不更改区域安装本身。

必须先停止区域,然后才能使用该子命令。区域路径必须是有效的路径名,且遵循区域路径的常规限制。

solaris-kz 标记不支持 move 子命令。

支持以下选项:

–p {URI}

对新的 rootzpool 资源使用指定的存储 URI。必须使用单独的 –p 选项指定每个存储 URI。缺省情况下,如果已指定多个存储 URI,则会创建镜像 ZFS 存储池。

–x remove-rootzpool

指定此选项可以将区域从其包含的 ZFS 存储池中移至新区域路径指定的本地文件系统。

–x force-zpool-destroy=rpool

指定此选项可以在移动区域安装之后强制销毁与原始 rootzpool 资源相关联的 zpool。

–x force-zpool-import

指定此选项可以强制重复使用现有 zpool 作为 rootzpool 资源。

–x force-zpool-create=rpool

指定此选项可以强制为 rootzpool 资源创建 zpool

–x create-size={storage-size}

指定此选项可以创建任何缺少的存储设备(如果受存储 URI 类型支持)。要指定各个存储设备的大小,应使用带有相应容量级后缀(K、M、G 或 T)的正数。

–x force-storage-destroy-all

指定此选项可以在移动区域之后销毁与原始 rootzpool 资源相关联的存储(如果受存储 URI 类型支持)。

zoneadm ready [–x extended-options]

让区域做好运行应用程序的准备,但不在区域中启动任何用户进程。

支持以下选项:

–x storage-create-missing

如果需要,可指定此选项来创建存储。

zoneadm reboot [–x extended-options] [–- boot-options]

重新启动区域。这等效于 haltboot 序列(关机脚本未运行)。

支持以下选项:

–x storage-create-missing

如果需要,可指定此选项来创建存储。

有关支持的引导选项,请参见 boot 子命令。

zoneadm rename new-zonename

重命名区域。此子命令可用于已配置区域和已安装区域。必须先停止已安装区域,然后才能使用该子命令。使用以下命令来重命名区域:

# zoneadm -z my-zone rename new-zone

rename 支持使用模板且 %{zonename} 标记限定为 zonename 属性和 zpool 资源名称属性的区域配置。solaris-kz 标记不支持 rename 子命令。


注 -  已安装区域的任何控制台均通过 rename 子命令进行分离。
zoneadm shutdown [–r [-- boot-options]]

完全关闭区域(等效于在区域中运行 /usr/sbin/init 0)。shutdown 子命令会一直等到区域成功关闭;如果关机过程需要很长时间,可以使用 zoneadmhalt 强制停止该区域。

如果指定了 –r,则重新引导区域。有关支持的引导选项,请参见 boot 子命令。

zoneadm savecore [–k] [–L] [–f dumpfile]

在全局区域中保存正在运行的 solaris-kz 标记区域的核心转储文件(缺省方式是在当前目录下保存 kzcore.X)。该核心转储文件可以通过 mdb(1) 调试。

如果指定了 –L,在转储操作期间不会暂停区域。

如果指定了 –k,则会将核心转储置于 coreadm(8) 为内核区域核心转储配置的位置中。

zoneadm suspend

将正在运行的 solaris-kz 标记区域挂起到磁盘。区域将挂起到区域路径内包含的映像文件。可以通过 zoneadm boot 恢复区域。

zoneadm uninstall [–F] [–x extended-options]

从系统中卸载指定区域。请慎用此子命令。它会删除指定区域的 zonepath 下的所有文件。您可以使用 –F 标志强制执行操作。

–x force-zpool-destroy
–x force-zpool-destroy-all

使用 –x 选项与 force-zpool-destroy-all 选项可销毁所有 zpool。

使用 –xforce-zpool-destroy(语法如下所示):

-x force-zpool-destroy=zpoolname{,zpoolname,zpoolname,...}

... 可将此选项限定为特定的 zpool 资源集。要指定 rootzpool zpool 资源,请使用 rpool。对于 zpool 资源,请使用在相应区域配置 name 属性中指定的名称。

–x force-storage-destroy-all

此选项通知 zoneadm 销毁此类 URI 引用的所有存储对象,而不是取消映射存储 URI。并非所有存储对象类型均支持此类操作。例如,用户可以销毁文件 URI 引用的对象,但无法销毁 iSCSI 或 lu URI 引用的对象。destroy 操作将应用于区域引用的所有存储对象(对于 rootzpool、zpool 和设备资源)。

强烈建议谨慎使用此选项,因为存储一旦销毁便无法恢复,且系统不会检查指定的存储对象是否仍由其他引导环境引用。

zoneadm verify

检查确认指定区域的配置可以安全地安装在计算机上。下面是按 resource/property(资源/属性)类型分类的检查:

zonepath

zonepath 及其父目录均存在,并属于相应模式的根目录。相应模式是指当 zonepath700 时,其父目录既不是 group,也不是 world-writable 之类的目录。zonepath 不通过 NFS 挂载。不存在名为 root 的 zonepath 子目录。

如果 zonepath 不存在,verify 子命令不会失败,而只会警告用户:后续安装会尝试创建该目录并设置相应的权限。如果出现错误,后续的 verify 子命令可能会失败。

zonepath 不能是符号链接。

fs

任何 fs 资源都会对其 type 值进行检查。如果值是 procmntfsautofsnfs 中的一个,或者文件系统在 /usr/lib/fs/{fstype}/mount 下没有关联的挂载二进制数据,则会报告一个错误。

这是一种将 directory 设置为相对路径时会出现的错误。

这是一种将 raw 所指定的路径设置为相对路径或者在 /usr/lib/fs/{<fstype}/fsck 下没有给定文件系统类型的 fsck 二进制数据时会出现的错误。如果存在相应的 fsck 二进制数据但未指定 raw 路径,则也会出现这种错误。

net

所有物理网络接口都存在。所有网络地址资源都属于下面某种类型:

  • 有效的 IPv4 地址,可以后接 / 和前缀长度;

  • 有效的 IPv6 地址,必须后接 / 和前缀长度;

  • 可解析为 IPv4 地址的主机名。

请注意,不支持解析为 IPv6 地址的主机名。

物理接口名称即网络接口名称。

可将区域配置为独占 IP 区域或共享 IP 区域。共享 IP 区域必须同时设置物理属性和地址属性。独占 IP 区域必须设置物理属性,不能设置地址属性。

anet

它验证用来自动创建 VNIC 的下游链路 (lower-link) 是否存在。

rctl

它也可以用于验证任何定义的资源控制值在当前计算机上是否有效。这意味着特权级别为 privileged(特权),限制低于当前定义的系统值,且定义的操作与给定资源控制的有效操作一致。

rootzpoolzpool

对于处于 installed(已安装)状态的区域,配置的所有 zpool 在系统上均处于联机状态。

对于处于已配置状态的区域,此命令可确认配置的 zpool 资源在系统上都不处于联机状态。

solaris 标记特定的子命令

以下 solaris 标记特定的子命令选项受支持。

attach [–z ZBE] [–u | –U] [–c config_profile.xml | dir]
[–x destroy-orphan-zbes | force-zbe-clone | deny-zbe-clone |
attach-last-booted-zbe | attach-matched-zbe |
attach-last-mounted-zbe]

将指定的 solaris 标记区域映像连接到区域。zoneadm 会检查区域要关联到的计算机上的软件包级别。如果区域通过全局区域所依赖的包(具有不同的版本号)不同于源计算机上的相关包,zoneadm 将报告这些冲突并且不执行连接。

如果目标系统只有比源系统更新的相关软件包(修订版本号较高),则可以使用 –u–U 选项更新相关软件包以匹配位于新系统上的软件包修订版。

连接区域时,可能会存在多个区域引导环境 (zone boot environment, ZBE),attach 子命令必须确定要连接其中哪一个。选择条件如下所示,并使用第一个匹配项。

  • 如果使用 –z 选项来指定 ZBE,则选择它。

  • 如果使用了 –x attach-last-booted-zbe 来指定 ZBE,则会选择上次引导的 zbe。

  • 如果使用 –x attach-matched-zbe,则选择与全局区域引导环境关联的活动 ZBE

  • 如果使用 –x attach-last-mounted-zbe,则选择最后挂载在区域的区域路径上的 ZBE。这是缺省选项。

如果选定的 ZBE 与当前处于活动状态的全局区域引导环境关联,则连接选定的 ZBE。可以使用 –x force-zbe-clone 来更改此行为。

如果选定的 ZBE 与其他全局区域引导环境关联,或选定的 ZBE 未与任何全局区域引导环境关联(孤立的引导环境),则克隆选定的 ZBE 并连接选定 ZBE 的克隆。原始 ZBE 继续存在。可以使用 –x deny-zbe-clone 来更改此行为。

要在连接期间销毁所有孤立 ZBE,请使用以下选项:

–x destroy-orphan-zbes

为避免克隆孤立 ZBE,请使用以下选项:

–x deny-zbe-clone

有关 –x 选项的更多详细信息,请参见以下内容:

–u

更新区域中的最少数量的软件包,以允许区域的软件包与在全局区域中安装的软件包兼容。

–U

将区域中的所有软件包更新为与安装在全局区域中的软件包兼容的最新版本。

–c

提供要应用的配置文件或配置文件目录。有关更多信息,请参见 sysconfig(8) 手册页。

所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profilesite-profilenode-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。

–z ZBE

连接指定的现有区域引导环境。如果指定的区域引导环境与其他全局区域关联,则指定的 ZBE 将被克隆,并连接 ZBE 的克隆。

所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profilesite-profilenode-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。

–x destroy-orphan-zbes

销毁所有不与任何全局区域关联的区域引导环境。

–x force-zbe-clone

强制对选定的区域引导环境进行克隆。然后,选择新克隆的引导环境以连接到该区域。

–x deny-zbe-clone

对选定区域引导环境的克隆进行覆盖。此选项要求应该将选定的 zbe 在不克隆的情况下(如果缺省行为是对其进行克隆)连接到该区域。否则没有任何效果。

–x attach-last-booted-zbe

选择上次引导的区域引导环境。如果选择的区域引导环境不与任何全局区域相关联,则会克隆该引导环境。

–x attach-matched-zbe

选择与全局区域关联的活动区域引导环境。

–x attach-last-mounted-zbe

选择最后挂载在区域的区域路径上的 ZBE

clone [–c config_profile.xml | dir]
–c config_profile.xml | dir

提供从系统信息库安装后将应用的配置文件或配置文件的目录。

所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profilesite-profilenode-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。

install [–m manifest.xml] [–c config_profile.xml | dir]
install –a unified_archive [–z archived_zone]
[–x {cert | cacert | key}=path]... [–U] [–p | –u] [–s | –v]
[–c config_profile.xml | dir]
install {–a archive | –d path} {–p | –u} [–U] [–s | –v]
[–c config_profile.xml | dir] [–x {cert | cacert | key}=path]...

solaris 标记安装程序支持从软件系统信息库或从运行同一发行版的已安装系统映像安装区域。此映像可以是 cpio(1)pax(1) xustar 或 ZFS 归档文件。cpio 或 ZFS 归档文件可以使用 gzipbzip2 进行压缩。该映像也可以是到系统根目录树顶级的路径,或者是预存在的区域路径。

如果未指定 –a–d 选项,则从系统信息库安装区域。要在区域中安装其他软件包,可以复制并编辑缺省区域清单 /usr/share/auto_install/manifest/zone_default.xml 以包含所需的软件包。应使用 –m 选项指定安装该修改的清单。

要从系统或区域映像安装区域,需要使用 –a–d 选项。如有必要,映像的活动 ZBE 中的软件将会进行最低限度的必要更新,以使其与全局区域的软件包兼容。如果指定了 –U 选项,则会将映像的活动 ZBE 中的所有软件更新至与活动 ZBE 兼容的最新版本。如果使用 –a–d 选项,则还需要使用 –u–p 选项。

–a archive

统一归档文件的路径或文件名、http 或 https URI。或者是到已安装的全局区域或非全局区域中的 cpio(1)pax(1) xustar 或 ZFS 归档文件的路径。

如果指定了统一归档文件,则可以使用 –z 选项来选择要安装的归档区域。如果统一归档文件位于安全的 Web 服务器 (https URI) 上,则可以使用 –x 来指定到 PEM 编码的证书、CA 证书和/或密钥的路径。当从统一归档文件进行安装时,如果既未指定 –u 也未指定 –p,且归档文件是恢复归档文件,则默示使用缺省的 –p。否则,默示使用 –u

如果 ZFS 归档文件包含多个引导环境,则安装了活动的引导环境。如果安装无法确定哪个引导环境是活动的引导环境,安装程序将提供提取的引导环境列表,并建议一个使用 –z 选项的连接命令来连接特定的引导环境。

cpio 和 ZFS 归档文件可以使用 gzipbzip2 进行压缩。

–c config_profile.xml | dir

提供从系统信息库安装后将应用的配置文件或配置文件的目录。

所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profilesite-profilenode-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。

–d path

区域路径目录的路径,该目录属于 solaris 标记区域的区域路径或 Oracle Solaris 11 全局区域根目录。

–m manifest.xml

将指定给自动化安装程序的清单文件。

–p

从归档文件或路径安装区域后,保留系统配置。当从统一归档文件进行安装且归档文件是恢复归档文件时,将默示使用 –p,但是可以使用 –u 进行覆盖。

如果归档文件不是恢复归档文件,–p 选项不会起作用,因为归档文件中不存在系统配置。

–s

无提示安装。

–u

安装后取消配置系统。当从统一归档文件进行安装且归档文件不是恢复归档文件时,这是缺省值。

–U

将区域中的所有软件包更新为与安装在全局区域中的软件包兼容的最新版本。只有使用了 –a–d 选项,才能使用 –U 选项。

–v

安装过程的详细输出。

–x cert=path
–x cacert=path
–x key=path

从 https URI 处的统一归档文件安装时使用指定的证书、CA 证书和/或密钥。仅在与 –a 选项一起使用时有效。

migrate [–t auto] –z ZBE] [–u | –U] [–x destroy-orphan-zbes |
force-zbe-clone | deny-zbe-clone | attach-last-booted-zbe |
attach-matched-zbe | attach-last-mounted-zbe]

将指定的 Solaris 标记区域映像迁移并附加到目标系统。使用向 migrate 子命令提供的 attach 选项将区域映像附加到区域。

在下列情况下,迁移 Solaris 标记区域将失败:

  • 尚未配置任何 rootzpool 资源

  • 配置了 fsdataset 资源

  • 尚未设置设备资源的存储属性

  • 设置了 npiv:over-hba 属性,并且目标系统上没有任何区域配置

有关更多信息,请参见上文 attach 子命令部分中的 –z–u–U–x 选项说明以及 zbe 选择条件。

–t auto

指定要执行的迁移类型。对于 Solaris 标记区域,唯一的可能值是 auto,因为不支持实时迁移。

solaris-kz 标记特定的子命令

以下 solaris-kz 标记特定的子命令选项受支持。

attach [–c config_profile.xml | dir]
[–x force-takeover | initialize-hostdata]

将指定的 solaris-kz 标记区域映像连接到区域。假定区域的可引导设备已正确填充。

–c 选项提供要应用的配置文件或配置文件的目录。有关更多信息,请参见 sysconfig(8) 手册页。

所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profilesite-profilenode-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。

-x force-takeover 扩展选项清除指示区域已在其他系统上安装或运行的状态信息。使用此选项时需要极其谨慎:如果某个区域的两个实例同时使用同一个存储,则将损坏文件系统。

-x initialize-hostdata 扩展选项重新初始化加密密钥和主机数据。与使用 -x force-takeover 一样,在使用此选项之前,要确保没有其他系统在使用该区域。

除了禁用使用中的检查,此选项还将重置存储的任何数据,例如,区域的时间。仅当加密密钥已丢失时,才应使用此选项进行恢复。

boot [-R] -- [-L -Z bootenv | diskn]

如果区域挂起,可以使用 -R 选项忽略挂起的映像(稍后将删除该映像),并进行全新引导。

diskn 选项告知引导装载程序从特定的磁盘引导。zonecfg 的设备 ID 以 0 开头,diskn 中的 n 为系统看到的磁盘编号,从 1 开始编号。diskn 中的 nzonecfg + 1 中的设备 ID。要从 zonecfg 中的设备 0 引导,必须运行以下命令:

zoneadm -z zonename boot -- disk1

且不是磁盘 0。

–L 选项通知引导装载程序列出可用的引导环境。可通过交互方式选择要引导的引导环境。

–Z 选项通知引导装载程序引导特定的引导环境。

clone [–c config_profile.xml | dir]

提供从系统信息库安装后将应用的配置文件或配置文件的目录。

所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profilesite-profilenode-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。

对于 zoneadm clone,如果存储是自动创建的,则其创建时的大小与源区域中磁盘的大小相同。

仅支持在安装后至少完整引导过的内核区域。区域的所有发布者必须可从该区域内部访问。

install [–v] [–a archive [–x no-auto-shutdown] | –m manifest.xml]
[–c config_profile.xml | dir] [–C install_profile.xml | dir]
[–z archived_zone] [–b /path/to/media.iso [–x no-auto-shutdown]]
[–x install-size=size] [–x {cert | cacert | key}=path] ...

可以使用全局区域的发布者和缺省 AI 清单、定制 AI 清单、Solaris 安装介质的 ISO 映像或统一归档文件安装核心区域。

除非使用 –a–b–m 选项,否则使用缺省 AI 清单、/usr/share/auto_install/manifest/default.xml 和全局区域的 pkg 发布者执行安装。支持的介质类型包括文本安装程序和自动安装程序。这允许安装任何支持的 Oracle Solaris 版本。Oracle Solaris 11.2 是内核区域中支持的第一个版本。

如果使用 –m 选项指定 AI 清单,将根据 AI 清单的内容执行 IPS 或统一归档文件安装。请参见 ai_manifest(5)

如果使用 –b 选项提供可引导 Oracle Solaris 安装介质的 ISO 映像,则从安装介质引导内核区域,且安装程序在区域的控制台上运行。在安装期间建立控制台登录会话,从而允许与安装程序进行交互和/或观察安装程序。

如果使用 –a 选项指定统一归档文件,则从统一归档文件执行安装。如果统一归档文件包含多个区域(archiveadm info 输出中的可部署系统),使用 –z 选项指定要安装哪个归档的区域。统一归档文件是使用 archiveadm(8) 创建。

–a archive

从指定的统一归档文件安装。archived_zone 可以是全局区域、核心区域或 solaris 标记区域。如果归档区域是 solaris 标记区域,则执行非全局-全局 pkg 映像转换。为了成功转换,区域的安装环境必须有足够的网络访问,从而允许访问所有 pkg 发布者。最轻松的实现方式是允许通过 DHCP 配置核心区域的网络。

–b /path/to/media.iso

从指定介质引导并安装。

–c config_profile.xml | dir

提供从系统信息库安装后将应用的配置文件或配置文件的目录。

所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profilesite-profilenode-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。

–C install_profile.xml | dir

提供引导到 AI 介质来执行安装时要应用于安装环境的配置文件或配置文件目录。

所有配置文件必须具有 .xml 扩展名。

–m manifest.xml

将指定给自动化安装程序的清单文件。

–x install-size=size

显式设置根文件系统的大小(缺省值为 16g)。指定大小时,可以使用结尾字母(例如 't'、'g'、'm'、'k' 或 'b'),也可以不使用任何结尾字母,即表示字节。最大大小取决于 rpool 的空闲空间。

–x no-auto-shutdown

在安装后保持内核区域登录到控制台,从而允许与安装系统进行交互。此选项仅对 –a–b 选项有效。

–x cert=path
–x cacert=path
–x key=path

从 https URI 处的统一归档文件安装时使用指定的证书、CA 证书和/或密钥。仅在与 –a 选项一起使用时有效。

–v

安装过程的详细输出。

–z archived_zone

使用 archived_zone 从统一归档文件安装区域。请参见 archiveadm(8) info 命令的输出中的 "Deployable Systems"(可部署系统)了解特定统一归档文件的可用值列表。仅在与 –a 选项一起使用时有效。

migrate [–c cipher] [–t auto | live]
–c cipher

使用指定的 cipher 对内存传输进行加密。值为 "none" 将禁用加密。可以使用值 "list" 来列出支持的加密算法。如果未指定,将根据源功能和目标功能自动选择 cipher

–t auto | live

指定要执行的迁移类型。如果指定了实时迁移,则只支持迁移正在运行的区域。如果选择了 auto,则将冷迁移已安装的区域或实时迁移正在运行的区域。如果未指定任何类型,则缺省值为 auto

solaris10 标记特定的子命令

以下 solaris10 标记特定的子命令选项受支持。

attach [–c sysidcfg]

将指定的 solaris10 标记区域映像连接到标记区域。

clone [–c sysidcfg]

安装某个区域时,可直接复制现有的已安装区域。该子命令是一种备选的区域安装方法。

–c sysidcfg

提供取消配置克隆的区域后将应用的 sysidcfg 文件。

install –a unified_archive [–z archived_zone]
[–x {cert | cacert | key}=path] [–p|–u] [–s|–v] [–c sysidcfg]
install <–a archive | –d path> <–p|–u> [–s|–v] [–c sysidcfg]

solaris10 标记安装程序支持通过已安装的 Solaris 10 系统的映像安装区域。此映像可以是统一归档文件、cpio(1)pax(1)xustar 或 ZFS 归档文件。cpio 或 ZFS 归档文件可以使用 gzip(1)bzip2(1) 进行压缩。此映像也可以是级别为 0 的 ufsdump(8),或者是到 Solaris 10 系统根目录树顶级的路径。不能从标准的 Solaris 10 分发介质中安装区域。

要从系统或区域映像安装区域,需要使用 –a–d 选项。如果使用 –a–d 选项,则还需要使用 –u–p 选项。

–a archive

统一归档文件的路径或文件名、http 或 https URI。或者是到已安装的全局区域或非全局区域中的 cpio(1)pax(1) xustar、ZFS 归档文件或级别为 0 的 ufsdump(8) 的路径。

如果指定了统一归档文件,则可以使用 –z 选项来选择要安装的归档区域。如果统一归档文件位于安全的 Web 服务器 (https URI) 上,则可以使用 –x 来指定到 PEM 编码的证书、CA 证书和/或密钥的路径。当从统一归档文件进行安装时,如果既未指定 –u 也未指定 –p,且归档文件是恢复归档文件,则默示使用缺省的 –p。否则,默示使用 –u

如果 ZFS 归档文件包含多个引导环境,则安装了活动的引导环境。如果安装无法确定哪个引导环境是活动的引导环境,安装程序将提供提取的引导环境列表,并建议一个使用 –z 选项的连接命令来连接特定的引导环境。

–c sysidcfg

提供安装后将应用的 sysidcfg 文件。

–d path

到已安装的 Solaris 10 系统的根目录的路径。

–p

从归档文件或路径安装区域后,保留系统配置。当从统一归档文件进行安装且归档文件是恢复归档文件时,将默示使用 –p,但是可以使用 –u 进行覆盖。

–x cert=/path/cert.pem
–x cacert=/path/cacert.pem
–x key=/path/key.pem

使用指定的证书、CA 证书和/或密钥可以通过 https 访问统一归档文件。

如果归档文件不是恢复归档文件,–p 选项不会起作用,因为归档文件中不存在系统配置。

–s

无提示安装。

–u

安装区域后对区域运行 sys-unconfig。当从统一归档文件进行安装且归档文件不是恢复归档文件时,默示使用 -u。

–v

安装过程的详细输出。

示例

示例 1 使用 –m 选项

以下命令说明了如何使用 –m 选项。

# zoneadm -z myzone boot -- -m verbose
示例 2 使用 –s 选项

以下命令说明了如何使用 –s 选项。

# zoneadm -z myzone boot -- -s
示例 3 修改 OpenBoot 配置变量

以下命令说明了 OpenBoot 配置变量的设置、获取和清除操作。

# zoneadm -z zone1 get-prom
# zoneadm -z zone1 set-prom
auto-boot?=false
# zoneadm -z zone1 get-prom
auto-boot?=false
# zoneadm -z zone1 set-prom -c auto-boot?
# zoneadm -z zone1 get-prom auto-boot?
auto-boot?: not set

上一个命令的输出将输出到 stderrzoneadm 的退出值为 non-zero

示例 4 将区域配置应用于正在运行的区域

以下命令说明了如何将区域配置应用于正在运行的区域。

# zoneadm -z zone apply
示例 5 实时迁移到新主机

以下命令说明了如何实时迁移到新主机。

# zoneadm -z myzone migrate -t live ssh://destinationhost
zoneadm: zone 'myzone': Using zone configuration on destination.
zoneadm: zone 'myzone': Attaching zone.
zoneadm: zone 'myzone': Booting zone in 'migrating-in' mode.
zoneadm: zone 'myzone': Checking migration compatibility.
zoneadm: zone 'myzone': Starting migration.
zoneadm: zone 'myzone': Waiting for migration to complete.
zoneadm: zone 'myzone': Migration successful.
zoneadm: zone 'myzone': Halting and detaching zone.
示例 6 将区域移至共享存储

以下命令说明了如何将区域安装从当前位置移至共享存储上的新 ZFS 存储池。区域路径保持不变。

# zoneadm -z myzone move -p \
  iscsi://10.10.10.9/luname.naa.600144f03d70c80000004ea57da10001 -
示例 7 将区域从一个共享存储移至另一个共享存储

以下命令说明了如何将已使用 rootzpool 资源配置的区域安装移至基于新共享存储设备构建的新 ZFS 存储池。原始 zpool 被销毁。区域路径也已更改。

# zoneadm -z myzone move \
  -p iscsi://10.10.2.9/luname.naa.600144f03d70c60000004ea57dacd122 \
  -x force-zpool-destroy=rpool /system/zones/moved-myzone
示例 8 将区域从共享存储移至本地文件系统

以下命令说明了如何将使用 rootzpool 资源配置的区域安装从其包含的 ZFS 存储池移至本地文件系统。缺省情况下,与 rootzpool 资源相关联的原始 zpool 将会导出且不销毁。

# zoneadm -z myzone move -x remove-rootzpool -
示例 9 更改区域的区域路径

以下命令说明了如何在不移动区域安装的情况下更改区域路径。

# zoneadm -z myzone move /system/zones/moved-myzone
示例 10 将 Solaris 区域冷迁移到新主机

以下命令展示了如何将 Solaris 区域冷迁移到新主机。

# zoneadm -z myzone migrate ssh://destinationhost
zoneadm: zone 'z1': Importing zone configuration.
zoneadm: zone 'z1': Attaching zone.
zoneadm: zone 'z1': Migration successful.
zoneadm: zone 'z1': Cleaning up.

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

2

用法无效。

属性

有关下列属性的说明,请参见 attributes(7)

属性类型
属性值
可用性
system/zones
接口稳定性
Committed(已确定)

另请参见

read(1)svcs(1)zlogin(1)zonename(1)libuuid(3LIB)zfs(4FS)mwac(7)、attributes(7)brands(7)smf(7)solaris-kz(7)suri(7)zones(7)init(8)kernel(8)rad(8)svc.startd(8)svc.startd(8)svcadm(8)zonecfg(8)zpool(8)sysadm(8)solaris(7)

Oracle OpenBoot 4.x Administration Guide

附注

zones(7) 服务由服务管理工具 smf(7) 管理,其服务标识符为:

svc:/system/zones:default

可以使用 svcadm(8) 来对此服务执行管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。

在安装或升级只读区域之后进行第一次引导,或以 –w/–W 模式引导区域时,将禁用只写保护。请注意在其他方面对该区域进行保护。