3.4. 启用镜像转换
您可以通过启用 GlanceImageImportPlugins
参数,将 QCOW2 镜像上传到镜像服务(glance)。然后,您可以将 QCOW2 镜像转换为 RAW 格式。
当使用 Red Hat Ceph Storage RADOS 块设备(RBD)来存储镜像和引导 Nova 实例时,镜像转换会自动启用。
要启用镜像转换,请创建一个包含以下参数值的环境文件。在 openstack overcloud deploy
命令中使用 -e
选项的新环境文件:
parameter_defaults: GlanceImageImportPlugins:'image_conversion'
使用镜像服务命令行客户端进行镜像管理。
3.4.1. 将镜像转换为 RAW 格式
Red Hat Ceph Storage 可以存储,但不支持使用 QCOW2 镜像来托管虚拟机(VM)磁盘。
当您上传 QCOW2 镜像并从中创建虚拟机时,计算节点会下载镜像,将镜像转换为 RAW,然后将其上传到 Ceph,然后使用它。这个过程会影响创建虚拟机所需的时间,特别是在并行虚拟机创建过程中。
例如,当您同时创建多个虚拟机时,上传转换的镜像到 Ceph 集群可能会影响已在运行的工作负载。上传过程可能会使 IOPS 的工作负载以及存储响应速度导致。
要在 Ceph 中更有效地引导虚拟机(临时后端或从卷引导),glance 镜像格式必须是 RAW。
流程
将镜像转换为 RAW 可能会产生大于原始 QCOW2 镜像文件的镜像。在转换前运行以下命令,以确定最终 RAW 镜像大小:
$ qemu-img info <image>.qcow2
将镜像从 QCOW2 转换为 RAW 格式:
$ qemu-img convert -p -f qcow2 -O raw <original qcow2 image>.qcow2 <new raw image>.raw
3.4.2. 使用 GlanceDiskFormats
参数配置磁盘格式
您可以使用 GlanceDiskFormats
参数配置镜像服务(glance)以启用或禁用磁盘格式。
流程
-
以
stack
用户身份登录 undercloud 主机。 提供 undercloud 凭证文件:
$ source ~/stackrc
在环境文件中包含
GlanceDiskFormats
参数,如glance_disk_formats.yaml
:parameter_defaults: GlanceDiskFormats: - <disk_format>
例如,使用以下配置只启用 RAW 和 ISO 磁盘格式:
parameter_defaults: GlanceDiskFormats: - raw - iso
使用以下示例配置拒绝 QCOW2 磁盘镜像:
parameter_defaults: GlanceDiskFormats: - raw - iso - aki - ari - ami
在
openstack overcloud deploy
命令中包含新配置的环境文件以及与您环境相关的任何其他环境文件:$ openstack overcloud deploy --templates \ -e <overcloud_environment_files> \ -e <new_environment_file> \ …
-
将
<overcloud_environment_files
> 替换为属于部署的环境文件列表。 -
将
<new_environment_file
> 替换为包含新配置的环境文件。
-
将
有关 RHOSP 中可用磁盘格式的更多信息,请参阅 镜像配置参数。
3.4.3. 以 RAW 格式存储镜像
启用 GlanceImageImportPlugins
参数后,运行以下命令以 RAW 格式存储之前创建的镜像:
$ glance image-create-via-import \ --disk-format qcow2 \ --container-format bare \ --name <name> \ --visibility public \ --import-method web-download \ --uri <http://server/image.qcow2>
-
将 &
lt
;name> 替换为镜像的名称;这是glance image-list
中显示的名称。 -
将
<
;http://server/image.qcow2> 替换为 QCOW2 镜像的位置和文件名。
此命令示例创建镜像记录并使用 web-download
方法导入它。glance-api 在导入过程中从 --uri
位置下载镜像。如果 web-download
不可用,glanceclient
无法自动下载镜像数据。运行 glance import-info
命令来列出可用的镜像导入方法。