磁盘和容器格式

在将镜像添加到 Glance 时,必须指定虚拟机镜像的磁盘格式容器格式。磁盘和容器格式可以在每个部署的基础上进行配置。本文档旨在为 disk_formatcontainer_format 的特定值建立一个全局约定。

磁盘格式

虚拟机镜像的磁盘格式是底层磁盘镜像的格式。虚拟设备供应商有不同的格式来布局虚拟机磁盘镜像中包含的信息。

您可以将镜像的磁盘格式设置为以下之一

raw

这是一种非结构化磁盘镜像格式。

raw 镜像格式是最简单的格式,并且本机受 KVM 和 Xen hypervisor 支持。您可以将 raw 镜像视为块设备文件的位等效项,就像有人使用 dd 命令将 /dev/sda 复制到文件一样。

vhd

这是 VHD(虚拟硬盘)磁盘格式,是 VMware、Xen、Microsoft、VirtualBox 等虚拟机器监控程序中常用的磁盘格式。

vhdx

这是 VHDX 格式,是 vhd 格式的增强版本。它支持更大的磁盘大小,并可在断电期间防止数据损坏。

vmdk

VMDK(虚拟机器磁盘)格式受许多常见的虚拟机器监控程序支持,例如 VMware ESXi hypervisor。

vdi

VDI(虚拟磁盘镜像)格式支持 VirtualBox 虚拟机监控程序和 QEMU 模拟器中的镜像文件。

iso

ISO 格式是一种使用只读 ISO 9660(也称为 ECMA-119)文件系统格式化的磁盘镜像,通常用于 CD 和 DVD。

ploop

一种 Virtuozzo 支持并用于运行 OS 容器的磁盘格式。

qcow2

QCOW2(QEMU 复制写入版本 2)格式通常与 KVM hypervisor 一起使用。它使用稀疏表示,因此镜像大小小于相同虚拟磁盘的 raw 格式文件。它可以动态扩展并支持复制写入。

AKI/AMI/ARI 格式是 Amazon EC2 支持的初始镜像格式。该镜像由三个文件组成,每个文件都有其自己的特定 disk_format 标识符

aki

这表示存储在 Glance 中的是 Amazon 内核镜像 (AKI)。它是一个 hypervisor 将在启动镜像时加载的内核文件。对于 Linux 机器,这将是一个 vmlinuz 文件。

ari

这表示存储在 Glance 中的是 Amazon Ramdisk 镜像 (ARI)。它是一个在启动时挂载的可选 ramdisk 文件。对于 Linux 机器,这将是一个 initrd 文件。

ami

这表示存储在 Glance 中的是 Amazon 机器镜像 (AMI)。它是一种 raw 格式的虚拟机镜像。

容器格式

容器格式是指虚拟机镜像是否以也包含有关实际虚拟机的元数据的文件格式存在。

请注意以下几点

  1. Glance 不会验证 container_format 镜像属性是否准确地描述了镜像数据负载。

  2. 不要假设所有 OpenStack 服务都能处理 Glance 定义的所有容器格式。

    请查阅使用您的镜像的服务文档,以了解该服务支持哪些容器格式。

您可以将镜像的容器格式设置为以下之一

bare

这表示镜像没有容器或元数据包。

ovf

OVF(开放虚拟化格式)是由分布式管理任务组 (DMTF) 标准组定义的虚拟机的打包格式。OVF 包包含一个或多个镜像文件、一个 .ovf XML 元数据文件,其中包含有关虚拟机的相关信息,以及可能还有其他文件。

OVF 包可以以不同的方式分发。例如,它可以作为一组离散文件分发,或者作为带有 .ova(开放虚拟设备/应用程序)扩展名的 tar 归档文件分发。

aki

这表示存储在 Glance 中的是 Amazon 内核镜像。

ari

这表示存储在 Glance 中的是 Amazon ramdisk 镜像。

ami

这表示存储在 Glance 中的是 Amazon 机器镜像。

ova

这表示存储在 Glance 中的是 OVA tar 归档文件,即包含在单个 tar 归档文件中的 OVF 包。

docker

这表示存储在 Glance 中的是 Docker 容器文件系统的 tar 归档文件。

compressed

压缩文件的确切格式未指定。由使用服务分析数据负载并确定特定的压缩格式来负责。特定的 OpenStack 服务可能仅支持特定的格式。

您可以假设任何创建具有“compressed”容器格式镜像的 OpenStack 服务都能够使用该镜像。

请查阅将使用您的镜像的服务文档以获取详细信息。