JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11 安装手册页     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

系统管理命令

文件格式

ai_manifest(4)

dc_manifest(4)

ai_manifest

- 自动化安装清单文件格式

用法概要

/usr/share/install/ai.dtd.1

描述

自动化安装程序 (Automated Installer, AI) 为 Oracle Solaris 提供可定制的无人参与安装机制,并使用基于 XML 的文件格式作为安装参数的说明。此安装参数文件称为 AI 清单。可以通过各种方式(如磁盘布局和要在系统上安装的软件)定制安装。

AI 清单具有以下部分:

下面将更详细地介绍这些部分。

要创建新的 AI 清单,请使用模板副本或来自相关安装服务映像的缺省清单。例如,如果安装服务映像位于 imagepath,则以下文件可用:

imagepath/auto_install/manifest/default.xml

此安装服务的原始缺省 AI 清单。

imagepath/auto_install/manifest/ai_manifest.xml

包含示例定制的带注释 AI 清单样例。

可以使用 installadm export 命令检索安装服务中已存在的任何清单的副本。

AI 清单还用于安装非全局区域(使用 zoneadm install 命令)。可以将 AI 清单文件传递给此命令以定制区域安装。在 AI 清单指定的内容中,只有一部分适用于安装非全局区域。下面的各部分中对这些指定内容进行了说明。

服务管理工具 (Service Management Facility, SMF) 配置文件对 AI 清单进行了补充。这些配置文件指定已安装系统的系统配置,如主机名、联网以及超级用户和初始用户的帐户设置。

有关安装服务、AI 清单和配置文件的更多信息,请参见 installadm(1M) 手册页和《安装 Oracle Solaris 11 系统》中的第 III 部分, "使用安装服务器安装"。有关配置文件格式的信息,请参见 smf(5)。

自动化安装设置

ai_instance 元素具有以下属性:

name

此清单实例的名称。

http_proxy

在安装期间用于访问远程文件的 HTTP 代理。例如,映像包管理系统 (Image Packaging System, IPS) 软件包系统信息库中的软件包即是在安装期间访问的远程文件。http_proxy 的值是 HTTP URI,如 http://myproxy.mycompany.com:8080/。

在安装非全局区域时此属性不适用;如果提供了此属性,它将被忽略。

auto_reboot

指定在安装后是否自动重新引导的标志。auto_reboot 的缺省值为 false。当 auto_reboot 为 false 时,安装将等待手动干预以重新引导。

当 auto_reboot 为 true 时,如果安装成功,则计算机将自动重新引导到新安装的引导环境。

在安装非全局区域时此属性不适用;如果提供了此属性,它将被忽略。

以下示例演示如何使用 ai_instance 元素:

<auto_install>
    <ai_instance name='default' auto_reboot='true'
      http_proxy='http://myproxy.mycompany.com:8080/'>
    <!-- target and software sections -->
    </ai_instance>
</auto_install>

磁盘布局

AI 支持各种磁盘指定方式,从完全自动化选择安装目标到对磁盘布局的细粒度控制。

target 元素指定磁盘布局。未指定 target 元素时缺省磁盘布局具有以下特征:

target 元素具有以下结构:

<!-- zero or one target element -->
<target>
    <!-- zero or more disk elements -->
    <disk ...>
    </disk>
    <logical ...>
        <!-- zero or more zpool elements -->
        <zpool ...>
        </zpool>
    </logical>
</target>

通过 target 元素的子元素可以指定磁盘和逻辑布局。

在安装非全局区域时,磁盘的指定不适用;如果指定了磁盘,它们将被忽略。

有些磁盘布局元素具有 size 子元素。size 元素具有以下格式:

<size val="size" start_sector="start_sector"/>

start_sector 值是一个数值,用于指定新分区或分片的所需开始扇区。如果省略了 start_sector 属性,则安装程序将搜索第一个足以包含指定 size 的位置。

size 的值是具有以下后缀之一的数值:

此部分的其余内容详细介绍了 disk 和 logical 元素。

安装位置

如果在客户机上未指定安装 Oracle Solaris OS 的位置,则 AI 将选择该客户机的缺省位置。

缺省的安装位置是每个客户机上找到的首个符合大小要求的磁盘。如果磁盘大小大于或等于所需的大小,那么安装程序将选择该磁盘作为安装位置。如果磁盘大小小于所需的大小,安装程序将检查下一磁盘。如果没有找到符合大小要求的磁盘,自动化安装在该客户机上将失败。/system/volatile/install_log 中的安装日志显示了该系统的磁盘选择过程的详细信息。

target 部分的 disk 部分指定安装位置。

在安装非全局区域时,磁盘的指定不适用;如果指定了磁盘,它们将被忽略。

可以使用以下类型的选择条件之一来选择磁盘:

只能从以上三组之一指定条件。如果使用第 2 组选择条件,则可以指定多个条件。例如,可以同时指定大小和供应商。如果使用第 1 组选择条件,则只能指定那些条件之一。

目标设备名称

