要在 Oracle Solaris 中创建 OpenStack 映像,可以使用统一归档文件功能。使用 archiveadm 命令,可以从全局、非全局和内核区域中创建新的统一归档文件 (Unified Archive, UA)。
UA 可以是克隆归档文件,也可以是恢复归档文件。克隆归档文件基于当前活动的引导环境。此归档文件不包括 OS 实例(如不活动的引导环境)中的任何系统配置信息。而是安装程序强制进行重新配置,或者使用您在系统配置 (system configuration, SC) 的配置文件中提供的配置信息。恢复归档文件包括所有引导环境和系统配置信息。因此,如果要将系统的所有信息包括在一个 UA 中,请创建一个恢复归档文件。有关 UA 的更多信息,请参见您 Oracle Solaris 版本的 library(库)中的相应《在 Oracle Solaris 中将统一归档文件用于系统恢复和克隆》一书。
以后,如果配置完全可操作,还可以通过创建现有 VM 实例的快照来创建映像。对于这种情况,VM 实例已在云中。因此,要使用的命令是 nova image-create 而非 archiveadm。nova 命令生成正在运行的 VM 实例的快照来创建映像。
还可以使用定制映像进行数据备份或者挽救 VM 实例。挽救映像是当 VM 实例处于 rescue 模式时引导的特殊映像类型。挽救映像允许管理员挂载 VM 实例的文件系统以更正问题。
在 Oracle Solaris 中,创建 OpenStack 映像分为以下三个阶段:
创建区域。
创建区域的 UA。
将 UA 上载到 Glance。
这些阶段可合并成以下过程。
除了创建区域的命令语法外,所有剩下的步骤可用于创建和上载非全局区域和内核区域的映像。
创建区域的步骤仅提供基本的命令。有关创建区域的完整说明,请参阅您 Oracle Solaris 版本的 library(库)中的区域文档。
登录后,按照提示提供信息。
global# zonecfg -z zone-name create global# zoneadm -z zone-name install global# zoneadm -z zone-name boot global# zlogin -C zone-name
global# zlogin zone-name root@zone-name# sed /^PermitRootLogin/s/no$/without-password/ < /etc/ssh/sshd_config > /system/volatile/sed.$$ root@zone-name# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig root@zone-name# cp /system/volatile/sed.$$ /etc/ssh/sshd_config root@zone-name# exit
global# archiveadm create -z zone-name /var/tmp/archive-name.uar
本文档假定 Glance 位于控制器节点上。
controller# export OS_USERNAME=glance controller# export OS_PASSWORD=service-password controller# export OS_TENANT_NAME=service controller# export OS_AUTH_URL=$CONTROLLER_ADMIN_NODE:5000/v2.0
controller# glance image-create --container-format bare --disk-format raw \ --is-public true --name "image-name" \ --property architecture=system-arch --property hypervisor_type=solariszones \ --property vm_mode=solariszones < path-to-archive-file
其中,system-arch 指系统的体系结构,可以是 x86_64 或 sparc64。