openstack-manuals/doc/admin-guide-cloud/ch_blockstorage.xml
Don Domingo 29d7064fe9 Added instructions on volume backup and export
This patch adds two sections: one for volume backup, and the other for
exporting volume metadata. The feature in focus here is the volume
metadata export, which makes volume backups portable across cloud
services and also recoverable even in the event of cinder database
failure.

Partially implements: https://blueprints.launchpad.net/cinder/+spec/cinder-backup-recover-api
Partially implements: https://blueprints.launchpad.net/cinder/+spec/cinder-backup-volume-metadata-support

Change-Id: I0ffa0c7ab9b9ecd3449e93390099e8d0001c8efd
2014-04-14 16:59:28 -05:00

151 lines
7.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY nbsp "&#160;">
]>
<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="managing-volumes">
<title>Block Storage</title>
<para>The OpenStack Block Storage service works through the
interaction of a series of daemon processes named <systemitem
class="daemon">cinder-*</systemitem> that reside
persistently on the host machine or machines. The binaries can
all be run from a single node, or spread across multiple
nodes. They can also be run on the same node as other
OpenStack services.</para>
<section xml:id="section_block-storage-intro">
<title>Introduction to Block Storage</title>
<para>To administer the OpenStack Block Storage service, it is
helpful to understand a number of concepts. You must make
certain choices when you configure the Block Storage
service in OpenStack. The bulk of the options come down to
two choices, single node or multi-node install. You can
read a longer discussion about storage decisions in <link
xlink:href="http://docs.openstack.org/trunk/openstack-ops/content/storage_decision.html"
>Storage Decisions</link> in the <citetitle>OpenStack
Operations Guide</citetitle>.</para>
<para>OpenStack Block Storage enables you to add extra
block-level storage to your OpenStack Compute instances.
This service is similar to the Amazon EC2 Elastic Block
Storage (EBS) offering.</para>
</section>
<?hard-pagebreak?>
<section xml:id="section_manage-volumes">
<title>Manage volumes</title>
<para>The default OpenStack Block Storage service
implementation is an iSCSI solution that uses Logical
Volume Manager (LVM) for Linux.</para>
<note>
<para>The OpenStack Block Storage service is not a shared
storage solution like a Storage Area Network (SAN) of
NFS volumes, where you can attach a volume to multiple
servers. With the OpenStack Block Storage service, you
can attach a volume to only one instance at a
time.</para>
<para>The OpenStack Block Storage service also provides
drivers that enable you to use several vendors'
back-end storage devices, in addition to or instead of
the base LVM implementation.</para>
</note>
<para>This high-level procedure shows you how to create and
attach a volume to a server instance.</para>
<procedure>
<step>
<para>You must configure both OpenStack Compute and
the OpenStack Block Storage service through the
<filename>cinder.conf</filename> file.</para>
</step>
<step>
<para>Create a volume through the <command>cinder
create</command> command. This command creates
an LV into the volume group (VG)
<literal>cinder-volumes</literal>.</para>
</step>
<step>
<para>Attach the volume to an instance through the
<command>nova volume-attach</command> command.
This command creates a unique iSCSI IQN that is
exposed to the compute node.</para>
<substeps>
<step>
<para>The compute node, which runs the
instance, now has an active ISCSI session
and new local storage (usually a
<filename>/dev/sdX</filename>
disk).</para>
</step>
<step>
<para>libvirt uses that local storage as
storage for the instance. The instance gets
a new disk (usually a
<filename>/dev/vdX</filename>
disk).</para>
</step>
</substeps>
</step>
</procedure>
<para>For this particular walk through, one cloud controller
runs <systemitem class="service">nova-api</systemitem>,
<systemitem class="service"
>nova-scheduler</systemitem>, <systemitem
class="service">nova-objectstore</systemitem>,
<literal>nova-network</literal> and
<literal>cinder-*</literal> services. Two additional
compute nodes run <systemitem class="service"
>nova-compute</systemitem>. The walk through uses a
custom partitioning scheme that carves out 60&nbsp;GB of space
and labels it as LVM. The network uses the
<literal>FlatManager</literal> and
<literal>NetworkManager</literal> settings for
OpenStack Compute (Nova).</para>
<para>The network mode does not interfere with the way cinder
works, but you must set up networking for cinder to work.
For details, see <xref linkend="ch_networking"/>.</para>
<para>To set up Compute to use volumes, ensure that Block
Storage is installed along with lvm2. This guide describes
how to troubleshoot your installation and back up your
Compute volumes.</para>
<section xml:id="boot-from-volume">
<title>Boot from volume</title>
<para>In some cases, instances can be stored and run from
inside volumes. For information, see the <link
xlink:href="http://docs.openstack.org/user-guide/content/boot_from_volume.html"
>Launch an instance from a volume</link> section
in the <link
xlink:href="http://docs.openstack.org/user-guide/content/"
><citetitle>OpenStack End User
Guide</citetitle></link>.</para>
</section>
<?hard-pagebreak?>
<xi:include href="section_nfs_backend.xml"/>
<xi:include href="section_glusterfs_backend.xml"/>
<xi:include href="section_multi_backend.xml"/>
<xi:include href="section_backup-block-storage-disks.xml"/>
<xi:include href="section_volume-migration.xml"/>
<xi:include href="section_glusterfs_removal.xml"/>
<xi:include href="section_volume-backups.xml"/>
<xi:include href="section_volume-backups-export-import.xml"/>
</section>
<section xml:id="troubleshooting-cinder-install">
<title>Troubleshoot your installation</title>
<para>This section provides useful tips to help troubleshoot
your Block Storage installation.</para>
<xi:include href="section_ts_cinder_config.xml"/>
<xi:include href="section_ts_multipath_warn.xml"/>
<xi:include href="section_ts_vol_attach_miss_sg_scan.xml"/>
<xi:include
href="section_ts_HTTP_bad_req_in_cinder_vol_log.xml"/>
<xi:include href="section_ts_duplicate_3par_host.xml"/>
<xi:include
href="section_ts_failed_attach_vol_after_detach.xml"/>
<xi:include
href="section_ts_failed_attach_vol_no_sysfsutils.xml"/>
<xi:include href="section_ts_failed_connect_vol_FC_SAN.xml"/>
<xi:include href="section_ts_no_emulator_x86_64.xml"/>
<xi:include href="section_ts_non_existent_host.xml"/>
<xi:include href="section_ts_non_existent_vlun.xml"/>
</section>
</chapter>