Hello, everyone!
A VM image is a file that contains a virtual disk on which a bootable operating system has been installed.
VM images have different formats. Common image formats are as follows:
raw: "raw" image format is the simplest and is natively supported by KVM and Xen. You can imagine that raw image and block device files are binary equivalents as if copied from a block device, for example. Run the dd command to copy the contents of /dev/sda to a file.
qcow2: qcow2 (QEMU copy-on-write version 2) format is typically used by KVM and has additional features compared to the raw format, such as the use of sparse file rendering and therefore smaller image size. Supports snapshots. The qcow2 image is sparse. Therefore, the qcow2 image is usually smaller than the raw image. A smaller file means faster uploading. Therefore, converting the raw image to the qcow2 image is faster than directly uploading the raw image file.
UEC tarball UEC (Ubuntu Enterprise Cloud) file is a compressed tar package containing AMI AKI ARI files.
VMDK: VMDK is an image format used for VMware ESXi virtualization.
VDI: Virtual Disk Image (VDI) is the image format used by VirtualBox. OpenStack compute nodes do not directly support the VDI format. Therefore, you need to convert VDI images to other supported formats in advance.
VHD: VHD Microsoft Hyper-V uses the VHD image format.
VHDX The Hyper-V version in Microsoft Server 2012 uses the new VHDX format, which has added new features over VHD such as support for larger disks and protection against data loss in the event of an unexpected power failure.
OVF: OVF is a VM packaging format defined by the Distributed Task Management (DMTF) standard group. A single OVF package contains one or more image files. XML metadata files with the .ovf suffix contain information about virtual machine information and other files. OVF packages can be distributed in several ways, for example, through a series of discrete files or through a tar archive (.ova suffix). Currently, OpenStack compute nodes do not support OVF packages. If you want to use them in OpenStack, you need to release disk image files from OVF.
ISO: ISO format is the format in which a disk image is formatted into a read-only ISO 9660 (ECMA-119) file system, typically used on CDs and DVDs. Generally, ISO is not considered as a virtual machine image format. Since it contains a bootable file system, you can think of it as a virtual machine image file.
VM image disk format
The VM disk format refers to the underlying disk image format. Virtual device vendors have different formats to store information contained in VM disk images.
Common image disk formats are as follows:
·raw: unstructured disk image format; If you have a disk file with no extension, the disk file may be in raw format.
· vhd: VHD disk format, which is common to VMware, Xen, Microsoft, VirtualBox, and other hypervisors.
· vmdk: A common format that can be supported by multi-clock hypervisors.
· vdi: A format that can be supported by the VirtualBox hypervisor and the QEMU emulator.
· qcow2: Supported by the QEMU simulator, supports dynamic expansion and the copy-on-write feature.
· iso: archive format of CD-ROM data, for example, CD-ROM.
Hope this helps!