solaris10 标记使用 brands(5) 中介绍的标记区域框架,使得 Solaris 10 二进制应用程序无需经过修改即可在具有最新 Solaris 操作系统内核的计算机上运行。
Oracle Solaris 10 区域是用于承载在 Oracle Solaris 11 内核上运行的 x86 和 SPARC Solaris 10 9/10(或以后发行的 Oracle Solaris 10 更新)用户环境的 solaris10 标记区域。
请注意,如果首先在原始系统上安装内核修补程序 142909-17 (SPARC) 或 142910-17 (x86/x64) 或更高版本,则可以使用较早的 Oracle Solaris 10 发行版。
solaris10 标记包括将 Solaris 10 系统映像安装到非全局区域所必需的工具。它还支持将 Solaris 10 本地区域迁移到 solaris10 标记区域所必需的工具。该标记支持在运行最新 Solaris 操作系统的 SPARC 或 x86 计算机上执行 32 位和 64 位 Solaris 10 应用程序。
solaris10 标记支持完全根非全局区域模型。所有必需的 Solaris 10 软件及任何其他软件包都安装在区域的专用文件系统中。
区域只能位于其自己的 zfs(1M) 数据集中并且仅支持 ZFS。在安装或连接区域时,将自动创建 ZFS 数据集。如果无法创建 ZFS 数据集,区域也无法安装或连接。
zonecfg(1M) 实用程序可用于配置 solaris10 标记区域。在创建区域时可以使用 SYSsolaris10 模板,也可以手动设置配置。一旦安装了标记区域,便不能更改或删除该区域的标记。zoneadm(1M) 实用程序可用于报告区域的标记类型和管理区域。zlogin(1) 实用程序可用于登录到区域。
当前对委托 ZFS 数据集配置的支持是试验性的,尚未经过测试。无法在标记区域中配置 /dev/sound 设备。此外,在全局区域中用于检查 solaris10 标记区域中执行的进程时,mdb(1) 和 dtrace(1M) 无法完全正常运行。
对于此标记,实时区域重新配置支持以下 zonecfg(1M) 资源和属性:
anet (with exceptions stated below) capped-memory dedicated-cpu device fs net (with exceptions stated below) pool scheduling-class zone.* rctls
对于此标记,实时区域重新配置不支持以下 zonecfg(1M) 资源和属性:
admin anet:allowed-address anet:configure-allowed-address anet:defrouter dataset file-mac-profile fs-allowed limitpriv net:allowed-address net:configure-allowed-address net:defrouter zpool
如果在持久配置中更改了列出的不支持的资源和属性并将更改应用于正在运行的区域,实时区域重新配置将忽略这些更改。
如果尝试在实时配置中直接修改列出的不支持的资源和属性,这些修改都将被拒绝。
此标记不支持以下 zoneadm(1M) 资源和属性:
autoshutdown=suspend anet:id device:id net:id virtual-cpu anet:mac
对于 solaris 标记,实时区域重新配置支持以下 zoneadm(1M) 资源和属性:
anet (with exceptions stated below) capped-memory dedicated-cpu device fs net (with exceptions stated below) pool scheduling-class zone.* rctls zpool
对于 solaris 标记,实时区域重新配置不支持以下 zoneadm(1M) 资源和属性:
admin anet:allowed-address anet:configure-allowed-address anet:defrouter dataset file-mac-profile fs-allowed limitpriv net:allowed-address net:configure-allowed-address net:defrouter anet:mac
如果在持久配置中更改了列出的不支持的资源和属性并将更改应用于正在运行的区域,实时区域重新配置将忽略这些更改。
如果尝试在实时配置中修改列出的不支持的资源和属性,这些修改都将被拒绝。
solaris10 标记安装程序支持通过已安装的 Solaris 10 系统的映像安装区域。这可以是完整的 cpio(1) 或 pax(1) xustar 归档文件。cpio 归档文件可以使用 gzip(1) 或 bzip2(1) 进行压缩。此映像也可以是级别为 0 的 ufsdump(1M),或者是到 Solaris 10 系统根目录树顶级的路径。不能从标准的 Solaris 10 分发介质中安装区域。
从 Solaris 10 进行迁移时,可以将区域配置为 sparseroot 区域。这种情况下,在生成归档文件前,应该在主机上已配置好区域。这样可以确保在归档文件中包含继承的目录。
此标记不支持以下 zonecfg(1M) 资源和属性:
autoshutdown anet:evs anet:vport device:id file-mac-profile net:id tenant virtual-cpu anet:mac
solaris10 标记支持的属性具有如下所列的特定缺省值:
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
存在 ZFS 数据集 com.oracle.zones.solaris10:activebe 用户属性以支持 Solaris 10 标记区域的多引导环境。要激活引导环境,用户必须在区域的根数据集上设置 com.oracle.zones.solaris10:activebe 属性,如下所示:
# zfs set com.oracle.zones.solaris10:activebe=\ boot environment name zone's ROOT dataset
具有多个引导环境的已安装 Solaris 10 区域需要设置 activebe 属性。如果未设置该属性,或者将其设置为缺失或无效的引导环境名称,则该区域将在下一次区域或系统引导时转换为不可用状态。要解决此问题,必须更正 activebe 属性,并且区域必须与 zoneadm attach 连接。有关更多信息,请参见示例 4 和示例 5。
支持 zoneadm(1M) 标记特定子命令的下列参数:
将指定的 Solaris 10 本地区域映像连接到标记区域。
安装某个区域时,可直接复制现有的已安装区域。该子命令是一种备选的区域安装方法。
提供取消配置克隆的区域后将应用的 sysidcfg 文件。
将指定的 Solaris 10 系统映像安装到区域中。要求使用 –u 或 –p 选项以及–a 或 –d 选项。
到已安装的 Solaris 10 系统、已安装的 Solaris 10 本地区域或 Solaris 10 标记区域的统一归档文件 cpio(1)、pax(1) xustar、zfs 归档文件或级别 0 ufsdump(1M) 的路径。cpio 和 zfs 归档文件可以使用 gzip 或 bzip2 进行压缩。
archiveadm(1M) 在 Solaris 10 上不存在。必须从全局区域创建包含 Solaris 10 标记区域的统一归档文件。统一归档文件的存在形式可以为路径或文件名、http 或 https URI。如果使用了 https,则可以使用 –x 选项指定 https 安全参数。
提供安装后将应用的 sysidcfg 文件。
到已安装的 Solaris 10 系统的根目录的路径。
在安装区域后保留系统配置。当从统一归档文件进行安装且归档文件是恢复归档文件时,将默示使用 –p,但是可以使用 –u 进行覆盖。
-x cert=/path/cert.pem -x cacert=/path/cacert.pem -x key=/path/key.pem
使用指定的证书、CA 证书和/或密钥可以通过 https 访问统一归档文件。
无提示安装。
安装区域后对区域运行 sys-unconfig。当从统一归档文件进行安装且归档文件不是恢复归档文件时,默示使用 –u。
安装过程的详细输出。
solaris10 区域只支持用户级的 Solaris10 应用程序。不能使用 solaris10 区域中的 Solaris 10 设备驱动程序或 Solaris 10 内核模块。不过,取决于内核模块,您可能能够将最新的 Solaris 内核模块版本用于 Solaris 10 用户级应用程序。
以下示例显示了如何为物理到虚拟 (P2V) 迁移创建归档文件。这是在运行 Solaris 10 的系统的全局区域中执行的。在 Solaris 10 系统中绝对不能配置、安装或运行任何非全局区域。Solaris 10 系统可以使用 ZFS 或 UFS 作为其根文件系统。
# flarcreate -n s10box -c /net/somehost/p2v/s10box.flar示例 2 使用 Flash 归档文件安装 solaris10 标记区域
以下示例使用示例 1 中的归档文件安装区域。它假设已使用 zonecfg(1M) 配置了区域并将 brand 属性设置为 solaris10。
# zoneadm -z s10p2v install -a /net/somehost/p2v/s10box.flar -p示例 3 创建用于安装的 ZFS 归档文件
以下示例显示了如何为虚拟到虚拟 (V2V) 迁移创建归档文件。它假设 solaris10 标记区域的 zonepath 为 /zones/v2vzone。
首先,确定 zonepath dataset 的名称。
# dataset=$(zfs list -H -o name /zones/v2vzone)
然后,创建区域数据集的快照。
# zfs snapshot -r $dataset@v2v
最后,生成使用 bzip2 压缩的 ZFS 自包含递归流。
# zfs send -rc $dataset@v2v | bzip2 > /net/somehost/v2v/v2v.zfs.bz2示例 4 使用 ZFS 归档文件安装区域
以下示例使用 ZFS 归档文件安装区域。它假设已使用 zonecfg(1M) 配置了区域并将 brand 属性设置为 solaris10。
# zoneadm -z v2vzone install -a /net/somehost/v2v/v2v.zfs.bz2示例 5 从全局区域设置区域的活动引导环境
# zfs set com.oracle.zones.solaris10:activebe=zbe-1 \ rpool/export/zones/branded_zones/S10_zone/rpool/ROOT示例 6 从 Solaris10 标记区域创建新引导环境
以下示例从 Solaris10 标记区域创建了一个新的引导环境。该示例还展示了如何修补、激活和引导到新的引导环境。
创建新的引导环境。
# zfs snapshot rpool/ROOT/zbe-0@snap
# zfs clone -o mountpoint=/ -o canmount=noauto \ rpool/ROOT/zbe-0@snap rpool/ROOT/zbe-1
# zfs promote rpool/ROOT/zbe-1
修补引导环境。
# zfs mount -o mountpoint=/mnt rpool/ROOT/zbe-1
# patchadd -R /mnt -d /var/tmp/999999-01
# zfs unmount rpool/ROOT/zbe-1
激活新引导环境并引导到该环境。
# zfs set com.oracle.zones.solaris10:activebe=zbe-1 rpool/ROOT
# shutdown -y -g 0 -r
有关以下属性的说明,请参见 attributes(5):
|
cpio(1)、mdb(1), pax(1)、zlogin(1)、dtrace(1M), ufsdump(1M)、zfs(1M), zoneadm(1M)、zonecfg(1M)、attributes(5)、brands(5)、zones(5)