使用 disk_name 元素可指定非 iSCSI 设备的目标设备名称。disk_name 元素具有以下属性:

name

name 属性指定目标设备的名称。

name_type

name_type 属性指定目标设备名称的类型。name_type 属性可以具有以下值之一:

ctd:控制器目标磁盘名称

这是 CTD 名称(如 c0t0d0)或 MPXIO 名称(如 c0t2000002037CD9F72d0)。运行 format(1M) 命令时,通常可看到此类型的名称。

<disk_name name="c0t0d0" name_type="ctd"/>

如果省略 name_type 属性,则这是缺省的目标设备名称类型。

volid:卷标识符

这是卷标识符,可以通过 format (1M) 命令进行设置。

<disk_name name="MY_BOOT_DISK" name_type="volid"/>
devpath:设备路径

这是相对于 /devices 目录的设备路径。

<disk_name
  name="/devices/pci@0,0/pci10de,375@f/pci108e,286@0/disk@0,0"
  name_type="devpath"/>
devid:设备标识符

这是设备标识符,可在带有 -iEn 选项的 iostat(1M) 命令的输出的 "Device Id" 中找到。

<disk_name
  name="id1,sd@TSun_____STK_RAID_INT____F0F0F0"
  name_type="devid"/>
receptacle:插口标识符

这是 CRO(Chassis, Receptacle, Occupant,机箱、插口、插卡)配置中的插口值,可在带有 -o cR 选项的 croinfo(1M) 命令的输出中找到。

<disk_name name="SYS/1" name_type="receptacle"/>
ISCSI 目标设备

使用 iscsi 元素可将 iSCSI 磁盘指定为安装目标。iscsi 元素具有以下属性:

source

source 属性指定 iSCSI 配置数据的源。source 属性可以具有以下值:

manifest

此值是指此 AI 清单。如果没有为 source 属性指定值,则这是缺省值。

省略 source 属性或者 source 属性的值为 manifest 时,必须指定 target_lun 和 target_ip 属性。

dhcp

此值是指通过在 DHCP rootpath 参数中指定 iSCSI 信息获取该信息时使用 DHCP。

当 source 属性的值为 dhcp 时,不要指定任何其他 iscsi 属性。

<iscsi source="dhcp"/>
target_name

target_name 属性指定 iSCSI 目标的 iSCSI 限定名 (iSCSI Qualified Name, IQN) 或扩展唯一标识符 (Extended Unique Identifier, EUI),如以下示例所示:

iqn.1986-03.com.sun:02:a4a694bc-6de2-ee50-8979-e25ba29acb86

如果未提供 target_name 属性,则 AI 在 sendtargets 模式下使用 iscsiadm(1M)。

<iscsi target_lun="0" target_ip="192.168.1.34"/>

如果提供了 target_name 属性,则 AI 使用静态搜索。

<iscsi target_name="iqn.1986-03.com.sun:02:a4a694bc-6de2-ee50-8979-e25ba29acb86"
    target_lun="0" target_ip="192.168.1.34"/>
target_lun

如果 iSCSI 目标提供了多个 LUN,则通过为 target_lun 指定一个整数值来指定要使用哪个 LUN。LUN 编号从 0 开始。要指定第一个 LUN,请将 target_lun 值指定为 0。

如果仅提供了一个 LUN,则可以省略此属性。

target_port

如果未指定,则使用 target_port 的缺省值 3260(iSCSI 标准端口)。通过此属性可以指定替代端口号。

target_ip

此属性的值是服务器的 IP 地址。

<iscsi target_lun="0" target_ip="192.168.1.34"/>
目标设备属性

使用 disk_prop 元素可指定目标设备的属性。可以指定多个属性。AI 将尝试基于提供的条件来查找最佳匹配。

使用 disk_prop 元素的属性可指定目标属性。disk_prop 元素具有以下属性:

dev_type:设备类型

目标磁盘的类型。可能的值包括 SCSI、ATA 和 USB。此值不区分大小写。

dev_vendor:设备供应商

由 format(1M) 命令的 inquiry 菜单选项显示的供应商。

<disk_prop dev_vendor="Sun"/>
dev_chassis:设备机箱

CRO(Chassis, Receptacle, Occupant,机箱、插口、插卡)配置中的机箱值,可在带有 -o cA 选项的 croinfo(1M) 命令的输出中找到。

<disk_prop dev_chassis="SYS"/>
dev_size:设备大小

磁盘的最小大小。其值为带有大小单位的数值。

<disk_prop dev_size="100gb"/>

disk_prop 元素允许同时指定多个属性,以便进一步约束磁盘搜索。以下示例将磁盘选择限制为大小至少为 100 GB 的 Hitachi 驱动器。

<disk_prop dev_vendor="HITACHI" dev_size="100gb"/>
目标设备关键字

可以使用 disk_keyword 元素将系统的引导磁盘指定为目标磁盘。

<disk_keyword key="boot_disk"/>

key 属性支持的唯一值是 boot_disk。

整个磁盘、分区和分片

