solaris-kz - solaris 内核区域
solaris-kz 标记使用 brands(7) 中所述的标记区域框架运行区域,此类区域的内核和 OS 安装独立于全局区域使用的内核和 OS 安装。
solaris-kz 安装独立于全局区域的安装;该安装不是 pkg 链接映像,可以独立于全局区域内容进行修改。solaris-kz 区域可以像其他标记区域那样直接从全局区域安装,也可以按下文中所述通过引导介质安装。
指定用于安装的清单时,使用的清单应是一个适合全局区域安装的清单。由于内核区域始终安装到根池的已知位置,不应指定安装目标磁盘。
引导环境 (Boot Environment, BE) 管理独立于全局区域。在全局区域中创建引导环境不会在该区域中创建新引导环境。有关更多信息,请参见 beadm(8) 手册页。
solaris-kz 区域与其他标记区域不同,该区域运行单独的内核,从全局区域分析该区域时会有一些明显的不同。
在 solaris-kz 区域中运行的进程不能直接从全局区域访问。例如,要查看名为 kz-zone 的内核区域中的一系列进程,不能使用带 –z kz-zone 选项的 ps 命令,而需要使用以下命令:
# zlogin kz-zone ps -e
全局区域和每个内核区域管理自己的进程 ID 空间。因此 process 1234 可能同时存在于全局区域以及一个或多个内核区域。这些进程是不同的进程。如果全局区域管理员要中止 kz-zone 中的 process 1234,应使用以下命令或等效命令执行此操作:
# zlogin kz-zone kill 1234
从全局区域运行 ps(1) 和类似工具将看到与管理 solaris-kz 区域实例关联的进程,如 kzhost 和 zlogin-kz。这对于调试很有用,但在其他情况下,这些是专用实现详细信息。
类似地,资源管理功能也是不同的。例如,在配置 solaris-kz 区域时 max-processes 这类资源控制不可用,因为其只在共享单个内核实例时才有意义。即在 solaris-kz 区域内运行的进程不会占用全局区域中的进程表槽,因为内核是独立的。
zonestat 实用程序显示区域的资源使用情况。其输出通常是正确的,但可能会反映主机值。例如,lwps 这类资源控制值显示主机上使用的 lwps,而不是在区域内使用的 lwps。
solaris-kz 标记使用特定的硬件功能;这些功能在较旧的系统和虚拟环境中可能不可用。要检查系统是否支持 solaris-kz brand,请安装 brand-solaris-kz 软件包,然后运行 virtinfo 命令。
# virtinfo -c supported list kernel-zone
如果在支持列表中没有显示 kernel-zone,可查看 syslog 获取更多信息。与内核区域有关的消息将包含字符串 kernel-zone。
mpstat(8)、iostat(8)、vmstat(8) 和其他实用程序报告的窃取时间直接反映了主机可能将 CPU 资源用于其他用途时内核区域不能运行的时间。
solaris-kz 标记区域必须位于一个或多个设备上。如果配置没有在安装之前定制,缺省 zfs(8) 卷将在全局区域的 root zpool 中创建。使用设备资源指定安装区域的设备时,这些设备资源的 bootpri 属性可设置为任何正整数值。如果不会将某个设备用作引导设备,则该设备不能设置 bootpri 属性。 要取消设置 bootpri,可在设备资源范围内清除 bootpri。如果在安装过程中存在多个可引导的设备,则这些设备将用于区域中的镜像 ZFS 根池。bootpri 属性指定与其他 bootpri 条目的相对顺序。缺省引导顺序通过对条目排序来确定:先按 bootpri(较小条目排在较大条目之前),然后按 id(如果多个设备具有相同 bootpri)。例如,
# zonecfg -z vzl-129 info device device: storage: dev:dsk/c0t0d0s0 id: 0 bootpri: 2 device: storage: dev:dsk/c0t1d0s0 id: 1 bootpri: 2 device: storage: dev:dsk/c0t2d0s0 id: 2 bootpri: 1
在以上示例中,引导顺序为:C、A、B。
不能为内核区域设置 zonepath。作为一项实现具体设置,会使用 tmpfs(4FS) 将其设置为一个固定位置。它不包含任何持久数据或用户可调的数据。由于区域根包含在根 ZFS 卷内,因此它不会挂载到全局区域的区域路径下,这点与传统区域不同。访问区域根只能通过区域本身来实现,例如 zlogin。
solaris-kz 区域不能直接利用共享内核功能(如 ZFS 数据集和文件系统挂载),而是通过块设备(如原始磁盘、ZFS 卷和 lofi 设备)来为区域提供存储。
solaris-kz 区域的根始终可以访问。可以通过在 zonecfg 中使用 add device 来添加存储。只能设置存储属性。匹配属性不受支持。存储 URI 用于配置磁盘设备。有关更多信息,请参见 suri(7) 手册页。
local device 路径存储 URI 可以设置为存储属性。它可以是 ZFS 卷、原始磁盘或 lofi 设备。指定的设备必须是整个磁盘或 LUN。可以使用不带任何分区/分片后缀的设备路径,例如:
# zonecfg -z myzone zonecfg:myzone> add device zonecfg:myzone:device> set storage=dev:/dev/rdsk/c4t9d0 zonecfg:myzone:device> set id=4 zonecfg:myzone:device> set bootpri=1
可以指定 id 来固定区域内的磁盘地址。如果不指定,则自动分配。
也可在存储属性中配置可移植存储 URI,使区域的配置可移植到其他主机系统。
例如:
# zonecfg -z myzone zonecfg:myzone> add device zonecfg:myzone:device> set storage=nfs://user1:staff@host1/export/file1 zonecfg:myzone:device> set create-size=4g
要查看关于设备资源的当前配置的信息,请使用 info 子命令。例如:
# zonecfg -z myzone info device device: storage: dev:/dev/zvol/dsk/rpool/VARSHARE/zones/myzone/disk0 id: 0 bootpri: 0 device: storage: nfs://user1:staff@host1/export/file1 create-size: 4g id: 1 bootpri not specified
您还可以通过指定 id 来缩短输出:
# zonecfg -z myzone info device id=1 device: storage: nfs://user1:staff@host1/export/file1 create-size: 4g id: 1 bootpri not specified
要将区域安装到非缺省位置(例如某个 iSCSI 逻辑单元),必须修改根磁盘的设备资源。例如:
# zonecfg -z myzone zonecfg:myzone> select device id=0 zonecfg:myzone:device> set storage=iscsi://host/luname.naa.0000abcd
必须至少将一个设备的 bootpri 设置为正整数以指示该设备是可引导的。在内核区域内部,所有用作 ZFS 根池的镜像或者备件的设备必须是可引导的。如果在引导时无法映射设备的 URI,例如,缺少设备或 iSCSI 存储处于脱机状态,则无法引导此类区域。
对于 solaris-kz 标记区域,add device 只支持存储设备。
将 allow-mhd 属性设置为 "true" 时,允许应用程序在给定设备上使用 mhd(4I) SCSI 预留空间 ioctl。仅当后端 SCSI 设备支持预留空间时,才有可能做到这一点。设置此属性将对区域产生以下影响:
禁用区域的实时迁移和暂停/恢复。
禁止对此类设备执行实时区域重新配置。
设备不能同时由主机上正在运行的任何其他区域共享。
内核区域必须是独占栈。通过对以太网数据链路添加 net 或 anet 资源、对 IPoIB 数据链路添加 anet 资源来提供网络访问。由这些资源指定的数据链路将用作区域中可见的数据链路的后端。可同时指定 IPoIB 和以太网网络资源,并且区域中可见的数据链路将具有对应的介质类型。对于存储设备,可以指定 ID 来标识区域内的虚拟 NIC 地址。不支持通过 net 资源添加 InfiniBand 网络链路。
内核区域可以自己托管区域(在这种情况下,内核区域充当这些区域的全局区域)。对托管区域的网络访问仅通过以太网数据链路提供,不通过 IPoIB 数据链路提供。但是,因为内核区域的网络配置部分由其区域配置定义,托管区域在可以使用的 MAC 地址方面受到限制。
对于以下情况,允许尝试引导 mac-address 设置为 random 的区域:
如果为 anet 配置的 allowed-mac-address 为 any。
如果为 anet 配置的 allowed-mac-address 为 2:8:20,其中,2:8:20 是 VNIC 的缺省 OUI。
如果用户指定的 MAC 地址匹配任一 allowed-mac-address 列表,则允许尝试引导 mac-address 设置为特定 MAC 地址的区域。有关 allowed-mac-address anet 属性的更多信息,请参见 zonecfg(8) 手册页。
要向内核区域提供额外的 MAC 地址,请将其添加到相关资源的 mac-address 属性。有关更多信息,请参见 zonecfg(8) 手册页。这将使该 mac-address 成为内核区域中的出厂地址。
托管区域然后可以自己使用该 MAC 地址。为此,需要将托管区域的 mac-address 属性配置为所设置的显式 MAC 地址(使用 mac-address 属性),或指定 auto。有关这些设置的详细信息,请参见 zonecfg(8) 手册页。
必须将固定数量的主机 RAM 分配给内核区域。这通过在 zonecfg(8) 中为 capped-memory 资源设置 physical 属性来配置。指定值必须舍入到支持的平台值。分配的内存将被锁定,因此交互设备不能对其分页。
指定物理属性时,您还需要指定 zonecfg(8) 中 capped-memory 资源的 pagesize-policy 属性。pagesize-policy 属性用于指定 solaris-kz 标记的策略,以使用物理内存的大页面。pagesize-policy 属性仅可与物理属性共同使用。以下是 pagesize-policy 属性的可接受关键字:
仅分配内核区域物理内存可能的最大页面大小。如果无法分配所有页面,则引导区域将失败。
如果无法分配所有具有特定页面大小的物理内存,可以尝试提供可能的最大页面大小,从而按比例缩小页面大小。该属性用于引导区域。
将选择引导特定平台的内核区域所需的最小允许页面大小。
清除 pagesize-policy 属性,或者不提供该属性,这对于支持较旧的暂停映像格式是必需的。它允许 KZ 从新系统实时迁移到旧系统并进行恢复。将选择引导特定平台的内核区域所需的最小允许页面大小。
如 zonecfg(8) 中所述,可以使用虚拟 CPU 和专用 CPU 资源定义可用于内核区域的 CPU。通常,专用 CPU 用于隔离某个 CPU 资源以仅用于内核区域,而在共享 CPU 以对在内核区域中可用的 CPU 资源进行更细的控制时使用虚拟 CPU。
根据虚拟 CPU 和专用 CPU 资源的配置方式,CPU 配置行为有所不同。
内核区域获取了四个与物理主机系统上所有其他应用程序线程争用计算时间的虚拟 CPU 线程。
如果 virtual-cpu:ncpus 值为 N,内核区域获取了 N 个与物理主机系统上所有其他应用程序线程争用或共享计算时间的虚拟 CPU 线程。
内核区域获取的虚拟 CPU 线程数等于专用 CPU 资源中的等效 CPU 数(可从 CPU、核心、套接字等方面而言)。虚拟 CPU 线程将单独使用专用计算资源,且不与同一物理主机上运行的其他应用程序线程共享该资源。
这种使用情况不常见。在此情况下,您可以覆盖虚拟 CPU 线程数,以使其不与等效的专用虚拟 CPU 资源数完全一致。但是,指定了多个虚拟 CPU 时,它们仍将单独使用专用 CPU 资源。虚拟 CPU 计数不能超过专用 CPU 计数。
建议不要对专用 CPU 资源使用范围。在引导内核区域时,为内核区域创建的虚拟 CPU 数是固定的。对于具有 ncpu 范围的专用 CPU 区域,CPU 数可以是范围内的任何数。如果自动向区域的 pset 添加了更多 CPU 或当发生此情况时,内核区域将无法使用 CPU,从而导致其处于空闲状态。当自动从区域的 pset 删除 CPU 时,来宾会被严重过量使用,即,虚拟 CPU 超过 CPU,从而导致性能较低。
可以通过 zoneadm suspend 命令将内核区域挂起到磁盘。区域的运行状态将写入到磁盘。由于这包括区域使用的整个 RAM,因此占用的时间和空间相当多。
仅当内核区域的配置中有暂停资源时,内核区域才支持暂停和恢复。在暂停资源中,必须指定路径或存储(但不能同时指定两者)。path 属性指定将包含暂停映像的文件的名称。包含该文件的目录必须存在,并且 root 用户可写入该目录。在启动 svc:/system/zones:default 之前挂载的任何文件系统都可使用。storage 属性指定将包含暂停映像的磁盘设备的存储 URI(请参见 suri(7))。将使用整个设备。此设备不能共享。
暂停映像会在写入之前压缩。因此,暂停映像的大小通常会明显小于区域的 RAM 大小。在暂停期间,会向控制台日志中输出并记录一条消息,指示暂停映像的大小。
在压缩之后,会使用 AES-128-CCM 对暂停映像加密。加密密钥是由 /dev/random(请参见 random(4D) 手册页)自动生成的,并存储在密钥源资源的 raw 属性中。
如果区域挂起,zoneadm boot 命令将恢复区域。如果不需要恢复,可以使用 boot –R 选项进行全新引导。
如果多个主机可以访问暂停映像和区域的其余存储(通常通过使用 suspend:storage 和 device:storage 属性访问),则暂停映像可用于支持使用 zoneadm(8) 中的 zoneadm migrate 命令执行热迁移,但是在迁移之前要使用 zoneadm suspend,而不是 zoneadm shutdown。这将避免在目标主机上产生区域启动成本(不包括恢复区域所用的时间)。
热迁移不检查源主机与目标主机之间的兼容性。
源主机和目标主机必须采用相同的平台。在 x86 上,供应商 (AMD/Intel) 以及 CPU 型号名称必须匹配。在 SPARC 上,硬件平台必须相同。例如,不能从 T4 主机向 T5 主机执行热迁移。如果要在不同的硬件平台之间迁移,需要在 cpu-arch 属性中相应地指定迁移类。
SPARC 平台上可能的迁移类包括:
内核区域可以执行与 CPU 类型无关的迁移,但不能迁移到版本低于 T4 的系统。
内核区域可以在 SPARC T4、SPARC T5、SPARC M5、SPARC M6、SPARC M7、SPARC T7 和 SPARC S7 之间执行跨 CPU 类型的迁移。
内核区域可以在 Fujitsu M10 和 Fujitsu SPARC M12 之间执行跨 CPU 类型的迁移。
如果未设置任何值,则内核区域的 CPU 迁移类与主机的相同。内核区域可以在与主机 CPU 类兼容的 CPU 类型之间迁移。
请注意,内核区域的 CPU 迁移类不能超出主机 CPU 类的限制。
另请注意,当 cpu-arch 设置为迁移类时,性能计数器将不可用。
Intel 平台上可能的迁移类包括:
内核区域可以在 Nehalem 或以后的微体系结构的 CPU 之间执行跨 CPU 类型的迁移。此类支持的功能包括:sse、sse2、sse3、sse4.1、sse4.2、ssse、cx8、cx16、pdcm、popcnt、fpu、pse、pse36、tsc、tscp、msr、pae、mce、sep、pge、cmov、clfsh、mmx、fxsr、htt、ss、ahf64、sysc、nx-bit、long-mode。
内核区域可以在 Westmere 或以后的微体系结构的 CPU 之间执行跨 CPU 类型的迁移。此类支持的功能包括:migration-class1 和 pclmulqdq、aes、1g-page 支持的所有功能。
内核区域可以在 Sandy Bridge 或以后的微体系结构的 CPU 之间执行跨 CPU 类型的迁移。此类支持的功能包括:migration-class2 和 xsave、avx 支持的所有功能。
内核区域可以在 Ivy Bridge 或以后的微体系结构的 CPU 之间执行跨 CPU 类型的迁移。此类支持的功能包括:migration-class3 和 f16c、rdrand、efs 支持的所有功能。
内核区域可以在 Haswell 或以后的微体系结构的 CPU 之间执行跨 CPU 类型的迁移。此类支持的功能包括:migration-class4 和 fma、movbe、bmi1、bmi2、avx2、lzcnt 支持的所有功能。
内核区域可以在 Broadwell 或以后的微体系结构的 CPU 之间执行跨 CPU 类型的迁移。此类支持的功能包括:migration-class5 和 rdseed、adx、prfchw 支持的所有功能。
请注意,当 cpu-arch 设置为迁移类时,性能计数器将不可用。仅导线束或超线程特定的 CPU 性能计数器可用。这意味着引用其他类型的计数器的一些命令(例如 busstat 和 daxstat)在内核区域中可能无法运行。
没有适用于 AMD CPU 的迁移类。
如果未设置任何值,则内核区域可在相同的微体系结构的 CPU 或类型完全相同的 CPU(如果无法识别微体系结构)之间迁移。
除了迁移类以外,您可能还需要在 host-compatible 属性中指定主机兼容性级别,确保在源主机和目标主机上运行的 Oracle Solaris 版本支持的硬件功能匹配。
在恢复时,使用区域的当前配置来引导,并允许指定新的配置。但是,存在一些限制,因为恢复区域需要特定设置。任何不兼容都将导致引导失败。例如,出现以下情况时,引导过程可能会失败:
CPU 支持不同特性(有关示例,请参见 cpuid(4D))
配置具有不同的 capped-memory 值
配置定义了不同的虚拟 CPU 数量
缺少磁盘(没有具有合适的 id 属性的 device 资源)
缺少虚拟 NIC(没有具有合适的 id 属性的 net 或 anet 资源)
没有对存储标识执行特定检查请注意,管理员有责任确保在特定 ID 下列出的设备是区域应该看到的设备。
如 zoneadm(8) 手册页所述,内核区域可以使用 zoneadm migrate 命令冷迁移或实时迁移到兼容主机。
对于实时迁移和冷迁移,必须配置以下服务和软件包:
必须同时在目标系统和源系统上安装 pkg://system/management/rad/module/rad-zonemgr 软件包。
必须根据 zoneadm migrate 命令所使用的 RAD URI 启用 svc:/system/rad:local 或 svc:/system/rad:remote 实例。
必须在源系统上启用 svc:/system/rad:local 实例。
必须在目标系统上启用 svc:/network/kz-migr:stream 服务(仅对于实时迁移)。
实时迁移具有与上面“挂起、恢复和热迁移”部分所述相同的兼容性限制。
为此标记定义了以下辅助状态(如 zoneadm list -is 所示):
此区域已挂起,下一次引导时将恢复。请注意,必须连接此区域才能看到此状态。
此区域处于 running 状态,但内核调试器正在此区域内运行,因此无法处理网络请求等。可以连接到区域控制台与调试器交互 (kmdb)。
此区域处于 running 状态,但区域遇到紧急情况,不过主机未受影响。
区域正在完全运行,但是正实时迁移到另一个主机。
区域已在主机上引导,且正在接收实时迁移映像,所以未完全运行,直到迁移完成。
区域对系统已知,但是缺少配置。区域状态始终为不完整。
内核区域的每个可引导设备都包含称为主机数据的状态信息。此数据跟踪区域在何处使用、是否已暂停以及其他状态信息。主机数据使用 AES-128-CCM 加密和验证,将相同的加密密钥用于暂停映像。
在读取或引导某个内核区域时,会读取主机数据以确定是否有其他系统在使用该内核区域的引导存储。如果有其他系统在使用引导存储,则该内核区域将进入不可用状态,并且错误消息将指示哪个系统正在使用引导存储。如果可以确定没有其他系统在使用引导存储,则可以在 zoneadm attach 中使用 -x force-takeover extended 选项修复该内核区域。在执行此命令之前,请查看下面的警告。
如果加密密钥不可访问,则将无法读取主机数据和任何暂停映像。在这种情况下,任何读取或引导区域的尝试都将导致区域进入不可用状态。如果无法恢复加密密钥,则可以在 zoneadm attach 子命令中使用 -x initialize-hostdata extended 选项来生成新的加密密钥和主机数据。在执行此命令之前,请查看下面的警告。
要防止在手动热迁移或冷迁移过程中丢失加密密钥,请在源系统上使用 zonecfg export 生成一个可在目标系统上使用的命令文件。例如:
root@host1# zonecfg -z myzone export -f /net/.../myzone.cfg root@host2# zonecfg -z myzone -f /net/.../myzone.cfg
在此示例中,由于 myzone.cfg 包含加密密钥,因此必须保护其内容以防泄露。
可以使用 SYSsolaris-kz 模板对 solaris-kz 标记区域进行配置。
此标记不支持以下 zonecfg(8) 资源和属性:
anet:address capped-memory:locked capped-memory:swap dataset device:allow-partition device:allow-raw-io fs file-mac-profile fs-allowed ip-type limitpriv global-time max-lwps max-msg-ids max-processes max-sem-ids max-shm-memory rctl:zone.max-lofi rctl:zone.max-swap rctl:zone.max-locked-memory rctl:zone.max-shm-memory rctl:zone.max-shm-ids rctl:zone.max-sem-ids rctl:zone.max-msg-ids rctl:zone.max-processes rctl:zone.max-lwps rootzpool zpool
对于此标记,实时区域重新配置支持以下 zonecfg(8) 资源和属性:
anet (with exceptions stated below) device ib-vhca ib-vhca:port net (with exceptions stated below) virtual-cpu
对于此标记,实时区域重新配置不支持以下 zonecfg(8) 资源和属性:
anet:allowed-address anet:configure-allowed-address anet:defrouter anet:evs anet:vport capped-cpu (zone.cpu-cap) capped-memory cpu-shares (zone.cpu-shares) dedicated-cpu hostid keysource net:allowed-address net:configure-allowed-address net:defrouter pool rctl scheduling-class cpu-arch tenant host-compatible
如果在持久配置中更改了列出的不支持的资源和属性并将更改应用于正在运行的区域,实时区域重新配置将忽略这些更改。
如果尝试在实时配置中修改列出的不支持的资源和属性,这些修改都将被拒绝。
对具有虚拟 NUMA 拓扑的内核区域启用 virtual-cpu 的实时重新配置,直到其第一次暂停为止。恢复 virtual-cpu 后,将对此类内核区域禁用实时重新配置,直到其下次重新引导为止。没有虚拟 NUMA 拓扑的内核区域不受此限制的影响。
应该针对相同的介质类型对 solaris-kz 标记支持的 anet 和 net 属性做出更改。
solaris-kz 标记支持的属性具有如下所列的特定缺省值:
Resource Property Default Value global zonepath /system/zones/%{zonename} autoboot false ip-type exclusive auto-shutdown shutdown net configure-allowed-address true anet mac-address auto lower-link auto link-protection mac-nospoof linkmode cm anet:mac mac-address auto ib-vhca smi-enabled off ib-vhca:port pkey auto
以下 solaris-kz 标记特定的子命令选项受 zoneadm(8) 支持。
将指定的 solaris-kz 标记区域映像连接到区域。假定区域的可引导设备已正确填充。
-c config_profile.xml | dir 选项提供要应用的配置文件或配置文件的目录。有关更多信息,请参见 sysconfig(8) 手册页。
所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profile、site-profile 或 node-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。
-x force-takeover 扩展选项清除指示区域已在其他系统上安装或运行的状态信息。使用此选项时需要极其谨慎:如果某个区域的两个实例同时使用同一个存储,则将损坏文件系统。
-x initialize-hostdata 扩展选项重新初始化加密密钥和主机数据。与使用 -x force-takeover 一样,在使用此选项之前,要确保没有其他系统在使用该区域。
除了禁用使用中的检查,此选项还将重置存储的任何数据,例如,区域的时间。仅当加密密钥已丢失时,才应使用此选项进行恢复。
如果区域挂起,可以使用 -R 选项忽略挂起的映像(稍后将删除该映像),并进行全新引导。
diskn 选项告知引导装载程序从特定的磁盘引导。zonecfg 中的设备 ID 从 0 开始,但 diskn 中的 n 是系统识别的磁盘编号(从 1 开始)。diskn 中的 n 是以 zonecfg + 1 表示的设备 ID。要从 zonecfg 中的设备 0 引导,必须运行以下命令:
zoneadm -z zonename boot -- disk1
且不是磁盘 0。
–L 选项通知引导装载程序列出可用的引导环境。可通过交互方式选择要引导的引导环境。
–Z 选项通知引导装载程序引导特定的引导环境。
提供从系统信息库安装后将应用的配置文件或配置文件的目录。
所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profile、site-profile 或 node-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。
对于 zoneadm clone,如果存储是自动创建的,则其创建时的大小与源区域中磁盘的大小相同。
仅支持在安装后至少完整引导过的内核区域。区域的所有发布者必须可从该区域内部访问。
可以使用全局区域的发布者和缺省 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) 创建。
从指定的统一归档文件安装。archived_zone 可以是全局区域、核心区域或 solaris 标记区域。如果归档区域是 solaris 标记区域,则执行非全局-全局 pkg 映像转换。为了成功转换,区域的安装环境必须有足够的网络访问,从而允许访问所有 pkg 发布者。最轻松的实现方式是允许通过 DHCP 配置核心区域的网络。
从指定介质引导并安装。
提供从系统信息库安装后将应用的配置文件或配置文件的目录。
所有配置文件必须具有 .xml 扩展名。缺省情况下,配置文件将安装在 sysconfig-profile smf 层中。如果配置文件存在于名为 enterprise、site 或 node 的 dir 的子目录中,该配置文件将在 enterprise-profile、site-profile 或 node-profile 层应用。所有其他配置文件将在 sysconfig-profile 层应用。有关更多信息,请参见 smf(7) 手册页。
提供引导到 AI 介质来执行安装时要应用于安装环境的配置文件或配置文件目录。
所有配置文件必须具有 .xml 扩展名。
将指定给自动化安装程序的清单文件。
显式设置根文件系统的大小(缺省值为 16g)。指定大小时,可以使用结尾字母(例如 't'、'g'、'm'、'k' 或 'b'),也可以不使用任何结尾字母,即表示字节。最大大小取决于 rpool 的空闲空间。
在安装后保持内核区域登录到控制台,从而允许与安装系统进行交互。此选项仅对 –a 或 –b 选项有效。
从 https URI 处的统一归档文件安装时使用指定的证书、CA 证书和/或密钥。仅在与 –a 选项一起使用时有效。
安装过程的详细输出。
使用 archived_zone 从统一归档文件安装区域。请参见 archiveadm(8) info 命令的输出中的 "Deployable Systems"(可部署系统)了解特定统一归档文件的可用值列表。仅在与 –a 选项一起使用时有效。
使用指定的 cipher 对内存传输进行加密。值为 "none" 将禁用加密。可以使用值 "list" 来列出支持的加密算法。如果未指定,将根据源功能和目标功能自动选择 cipher。
指定要执行的迁移类型。如果指定了实时迁移,则只支持迁移正在运行的区域。如果选择了 auto,则将冷迁移已安装的区域或实时迁移正在运行的区域。如果未指定任何类型,则缺省值为 auto。
# zoneadm -z myzone boot -- -Z rpool/ROOT/solaris示例 2 从备用引导设备引导
# zoneadm -z myzone halt # zoneadm -z myzone boot -- disk2
可以在内核区域所在的同一主机上使用 VirtualBox,但必须进行相应地配置。有关更多详细信息,请参见 VirtualBox 文档。因为内核区域在单独的 Oracle Solaris 内核环境中运行,所以它们可能会发生故障,并且将与在裸机上运行的全局区域中的内核转储相同的核心。在这种情况下,转储将存储在内核区域存储中并且可以在发现任何 Oracle Solaris 故障转储的同一位置中发现它们,具体取决于由 dumpadm(8) 配置的故障转储参数。内核区域还能够使用 zoneadm savecore 子命令从主机环境生成核心转储。此外,如果内核区域确实崩溃并尝试转储核心映像但无法成功地将核心保存到内核区域的存储中,则它将请求主机来保存核心映像,就像发出了 zoneadm savecore 子命令一样。核心将保存在 coreadm(8) 指定的位置中,只有 coreadm(8) 已经配置了一个位置并且启用了内核区域核心转储时这才能成功。