4b971cb8cd
Reworded paragraph on converting images to QCOW2 before upload, since it might be faster to upload a smaller QCOW2 image instead of a RAW image. Change-Id: I32fc57d2dda36c5d3c1f5d21aaaaa2a8044cd0a2 Closes-Bug: 1384011
141 lines
8.2 KiB
XML
141 lines
8.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
version="5.0"
|
|
xml:id="ch_introduction">
|
|
<title>Introduction</title>
|
|
<para>An OpenStack Compute cloud is not very useful unless you have virtual machine images
|
|
(which some people call "virtual appliances"). This guide describes how to obtain, create,
|
|
and modify virtual machine images that are compatible with OpenStack.</para>
|
|
<para>To keep things brief, we'll sometimes use the term "image" instead of "virtual machine
|
|
image".</para>
|
|
<para>What is a virtual machine image?</para>
|
|
<para>A virtual machine image is a single file which contains a virtual disk that has a
|
|
bootable operating system installed on it.</para>
|
|
<para>Virtual machine images come in different formats, some of which are described below. In a
|
|
later chapter, we'll describe how to convert between formats.</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Raw</term>
|
|
<listitem><para>The "raw" image format is the simplest one, and is
|
|
natively supported by both KVM and Xen hypervisors. You
|
|
can think of a raw image as being the bit-equivalent of a
|
|
block device file, created as if somebody had copied, say,
|
|
<filename>/dev/sda</filename> to a file using the
|
|
<command>dd</command> command. <note>
|
|
<para>We don't recommend creating raw images by dd'ing
|
|
block device files, we discuss how to create raw
|
|
images later.</para>
|
|
</note></para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>qcow2</term>
|
|
<listitem><para>The <link xlink:href="http://en.wikibooks.org/wiki/QEMU/Images">qcow2</link> (QEMU
|
|
copy-on-write version 2) format is commonly used with the KVM hypervisor. It has some
|
|
additional features over the raw format, such as:<itemizedlist>
|
|
<listitem>
|
|
<para>Using sparse representation, so the image size is smaller</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Support for snapshots</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
<para>Because qcow2 is sparse, qcow2 images are typically smaller than raw images. Smaller images mean faster uploads, so it's often faster to convert a raw image to qcow2 for uploading instead of uploading the raw file directly.</para>
|
|
<para>
|
|
<note>
|
|
<para>Because raw images don't support snapshots, OpenStack Compute will
|
|
automatically convert raw image files to qcow2 as needed.</para>
|
|
</note>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>AMI/AKI/ARI</term>
|
|
<listitem><para>The <link
|
|
xlink:href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html"
|
|
>AMI/AKI/ARI </link>format was the initial image
|
|
format supported by Amazon EC2. The image consists of
|
|
three files:<itemizedlist>
|
|
<listitem><para>AMI (Amazon Machine Image):</para>
|
|
<para>This is a virtual machine image in raw
|
|
format, as described above.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>AKI (Amazon Kernel Image)</para>
|
|
<para>A kernel file that the hypervisor will
|
|
load initially to boot the image. For a
|
|
Linux machine, this would be a
|
|
<emphasis>vmlinuz</emphasis> file.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>ARI (Amazon Ramdisk Image)</para>
|
|
<para>An optional ramdisk file mounted at boot
|
|
time. For a Linux machine, this would be
|
|
an <emphasis>initrd</emphasis>
|
|
file.</para>
|
|
</listitem>
|
|
</itemizedlist></para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>UEC tarball</term>
|
|
<listitem><para>A UEC (Ubuntu Enterprise Cloud) tarball is a gzipped tarfile that contains an AMI
|
|
file, AKI file, and ARI file.<note>
|
|
<para>Ubuntu Enterprise Cloud refers to a discontinued Eucalyptus-based Ubuntu cloud
|
|
solution that has been replaced by the OpenStack-based Ubuntu Cloud
|
|
Infrastructure.</para>
|
|
</note></para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>VMDK</term>
|
|
<listitem><para>VMware's ESXi hypervisor uses the <link
|
|
xlink:href="http://www.vmware.com/technical-resources/interfaces/vmdk.html"
|
|
>VMDK</link> (Virtual Machine Disk) format for images.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>VDI</term>
|
|
<listitem><para>VirtualBox uses the <link
|
|
xlink:href="https://forums.virtualbox.org/viewtopic.php?t=8046">VDI</link> (Virtual
|
|
Disk Image) format for image files. None of the OpenStack Compute hypervisors support
|
|
VDI directly, so you will need to convert these files to a different format to use them
|
|
with OpenStack.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>VHD</term>
|
|
<listitem><para>Microsoft Hyper-V uses the VHD (Virtual Hard Disk) format for images.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>VHDX</term>
|
|
<listitem><para>The version of Hyper-V that ships with Microsoft Server 2012 uses the newer <link
|
|
xlink:href="http://technet.microsoft.com/en-us/library/hh831446.aspx">VHDX</link>
|
|
format, which has some additional features over VHD such as support for larger disk
|
|
sizes and protection against data corruption during power failures.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>OVF</term>
|
|
<listitem><para><link xlink:href="http://www.dmtf.org/standards/ovf">OVF</link> (Open Virtualization
|
|
Format) is a packaging format for virtual machines, defined by the Distributed
|
|
Management Task Force (DMTF) standards group. An OVF package contains one or more image
|
|
files, a .ovf XML metadata file that contains information about the virtual machine, and
|
|
possibly other files as well.</para>
|
|
<para>An OVF package can be distributed in different ways. For example, it could be
|
|
distributed as a set of discrete files, or as a tar archive file with an .ova (open
|
|
virtual appliance/application) extension.</para>
|
|
<para>OpenStack Compute does not currently have support for OVF packages, so you will need
|
|
to extract the image file(s) from an OVF package if you wish to use it with
|
|
OpenStack.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>ISO</term>
|
|
<listitem><para>The <link
|
|
xlink:href="http://www.ecma-international.org/publications/standards/Ecma-119.htm"
|
|
>ISO</link> format is a disk image formatted with the read-only ISO 9660 (also known
|
|
as ECMA-119) filesystem commonly used for CDs and DVDs. While we don't normally think of
|
|
ISO as a virtual machine image format, since ISOs contain bootable filesystems with an
|
|
installed operating system, you can treat them the same as you treat other virtual machine
|
|
image files.</para></listitem>
|
|
</varlistentry></variablelist>
|
|
<xi:include href="section_glance_image-formats.xml"/>
|
|
<xi:include href="section_glance-image-metadata.xml"/>
|
|
</chapter>
|