对磁盘进行布局的最简单方法是,通过将 whole_disk 属性设置为 true 将整个磁盘用于安装。

对于更复杂的磁盘布局,可以指定分区(仅限 x86 系统)和分片。

disk 元素具有以下属性:

whole_disk

此属性的缺省值为 false。当 whole_disk 为 false 时,必须定义分区或分片。除非通过为分区或分片的 action 属性指定 delete 值来删除任何现有的分区或分片,否则将保留它们。

当 whole_disk 为 true 时,除非通过为分区或分片的 action 属性指定 preserve 值来保留任何现有的任何分区或分片,否则将删除它们。

以下示例指定将整个磁盘用于安装:

<disk whole_disk="true">
  <disk_name name="c0t0d0" name_type="ctd"/>
</disk>
in_zpool

in_zpool 属性将此磁盘链接到在 AI 清单的 logical 部分中定义的 ZFS 池。in_zpool 属性的值必须与对应 zpool 元素的 name 属性的值匹配。

如果在此处指定了 in_zpool 属性,则不要为任何从属分区或分片指定 in_zpool。

in_vdev

in_vdev 属性将此磁盘链接到在 AI 清单的 logical 部分中定义的虚拟设备。in_vdev 属性的值必须与对应 vdev 元素的 name 属性的值匹配。

如果在此处指定了 in_vdev 属性,则不要为任何从属分区或分片指定 in_vdev。

分区

只能在安装到 x86 系统时指定分区。如果为 SPARC 系统指定了分区,则安装会失败。partition 元素具有以下属性:

name

name 属性是 fdisk 分区编号。值 1、2、3 和 4 为主要分区。如果主要分区之一为扩展分区,则可以为逻辑分区指定值 5 到 32。

除非指定的 action 为 use_existing_solaris2,否则 name 属性是必需的。

action

action 属性可以具有以下值:

create

这是分区的缺省操作。create 操作通知安装程序创建具有指定名称的分区。如果已存在同名分区,则首先删除该现有分区。

delete

delete 操作通知安装程序删除指定的分区。如果指定的分区不存在,则跳过 delete 操作,并输出一条警告消息。

preserve

preserve 操作通知安装程序使指定的分区保持不变。如果在同一磁盘上的其他位置安装了其他操作系统,则通常使用此操作。

use_existing_solaris2

use_existing_solaris2 操作通知安装程序使用现有的 Solaris2 分区。安装程序将搜索现有的 Solaris2 分区。

指定了 use_existing_solaris2 时,会忽略 name 和 part_type 属性。

part_type

part_type 是 fdisk 分区类型。缺省值为 191,这是 Solaris2 分区的分区类型。有关可能的分区类型的更多信息,请参见 fdisk(1M) 命令。

in_zpool

in_zpool 属性将此分区链接到在 AI 清单的 logical 部分中定义的 ZFS 池。in_zpool 属性的值必须与对应 zpool 元素的 name 属性的值匹配。

如果指定了 in_zpool 属性,则不要为关联的 disk 元素或任何从属的 slice 元素指定 in_zpool。

in_vdev

in_vdev 属性将此分区链接到在 AI 清单的 logical 部分中定义的虚拟设备。in_vdev 属性的值必须与对应 vdev 元素的 name 属性的值匹配。

如果指定了 in_vdev 属性,则不要为关联的 disk 元素或任何从属的 slice 元素指定 in_vdev。

分区可以具有 size 子元素以指定分区的大小。有关如何使用 size 元素的详细信息,请参见“磁盘布局”部分的开头。

以下示例使用缺省属性值创建一个 10 GB Solaris2 分区:

<disk>
    <disk_name name="c0t0d0" name_type="ctd"/>
    <partition name="1">
        <size val="10gb"/>
    </partition>
</disk>

如果未指定大小,则使用父元素的大小。

preserve、delete 和 use_existing_solaris2 操作不需要指定 size。

分片

对于 x86 系统,分片必须包含在分区定义内。

slice 元素具有以下属性:

name

name 属性是分片编号。其值可以为 0 到 7。

action

action 属性可以具有以下值:

create

这是分片的缺省操作。create 操作通知安装程序创建具有指定名称的分片。如果已存在同名分片,则首先删除该现有分片。

delete

delete 操作通知安装程序删除指定的分片。如果指定的分片不存在,则跳过 delete 操作,并输出一条警告消息。

preserve

preserve 操作通知安装程序使指定的分片保持不变。当存在来自以前安装的数据时,通常使用此操作。

is_swap

此属性的缺省值为 false。当 is_swap 为 false 时,安装程序将在根池中创建一个交换卷。

当 is_swap 为 true 时,指定的分片将用作交换设备。当 is_swap 为 true 时,不要使用 in_zpool 或 in_vdev 属性。

force

此属性的缺省值为 false。

当 force 为 true 时,安装程序将忽略可能已在使用中的任何现有分片(例如,在现有的 ZFS 存储池中使用的分片),并继续对指定的分片执行指定的操作。

in_zpool

