在 Oracle® Solaris 中安装和配置 OpenStack (Havana)

退出打印视图

更新时间: 2016 年 5 月
 
 

管理映像

虚拟机映像(简称映像)是包含安装有可引导操作系统的虚拟磁盘的单个文件。映像提供虚拟机文件系统的模板。

除了系统信息显示板以外,您还可以使用 glancenova 命令行客户机或者映像服务和计算 API 来管理映像。

显示有关映像的信息

nova image-list 命令显示可用映像的列表。创建 VM 实例时,您将使用映像的名称或 ID。

$ nova image-list
+--------------------------------------+-------------------------+--------+--------+
| ID                                   | Name                    | Status | Server |
+--------------------------------------+-------------------------+--------+--------+
| e422aae1-b0ba-618c-85d3-a214059800e2 | Solaris Kernel Zone     | ACTIVE |        |
| e82aa857-ec92-4859-f530-deb89274863e | Solaris Non-global Zone | ACTIVE |        |
+--------------------------------------+-------------------------+--------+--------+

glance image-list 命令还显示其他信息,包括磁盘格式、容器格式和映像大小:

$ glance image-list --human-readable

nova image-showglance image-show 命令显示有关指定映像的更多信息:

$ nova image-show 'Solaris Kernel Zone'
+--------------------------+--------------------------------------+
| Property                 | Value                                |
+--------------------------+--------------------------------------+
| OS-EXT-IMG-SIZE:size     | 1547458560                           |
| created                  | 2014-06-29T15:40:49Z                 |
| id                       | e422aae1-b0ba-618c-85d3-a214059800e2 |
| metadata architecture    | x86_64                               |
| metadata hypervisor_type | solariszones                         |
| metadata vm_mode         | solariszones                         |
| minDisk                  | 0                                    |
| minRam                   | 0                                    |
| name                     | Solaris Kernel Zone                  |
| progress                 | 100                                  |
| status                   | ACTIVE                               |
| updated                  | 2014-06-29T15:40:55Z                 |
+--------------------------+--------------------------------------+
$ glance image-show 'Solaris Kernel Zone'
+----------------------------+--------------------------------------+
| Property                   | Value                                |
+----------------------------+--------------------------------------+
| Property 'architecture'    | x86_64                               |
| Property 'hypervisor_type' | solariszones                         |
| Property 'vm_mode'         | solariszones                         |
| checksum                   | b2fc9560c15603c7663326db82d5ddaa     |
| container_format           | bare                                 |
| created_at                 | 2014-06-29T15:40:49.108578           |
| deleted                    | False                                |
| disk_format                | raw                                  |
| id                         | e422aae1-b0ba-618c-85d3-a214059800e2 |
| is_public                  | True                                 |
| min_disk                   | 0                                    |
| min_ram                    | 0                                    |
| name                       | Solaris Kernel Zone                  |
| owner                      | 7461d4a9f5a64af9a01ae4e84e08c182     |
| protected                  | False                                |
| size                       | 1547458560                           |
| status                     | active                               |
| updated_at                 | 2014-06-29T15:40:55.769756           |
+----------------------------+--------------------------------------+

创建映像

在 Solaris 中,OpenStack 映像为统一归档文件并且必须运行 Oracle Solaris 11.2。使用 archiveadm 命令,您可以从运行 Oracle Solaris 11.2 的全局、非全局和内核区域创建新的统一归档文件。将映像上载到 Glance 系统信息库以供 OpenStack 使用。

统一归档文件可以是克隆归档文件,也可以是恢复归档文件。创建基于当前活动的引导环境的克隆归档文件,或者创建包括所有引导环境和系统配置信息的恢复归档文件。克隆归档文件不包括 OS 实例的任何系统配置信息。对于克隆归档文件,安装程序将强制进行重新配置,或者您可以在系统配置 (system configuration, SC) 的配置文件中提供配置。例如,克隆归档文件也不包括非活动的 BE。如果您需要完整的系统,则使用恢复统一归档文件。有关统一归档文件的更多信息,请参见在 Oracle Solaris 11.2 中使用统一归档文件进行系统恢复和克隆

以下命令捕获正在运行的名为 myzone 的非全局区域的统一归档文件:

global# zonecfg -z myzone create
global# zoneadm -z myzone install
global# zlogin myzone \
'sed /^PermitRootLogin/s/no$/without-password/ \
< /etc/ssh/sshd_config > /system/volatile/sed.$$ ; \
cp /system/volatile/sed.$$ /etc/ssh/sshd_config'
global# archiveadm create -z myzone /var/tmp/myzone.uar

您还可以通过创建现有 VM 实例的快照来创建 OpenStack 映像。使用 nova image-create 命令通过创建运行中 VM 实例的快照来创建映像。

除了创建映像以用于创建 VM 实例以外,您可能还要使用定制映像进行数据备份或者挽救 VM 实例。挽救映像是当 VM 实例处于 rescue 模式时引导的特殊映像类型。挽救映像允许管理员挂载 VM 实例的文件系统以更正问题。

向映像存储添加映像

OpenStack 映像服务 Glance 为磁盘和服务器映像提供存储、搜索、注册和交付服务。注册表服务器是向客户机提供映像元数据信息的映像服务。映像高速缓存由映像服务用于在本地主机上获取映像,而非每次请求映像时从映像服务器重新下载映像。

下面的命令将之前部分创建的统一归档文件上载到 Glance 系统信息库中。将 raw 用作格式类型。确保指定 architecture 属性。

global# glance image-create --container-format bare --disk-format raw \
--is-public true --name "Oracle Solaris 11.2 x86 NGZ" \
--property architecture=x86_64 \
--property hypervisor_type=solariszones \
--property vm_mode=solariszones < /var/tmp/myzone.uar

glance image-create 命令可以上载映像并同时设置所有属性值。下面的脚本显示如何确保在 architecture 属性设置为当前主机的体系结构的情况下上载映像:

#!/bin/ksh

# Upload Unified Archive image to glance with proper Solaris decorations

arch=$(archiveadm info -p $1|grep ^archive|cut -d '|' -f 4)

if [[ "$arch" == "i386" ]]; then
        imgarch=x86_64
else
        imgarch=sparc64
fi

name=$(basename $1 .uar)

export OS_USERNAME=glance
export OS_PASSWORD=glance
export OS_TENANT_NAME=service
export OS_AUTH_URL=http://controller-name:5000/v2.0

glance image-create --name $name --container-format bare --disk-format raw --owner service
--file $1 --is-public True --property architecture=$imgarch --property hypervisor_type=solariszones
--property vm_mode=solariszones --progress