要在 Oracle Solaris 中创建 OpenStack 映像,可以使用统一归档文件功能。使用 archiveadm 命令,可以从全局、非全局和内核区域中创建新的统一归档文件 (Unified Archive, UA)。
UA 可以是克隆归档文件,也可以是恢复归档文件。克隆归档文件基于当前活动的引导环境。此归档文件不包括 OS 实例(如不活动的引导环境)中的任何系统配置信息。而是安装程序强制进行重新配置,或者使用您在系统配置 (system configuration, SC) 的配置文件中提供的配置信息。恢复归档文件包括所有引导环境和系统配置信息。因此,如果要将系统的所有信息包括在一个 UA 中,请创建一个恢复归档文件。有关 UA 的更多信息,请参见《使用统一归档文件进行系统恢复和克隆》。此书位于 Operating Systems Documentation(操作系统文档)中您 Oracle Solaris 版本相应的库中。
以后,如果配置完全可操作,还可以通过创建现有 VM 实例的快照来创建映像。对于这种情况,VM 实例已在云中。因此,要使用的命令是 nova image-create 而非 archiveadm。nova 命令生成正在运行的 VM 实例的快照来创建映像。
还可以使用定制映像进行数据备份或者挽救 VM 实例。挽救映像是当 VM 实例处于 rescue 模式时引导的特殊映像类型。挽救映像允许管理员挂载 VM 实例的文件系统以更正问题。
在 Oracle Solaris 中,创建 OpenStack 映像分为以下三个阶段:
创建区域。
创建区域的 UA。
将 UA 上载到 Glance。
这些阶段可合并成以下过程。
除了创建区域的命令语法外,所有剩下的步骤可用于创建和上载非全局区域和内核区域的映像。
在此过程中,创建区域的步骤仅提供基本的命令。有关创建区域的完整说明,请参见关于安装、关闭、停止、卸载和克隆非全局区域的《创建和使用 Oracle Solaris 区域》。此书位于 Operating Systems Documentation(操作系统文档)中您 Oracle Solaris 版本相应的库中。
登录后,按照提示提供信息。
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_PROJECT_NAME=service controller# export OS_AUTH_URL=$CONTROLLER_ADMIN_NODE:5000/v2.0
controller# glance --os-image-api-version 2 image-create \ --container-format bare --disk-format raw \ --visibility visibility-mode --name "image-name" \ --property architecture=system-arch \ --property hypervisor_type=solariszones \ --property vm_mode=solariszones --file path-to-archive-file
系统的体系结构,可以是 x86_64 或 sparc64。
映像辅助功能的范围,可以是 public 或 private。