in_zpool 属性将此分片链接到在 AI 清单的 logical 部分中定义的 ZFS 池。in_zpool 属性的值必须与对应 zpool 元素的 name 属性的值匹配。

如果指定了 in_zpool 属性,则不要为关联的 partition 或 disk 元素指定 in_zpool。

in_vdev

in_vdev 属性将此分片链接到在 AI 清单的 logical 部分中定义的虚拟设备。in_vdev 属性的值必须与对应 vdev 元素的 name 属性的值匹配。

如果指定了 in_vdev 属性,则不要为关联的 partition 或 disk 元素指定 in_vdev。

分片可以具有 size 子元素以指定分片的大小。有关如何使用 size 元素的详细信息,请参见“磁盘布局”部分的开头。如果未指定大小,则使用父元素的大小。

以下示例为 SPARC 系统创建一个 20 GB 分片(使用缺省属性值)和一个 4 GB 交换分片:

<disk>
    <disk_name name="c0t0d0" name_type="ctd"/>
    <slice name="0">
        <size val="20gb"/>
    </slice>
    <slice name="1" is_swap="true">
        <size val="4gb"/>
    </slice>
</disk>

以下示例是用于 x86 系统的相同示例:

<disk>
    <disk_name name="c0t0d0" name_type="ctd"/>
    <partition name="1">
        <slice name="0">
            <size val="20gb"/>
        </slice>
        <slice name="1" is_swap="true">
            <size val="4gb"/>
        </slice>
    </partition>
</disk>

交换和转储

通过将 slice 元素的 is_swap 属性设置为 true,可以显式定义交换分片,如上面的“分片”所示。

通过将 zvol 元素的 use 属性设置为 swap 或 dump,可以将池中的卷显式定义为交换卷或转储卷,如下面的“ZFS 卷”所示。

缺省情况下,如果空间可用,则自动创建交换卷和转储卷。

在内存较低的系统上,交换分片可能比交换卷更可取,因为卷会导致少量内存开销。

如果要显式指定交换或转储但不希望自动创建交换卷或转储卷,请将 logical 元素的以下属性设置为 true:

noswap

此属性的缺省值为 false。当 noswap 为 false 时,如果空间允许,则安装程序将在根池中自动创建交换卷。

当 noswap 为 true 时,不会自动创建交换卷。

nodump

此属性的缺省值为 false。当 nodump 为 false 时,如果空间允许,则安装程序将在根池中自动创建转储卷。

当 nodump 为 true 时,不会自动创建转储卷。

ZFS 存储池

使用 target 部分的 logical 部分可指定任意数目的 ZFS 存储池。

通过使用 logical 元素的 zpool 子元素,可以定义多个池。只有其中的一个池可以是根池。如果定义多个根池,则安装会失败。

如果 zpool 元素定义了一个根池,而在 AI 清单中未指定目标磁盘、分区或分片,则安装程序将按照上面的“安装位置”中所述选择一个目标。此选择将自动指定给根池。

如果在 AI 清单中指定了目标磁盘、分区或分片,则 zpool 必须与其中至少一个磁盘、分区或分片关联。要建立此关联,请使用 disk 元素、partition 元素或 slice 元素的 in_zpool 属性。

zpool 元素具有以下属性:

name

这是新池的名称。此值必须是可以传递给 zpool create 命令的名称。

此名称应该用作 disk 、partition 或 slice 元素的 in_zpool 属性的值,以将该磁盘、分区或分片定义为 zpool 中的成员设备。

action

action 属性可以具有以下值:

create

这是 zpool 的缺省操作。create 操作通知安装程序创建具有指定名称的池。

delete

delete 操作通知安装程序删除指定的池。

preserve

preserve 操作通知安装程序使指定的池保持不变。只能为非根池指定此操作。

在以下情况下,action 属性的值必须为 preserve:

  • 任何从属 filesystem 的 action 属性值为 preserve。

  • 任何从属 zvol 的 action 属性值为 preserve。

  • 任何从属 zvol 的 action 属性值为 use_existing。

use_existing

use_existing 操作通知安装程序安装到现有的根池。将保留任何现有的卷或文件系统(数据集)。

is_root

此属性的缺省值为 false。当 is_root 为 false 时,将定义一个数据池。

当 is_root 为 true 时,将在指定的池中创建新引导环境。

mountpoint

mountpoint 属性指定池的顶层文件系统的挂载点。缺省挂载点为 /poolname。挂载点必须是绝对路径。

要对新池设置 ZFS 属性,请使用 pool_options 元素。同样,要对自动创建的 ZFS 数据集设置 ZFS 属性,请使用 dataset_options 元素。pool_options 和 dataset_options 元素都具有 option 子元素。每个 option 元素都具有 name 属性和 value 属性。使用这些名称/值对设置的属性所受的限制与 zpool(1M) 命令强制实施的限制相同。以下示例显示如何设置这些属性:

