文章
服务器与存储管理
作者:Ginny Henningsen
2012 年 6 月发布
为降低基于 Oracle Solaris 的系统和软件的部署开销,Oracle 工程师重新设计了 Oracle Solaris 11 版中的自动安装。Oracle Solaris 11 引入了一种基于网络的全新自动安装程序 (AI),解决了软件包依赖关系的问题,提供了更高的供应灵活性,支持在 SPARC 和 x86 系统上执行无需人工干预的安装。本文介绍了如何执行其基本操作:
|
AI 可以利用网络上的软件包信息库,安装多种类型的网络客户端。AI 安装过程包含以下基本管理步骤:
AI 安装的前提条件:
pkg list installadm 用于确认安装工具是否已安装。)图 1 是 AI 引导过程的简化图。客户端通过网络引导时,将从 DHCP 服务器获取安装服务器的网络配置和位置。安装服务器向客户端提供一个 AI 引导映像。当客户端引导时,安装服务会寻找符合客户端条件的清单或脚本。(派生的清单脚本或单纯的“脚本”可询问正在运行的 AI 客户端,并根据答案生成定制清单。)找到匹配的清单或脚本时,客户端将根据这些配置进行安装。如果没有找到,就使用默认清单或脚本。

图 1. AI 过程
使用系统配置文件可以在无人工干预的安装过程中微调系统。配置文件对清单起补充作用,通常包含安装后的具体配置(如配置用户名、用户密码、时区、主机名和 IP 地址等系统变量)。OS 软件包安装后,初次引导客户端时,Oracle Solaris 服务管理工具 (SMF) 将处理系统配置文件。
有关设置安装服务的详细信息, 请参阅 OTN 文章 “如何设置 Oracle Solaris 11 的自动安装服务”(本文作者 Isaac Rozenfeld 的另一篇文章)和 Oracle Solaris 文档集中的安装 Oracle Solaris 11 系统。
installadm 命令用于创建、列示和配置安装服务,包括客户端匹配条件的定义。create-service 子命令用来定义安装服务。下面的示例命令将使用下载的 ISO 文件创建一个服务,用以指定基于 x86 的 DHCP 客户端,客户端的起始地址是 192.168.1.210,总共 10 个地址。
# installadm create-service -n s11x86 -i 192.168.1.210 -c 10 \ -s /path/to/solaris-11-1111-ai-x86.iso
list 子命令列出已定义的安装服务,例如: $ installadm list Service Name Alias Of Status Arch Image Path ------------ -------- ------ ---- ---------- default-i386 sol-11-i386-svc on x86 /export/images/soli386 default-sparc sol-11-sparc-svc on Sparc /export/images/solsparc sol-11-i386-svc - on x86 /export/images/soli386 sol-11-sparc-svc - on Sparc /export/images/solsparc
list 子命令可以使用 -m 选项,显示每个服务可用的 AI 清单:
# installadm list -m -n my-service
Manifest Status Criteria
-------- ------ --------
manifest2 arch = i86pc
mem = 4096 MB - unbounded
sparc_setup arch = sun4v
new_default Default (Ignored: mem = 2048 MB - 4095 MB)
orig_default Inactive None
上面的示例为安装服务 my-service 定义了四个清单:
manifest2),包含架构和内存相关条件sparc_setup),包含架构条件new_default),包含已忽略的条件orig_default),被标记为非活动,因为其中没有条件AI 清单以 XML 格式储存,易于定制。下面的第一个命令导出与 s11x86 服务相关的默认安装清单。编辑导出的清单文件后,使用 update-manifest 子命令更新与服务相关联的清单:
# installadm export -n s11x86 -m orig_default > manifest.xml
[编辑 manifest.xml。]
# installadm update-manifest -n s11x86 -m orig_default -f manifest.xml
AI 清单可使用以下 XML 语法指定区域配置文件,从而指定创建区域时的配置信息:
<configuration type="zone" name="zone1" source="http://xyz/zone1/config.txt" />
另外,还可以这样指定一个本地文件:
<configuration type="zone" name="zone1" source="file:///net/server/zone2/config.txt" />
create-manifest 子命令让您可以指定条件(例如,架构、内存大小、MAC 地址等),为安装客户端确定应选择的清单或脚本。清单可以包含目标设备、分区信息、软件包列表和其他参数等信息。
以下 create-manifest 示例将清单 /export/mf.xml 添加到服务 svc1。随后,服务 svc1 将用于安装符合“MAC 地址等于 aa:bb:cc:dd:ee:ff”这一条件的客户端。
# installadm create-manifest -f /export/mf.xml -n svc1 \ -c MAC="aa:bb:cc:dd:ee:ff"
以下示例创建名为 s11 的清单,用于安装 zone1 或 zone2:
# installadm create-manifest -n s11 -f /tmp/zmanifest.xml \ -c zonename="zone1 zone2"
installadm list -p 选项显示安装服务器上可用的系统配置文件:
# installadm list -p
Service Name Profile
------------ -------
sparc2 myprofile.xml
myprofile2.xml
svc0817 profile3
svc0819 profile4.xml
newprofile
foo.xml
create-profile 子命令定义系统配置文件。以下示例将构造一个名为 s11 的配置文件,此文件将在 zone1 安装过程中应用。
# installadm create-profile -n s11 -f /tmp/zprofile1.xml \ -c zonename="zone1"
您可以通过交互方式创建一个系统配置文件,并保存以便用于后续安装:
# sysconfig create-profile -o sc-profile.xml
使用以下命令来验证系统配置文件是否符合默认 x86 安装服务。如果您修改了系统配置文件,那么最好执行验证。
# installadm validate -n default-i386 -P profile.xml
如果客户端可以成功引导并下载安装文件,您会看到这样一条消息:
Automated Installation started The progress of the Automated Installation will be output to the console Detailed logging is in the logfile at /system/volatile/install_log Press RETURN to get a login prompt at any time.
要监视进度,请以 root 身份使用口令 solaris 登录客户端,务请牢记,一旦 IPS 软件包安装开始,日志更新可能会出现延迟。
如果客户端安装失败,则需检查许多日志文件。首先,请检查客户端安装日志文件 /system/volatile/install_log 中的消息。客户端所用的 AI 清单位于文件 /system/volatile/ai.xml 中(对于派生的清单脚本,则在文件 manifest.xml 中)。
系统配置文件在 /system/volatile/profile/* 中。其他日志文件则位于 AI 服务器的 /var/ai/image-server/logs 目录之中。
调试标志也会在客户端系统上激活。对于 SPARC 客户端,应使用 Open Boot Prom (OBP) install_debug boot 参数:
ok> boot net:dhcp - install install_debug
在使用 GRUB 的 x86 客户端系统中, 将 install_debug=enable 添加到内核行引导条目。
请参考以下帮助页面:installadm(1M)、ai_manifest(4)、aimanifest(1M) 和 sysconfig(1M)。
Oracle 提供的 js2ai 实用工具可帮助将 Oracle Solaris 10 JumpStart 规则、配置文件和 sysidcfg 文件转换成与 Oracle Solaris 11 自动安装程序兼容的格式。该实用工具将尽可能转换 JumpStart 关键字,生成 AI 清单和系统配置文件的 XML 语法,并支持进一步定制。该工具将尝试建立如下映射:
sysidcfg 文件映射到系统配置文件以下命令用于转换 /export/jumpstart 下的整个 JumpStart 目录,将 sysidcfg 文件转换成系统配置文件,并生成用于规则和各相关配置文件的 AI 清单:
# js2ai -r -d /export/jumpstart
请参阅从 Oracle Solaris 10 JumpStart 迁移到 Oracle Solaris 11 自动安装程序 手册和 js2ai(1M) 手册页面。
引导环境 (BE) 是 Oracle Solaris 11 操作系统的独立可引导实例。在更新系统之前创建 BE 总是一个不错的实践。如果更新发生任何问题,您可以回滚到之前的 BE。下面的示例创建名为 solaris-05032012 的 BE:
# beadm create solaris-05032012
如果有必要,在下次重新引导时可将其激活为活动 BE:
# beadm activate solaris-05032012
下面是其他一些资源:
在过去的 15 年里,Ginny Henningsen 一直以自由撰稿人的身份为高科技公司开发技术资料和文档。在此之前,Ginny 就职于 Sun Microsystems, Inc,曾在普鲁士王市(宾夕法尼亚州)和密尔沃基威(威斯康星州)担任系统工程师。Ginny 拥有卡内基-梅隆大学的学士学位以及维拉诺瓦大学的 MSCS 学位。
| 修订版 1.0,2012 年 6 月 15 日 |
要了解 Oracle 所有技术中与 sysadmin 有关的内容,请在 Facebook 和 Twitter 上关注 OTN Systems。