Converting QCOW2 Images to RAW with Ceph Root Disk

Marek Glinski

August 16, 2017 23:27

Updated

Metacloud supports the RAW image format for virtual machines (VMs) with a Ceph root disk to take full advantage of Ceph distributed and shared-block storage. It does not support the QCOW2 image format with a Ceph root disk.

QCOW2 Issues with Ceph

The QCOW2 image format is popular for large-number VM deployments because it supports thin provisioning. However, Metacloud does not permit QCOW2-format images to run with a Ceph root disk because of data and performance problems associated with this configuration.

When attempting to spawn a VM running with a QCOW2-formatted image, a hypervisor downloads the image, converts it to RAW format, uploads it to Ceph, and then spawns the VM. This process generates many copies of files in the Ceph file system and prolongs boot times significantly.

Also, because all Ceph-based VMs use RAW images, their corresponding snapshots are also saved in RAW format. Uploading QCOW2 images to Metacloud would result in multiple image formats. This creates potential confusion for porting images across Availability Zones (AZs), especially if you use different storage solutions in different AZs.

Uploading RAW Images

RAW format is not actually a format; it simply indicates that raw, unformatted data is on the disk. Although a RAW image consumes more disk space and takes longer initially to upload to Glance, the advantage of RAW is that boot disks can later be created from the image with copy-on-write snapshots. Booting a VM from a Ceph root disk results in a full clone of the image instead of a full copy of its data. The data only changes when the VM writes to the clone. In this sense, the RAW image format is thin-provisioned.

Clone operations also take significantly less time than full copy, resulting in much faster VM boot times. In testing, the Cisco Metacloud team has observed as much as a 200 percent improvement in VM boot times.