<logical>
    <zpool name="rpool" is_root="true">
        <pool_options>
            <option name="listsnaps" value="on"/>
            <option name="delegation" value="off"/>
        </pool_options>
        <dataset_options>
            <option name="atime" value="on"/>
            <option name="compression" value="on"/>
        </dataset_options>
    </zpool>
</logical>

可以为池定义任意数目的虚拟设备冗余组(vdev 元素)、ZFS 数据集(filesystem 元素)或 ZFS 卷(zvol 元素)。可以为池指定引导环境(be 元素)。以下部分介绍 vdev、filesystem、zvol 和 be 元素。

虚拟设备冗余组

使用 vdev 元素可定义 zpool 的大小或结构。可以指定多个 vdev 元素,每个元素具有不同的冗余类型。

如果 zpool 包含多个 vdev 元素,则在使用 in_zpool 属性定义的任何 disk、partition 或 slice 元素上必须使用 in_vdev 属性。

如果 vdev 名称在整个 AI 清单中是唯一的,则可以在磁盘、分区或分片上省略 in_zpool 属性。

如果 zpool 仅包含一个 vdev 元素,则可以在 disk、partition 或 slice 上省略 in_vdev 属性。

vdev 元素具有以下属性:

name

这是新 vdev 的名称。

此名称应该用作 disk、partition 或 slice 元素的 in_vdev 属性的值,以将该磁盘、分区或分片定义为 vdev 中的成员设备。

redundancy

redundancy 属性可以具有以下值:

mirror

这是缺省值。如果 redundancy 为 mirror 或者未指定,则将包含的所有设备视为彼此的镜像。

raidz、raidz1、raidz2、raidz3

组中具有这些值之一的设备用于定义 RAIDZ 分组。

spare

如果发生故障,则将此组中的设备视为热备件。

cache

此组中的设备为池提供缓存。

log、logmirror

此组中的设备用于日志记录。如果指定了 logmirror,则设备为镜像。

none

当 redundancy 为 none 时,不定义冗余。如果此组中包括多个设备,则条带化这些设备。

可以将根池定义为仅具有以下配置之一:

  • redundancy 类型为 none,包括一个设备。此配置不支持使用多个设备。

  • redundancy 类型为 mirror,包括多个设备。

要将设备添加到 vdev,请使用 disk、partition 或 slice 元素的 in_zpool 和 in_vdev 属性。以下示例指定一个名为 rpool 的根池,在两个磁盘上进行镜像:

<disk whole_disk="true" in_zpool="rpool" in_vdev="mirrored">
    <disk_name name="c0t0d0" name_type="ctd"/>
</disk>
<disk whole_disk="true" in_zpool="rpool" in_vdev="mirrored">
    <disk_name name="c1t0d0" name_type="ctd"/>
</disk>
<logical>
    <zpool name="rpool" is_root="true">
        <vdev name="mirrored" redundancy="mirror"/>
    </zpool>
</logical>

如果 in_zpool 或 in_vdev 属性引用的池或虚拟设备是明确的,则可以省略其中一个属性。

文件系统(数据集)

使用 filesystem 元素可定义 ZFS 池内的 ZFS 文件系统或数据集。

filesystem 元素具有以下属性:

name

这是新 filesystem(相对于 zpool)的名称。例如,如果在名为 rpool 的 zpool 中将 filesystem 命名为 export,则 ZFS 数据集名称为 rpool/export。

如果 filesystem 的 in_be 属性设置为 true,则此名称相对于引导环境的根数据集。

action

action 属性可以具有以下值:

create

这是 filesystem 的缺省操作。create 操作通知安装程序创建具有指定名称的文件系统。

delete

delete 操作通知安装程序删除指定的文件系统。

preserve

preserve 操作通知安装程序使指定的文件系统保持不变。如果为 filesystem 指定了 preserve,则应该为关联的 zpool 指定 preserve。

mountpoint

mountpoint 属性指定新文件系统的挂载点。如果未指定挂载点,则文件系统从其父级继承挂载点。

in_be

此属性的缺省值为 false。当 in_be 为 false 时,将在所有引导环境之间共享新的数据集。

当 in_be 为 true 时,将在每个引导环境中创建此新数据集的单独副本。如果 in_be 为 true,则 name 属性值相对于引导环境的根数据集。

使用 options 子元素可对 filesystem 设置 ZFS 数据集属性。可以设置任何可编辑的 ZFS 文件系统属性。对 filesystem 使用 options 元素与对 zpool 使用 dataset_options 元素类似,如以下示例所示:

<logical>
    <zpool name="rpool" is_root="true">
        <filesystem name="export">
            <options>
                <option name="compression" value="off"/>
                <option name="dedup" value="on"/>
            <options>
        </filesystem>
    </zpool>
</logical>

子 filesystem 会继承对父 filesystem 设置的任何属性,除非以不同方式显式设置该属性。这是 ZFS 文件系统的缺省行为。

ZFS 卷

使用 zvol 元素可定义 ZFS 池内的 ZFS 卷。zvol 通常用于交换或转储设备,但是它可以具有其他用途。

zvol 元素具有以下属性:

name

这是新 ZFS 卷的名称。

action

action 属性可以具有以下值:

create

这是 zvol 的缺省操作。create 操作通知安装程序创建具有指定名称的 ZFS 卷。

delete

delete 操作通知安装程序删除指定的卷。

preserve

preserve 操作通知安装程序使指定的 zvol 保持不变。如果为 zvol 指定了 preserve,则应该为关联的 zpool 指定 preserve。

use_existing

如果为交换或转储设备指定了此值,则会重用现有的卷。如果为 zvol 指定了 use_existing,则应该为关联的 zpool 指定 preserve。

use

use 属性可以具有以下值:

none

这是缺省值。当 use 为 none 时,在安装期间将创建 zvol 但不使用它。

swap

当 use 为 swap 时,将创建 zvol 并将其用作交换设备。在安装期间 zvol 也用作交换设备。

dump

当 use 为 dump 时,将创建 zvol 并将其用作转储设备。在安装期间 zvol 也用作转储设备。

使用 size 子元素可指定 zvol 的大小。有关如何使用 size 元素的详细信息,请参见“磁盘布局”部分的开头。

使用 options 子元素可对 zvol 设置 ZFS 卷选项。对 zvol 使用 options 元素与对 zpool 使用 dataset_options 元素类似,如以下示例所示:

<logical>
    <zpool name="rpool" is_root="true">
        <zvol name="swap">
            <options>
                <option name="compression" value="off"/>
            <options>
        </zvol>
    </zpool>
</logical>
引导环境

使用 be 元素可指定在安装期间创建引导环境的方式。

be 元素具有一个属性:

name

这是由安装程序创建的新引导环境的名称。如果未指定 be 元素,则此引导环境的缺省名称是 solaris。

安装程序利用由引导环境子系统提供的自动命名功能。在安装到现有的目标区域中时(例如,在安装区域时),具有由 be 元素 name 属性指定的名称的引导环境可能已存在。如果指定的引导环境名称已存在,则此名称将用作生成新名称的基础。例如,如果未指定 be,且名为 solaris 的引导环境已存在,则将新的引导环境命名为 solaris-n,其中 n 是构成尚不存在的引导环境名称的、按计数顺序的第一个整数。

引导环境将被创建为 ZFS 数据集,并且可以对其设置 ZFS 属性。使用 options 子元素可对引导环境设置 ZFS 属性,如以下示例所示:

<logical>
    <zpool name="rpool" is_root="true">
        <be name="installed_be">
            <options>
                <option name="compression" value="on"/>
                <option name="dedup" value="on"/>
            <options>
        </be>
    </zpool>
</logical>

软件

software 元素指定要安装的软件。software 部分指定以下信息:

software 元素具有以下属性:

name

这是 software 实例的名称。此名称在此 AI 清单中的所有 software 实例之间必须唯一。

type

这是软件源的类型。

type 属性可以具有以下值之一。如果未指定 type,则缺省值为 IPS。

  • IPS:IPS 软件包系统信息库

  • P5I:IPS 软件包文件

  • SVR4:SVR4 软件包

  • CPIO:cpio 归档文件

software 元素具有以下结构:

<!-- one or more software elements -->
<software>
    <!-- zero or one destination element
         This element is only used when type is IPS or P5I.
    -->
    <destination>
        <!-- image properties and
             optional software components
        -->
    </destination>
    <!-- one or more source elements
         IPS type: only one source element
    -->
    <source>
        <!-- one or more publisher or dir elements
             IPS, P5I, and SVR4 types:
                 one or more publisher/origin elements
             CPIO types: one or more dir elements
        -->
    </source>
    <!-- zero or more software_data elements
         At least one software_data element must have an
             action of install.
         P5I type: zero software_data elements
    -->
    <software_data>
        <!-- one or more name elements -->
    </software_data>
</software>

IPS 安装

如果未指定 type 属性,则缺省安装类型为 IPS。

对于 IPS 类型的安装,只能指定单个 source 元素。

使用 source 元素可指定要用于安装软件包的发布者。可以指定多个发布者。每个发布者必须具有至少一个源。每个发布者可以具有多个源和镜像。

在 AI 清单中定义发布者的顺序是在发布者中搜索要安装的 IPS 软件包的顺序以及在已安装系统中设置发布者的顺序。

安装非全局区域时,系统信息库由该区域使用。在 AI 清单中指定的任何发布者将按它们在 AI 清单中出现的顺序添加,在系统信息库提供的发布者之后。有关系统信息库的更多信息,请参见 pkg(1) 和 pkg.sysrepo(1m)。

以下示例指定多个发布者,其中一个发布者具有镜像以及源:

<software type="IPS">
  <source>
    <publisher name="solaris">
      <origin name="http://pkg.oracle.com/solaris/release"/>
      <mirror name="http://localpkg.mycompany.com/solaris"/>
    </publisher>
    <publisher name="internal-software">
      <origin name="http://internalsoft.mycompany.com/"/>
    </publisher>
  </source>
</software>

使用 software_data 元素可指定要安装或卸载的软件包。action 属性可以具有以下两个值之一:

install

安装在 name 子元素中指定的 IPS 软件包。如果未指定 action 属性,这将是缺省值。至少一个 software_data 元素必须具有安装操作。

uninstall

删除在 name 子元素中指定的 IPS 软件包。

IPS 安装不支持 action 属性的其他值。

对于其中的每个操作,可以在 name 元素中指定一个或多个软件包,如以下示例所示:

<software_data> <!-- defaults to install action -->
    <name>pkg:/entire</name>
    <name>pkg:/group/system/solaris-large-server</name>
</software_data>
<software_data action="uninstall">
    <name>pkg:/unwanted/pkg</name>
</software_data>

P5I 安装

.p5i 文件是描述 IPS 发布者、软件包,还可能描述镜像的文件。

要指定将处理的一个或多个 .p5i 文件,请将这些文件作为 publisher 元素中的源提供,如以下示例所示:

<software type="P5I">
    <source>
        <publisher>
            <origin name="/somewhere/image1.p5i"/>
            <origin name="/somewhere/image2.p5i"/>
        </publisher>
    </source>
</software>

如果此 AI 清单也没有 IPS 类型的软件部分,请确保 .p5i 文件指定了源。

P5I 安装不支持指定要安装的软件包。因此,在 P5I 类型的 software 元素中不支持 software_data 元素。

SVR4 安装

对于 SVR4 传输,必须使用文件目录路径或 FILE URI 指定一个包含 SVR4 软件包子目录的目录或 SVR4 软件包数据流文件。也可以使用 HTTP URI 指定 SVR4 软件包数据流文件。

<software type="SVR4">
    <source>
        <publisher>
            <origin name="/somedir"/>
        </publisher>
    </source>
</software>

software_data 元素用于指定要执行的操作。action 属性可以具有以下两个值之一:

install

将文件从源复制到新的引导环境。如果未指定 action 属性,这将是缺省值。至少一个 software_data 元素必须具有安装操作。

uninstall

从新的引导环境中删除文件。

SVR4 安装不支持 action 属性的其他值。

对于其中的每个操作,可以在 name 元素中指定一个或多个软件包,如以下示例所示:

<software type="SVR4">
    <source>
        <publisher>
            <origin name="/somedir"/>
        </publisher>
    </source>
    <software_data> <!-- defaults to install action -->
        <name>ORGpackage1</name>
        <name>ORGpackage2</name>
    </software_data>
    <software_data action="uninstall">
        <name>ORGpackage8</name>
    </software_data>
</software>

CPIO 安装

对于 CPIO 传输,必须指定源目录。在安装期间目标目录被设置为新引导环境的挂载点。

<software type="CPIO">
    <source>
        <dir path="/somedir"/>
    </source>
</software>

software_data 元素用于指定要执行的操作。action 属性可以具有以下值之一:

install

将文件从源复制到新的引导环境。如果未指定 action 属性,这将是缺省值。至少一个 software_data 元素必须具有安装操作。

使用 name 元素可指定要复制的文件或目录。在 name 元素中指定的路径相对于源。

<software_data>
  <!-- defaults to install action -->
  <name>path/relative/to/source</name>
  <name>another/path/relative/to/source</name>
</software_data>
uninstall

从新的引导环境中删除文件。

使用 name 元素可指定要删除的文件或目录。在 name 元素中指定的路径相对于目标。

<software_data action="uninstall">
    <name>path/relative/to/destination</name>
</software_data>

可选软件组件和映像属性

使用 destination 元素和 image 子元素可指定以下信息:

destination 部分仅适用于 IPS 和 P5I 安装类型。destination 元素只能具有一个 image 子元素。

SSL 密钥和证书

使用 image 元素的属性可指定使用客户机 SSL 验证的发布者所需的 SSL 密钥和证书。此处指定的密钥和证书适用于在此 AI 清单中定义的第一个发布者。

ssl_key

此属性映射到以下 pkg 命令:

pkg set-publisher -k ssl_key

ssl_key 属性的值为 ssl_key。有关 pkg set-publisher 命令的更多信息,请参见 pkg(1) 手册页。

ssl_cert

此属性映射到以下 pkg 命令:

pkg set-publisher -c ssl_cert

ssl_cert 属性的值为 ssl_cert。

可选软件组件

使用 image 元素的 facet 子元素可指定要安装的可选软件组件。侧面不是单独的软件包,而是任何给定软件包(如语言环境)、文档和开发文件(如包含调试信息的文件)的可选组件。例如,可通过指定仅要安装一种或两种语言来节省空间。有关 IPS 侧面的更多信息,请参见 pkg(1) 手册页。

facet 元素具有一个布尔型 set 属性和一个为 IPS 侧面名称的值。

<facet set="true|false">facet_name</facet>

以下示例指定仅应安装软件包的德语和英语侧面。该示例首先指定不应安装任何语言环境,然后指定应该安装德语和英语语言环境。

<destination>
    <image>
        <!-- de-select all locales -->
        <facet set="false">facet.locale.*</facet>
        <!-- specify specific locales to install -->
        <!-- install German and English only -->
        <facet set="true">facet.locale.de</facet>
        <facet set="true">facet.locale.de_DE</facet>
        <facet set="true">facet.locale.en</facet>
        <facet set="true">facet.locale.en_US</facet>
    </image>
</destination>
映像属性

使用 image 元素的 property 子元素,可以为此安装创建的新映像指定 IPS 映像属性。

property 元素具有一个布尔型 val 属性和一个为属性名称的值。

<property val="true|false">property_name</property>

有关可以设置哪些属性的信息,请参见 pkg(1) 手册页的“映像属性”部分。

引导配置(仅限 x86)

可以使用 AI 清单修改在已安装的系统上配置 GRUB 引导菜单的方式。

此部分不适用于区域安装,在安装非全局区域时将被忽略。

使用 boot_mods 元素和 boot_entry 子元素可修改 GRUB 引导菜单。

boot_mods 元素具有以下属性:

title

title 属性的值是由此 boot_mods 元素的 boot_entry 子元素指定的引导条目的基本标题。此属性值将覆盖从 /etc/release 的第一行或安装介质自动生成的名称。

timeout

timeout 属性的值是选择此 boot_mods 元素的缺省 boot_entry 之前等待的秒数。

在 SPARC 系统上只能设置 title 属性。对于 SPARC 系统,将忽略此部分中的所有其他设置。

使用 boot_entry 子元素可将一个或多个菜单项添加到引导菜单。这些菜单项是对安装程序自动生成的任何菜单项的补充。

boot_entry 元素具有以下属性:

default_entry

如果将此布尔值设置为 true,则此菜单项是引导时选定的缺省选项。此属性的缺省值为 false。

如果多个 boot_entry 元素已将 default_entry 设置为 true,则最后一个此类条目是引导时选定的缺省选项。

insert_at

可以将此属性设置为以下两个值之一:

end

将条目放置在生成的引导菜单的结尾。这是缺省放置。

start

将条目放置在生成的引导菜单的开头。

然后由以下子元素定义 boot_entry 菜单项:

title_suffix

此元素是必需的。此元素定义要添加到在 boot_mods 元素中指定的标题结尾的文本。

kernel_args

此元素是可选的。此元素是由引导装载程序传递到内核的一串值。

以下示例指定一个名为 "Boot Testing Default Boot Entry"(引导测试缺省引导项)的引导菜单项,该项是菜单上的最后一项,在 20 秒后将自动选定该项:

<boot_mods title="Boot Testing" timeout="20">
    <boot_entry default_entry="true">
        <title_suffix>Default Boot Entry</title_suffix>
    </boot_entry>
</boot_mods>

其他配置

configuration 元素支持非全局区域配置。在安装全局区域系统时,会使用在 AI 清单中指定的区域配置在安装全局区域后将非全局区域安装到系统上。

configuration 元素具有以下属性:

type

要安装的配置的类型。AI 支持的唯一类型为 zone。

name

为配置提供的名称。此名称在 AI 清单中的所有配置元素之间必须唯一。对于 zone 类型的配置,此名称还用作区域的 zonename。

source

AI 从中下载此配置元素的配置文件的位置。值可以为指定的 HTTP 或 FILE URI。对于 zone 类型的配置,此值应该指向从 zonecfg export 命令生成的区域配置文件。

指定以下内容可在安装客户机上安装 zone1:

<configuration type="zone" name="zone1"
    source="http://myserver.com/configs/zone1/config"/>

有关配置和安装区域的更多信息,请参见《安装 Oracle Solaris 11 系统》中的第 12  章 "安装和配置区域"。

文件

/usr/share/auto_install/manifest/default.xml

指定缺省的系统安装,不进行定制。在系统上提供的此 AI 清单仅供参考。要创建新的 AI 清单,请从相关的安装服务映像使用此文件的副本。有关从安装服务复制此文件的信息,请参见“说明”部分。

/usr/share/auto_install/manifest/zone_default.xml

缺省区域安装,不进行定制。此文件由 zoneadm install 命令用作缺省清单以安装非全局区域。

/usr/share/auto_install/manifest/ai_manifest.xml

模板 AI 清单,已注释掉详细信息。此文件提供可以执行的一些定制的示例。在系统上提供的此文件仅供参考。要创建新的 AI 清单,请从相关的安装服务映像使用此文件的副本。有关从安装服务复制此文件的信息,请参见“说明”部分。

属性

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

属性类型
属性值
可用性
system/install/auto-install/auto-install-common
接口稳定性
Uncommitted(未确定)

另请参见

installadm(1M)、beadm(1M)、pkg(1)、grub(5)、prtconf(1M)、format(1M)、zfs(1M)、zpool(1M)、pkg.sysrepo(1m)、smf(5)、zoneadm(1M)、zonecfg(1M)

《安装 Oracle Solaris 11 系统》中的第 III 部分, "使用安装服务器安装"