5fca287eb5
There are several instances of "Block Storage Service" in the upstream documentation. As was recently clarified in the docs mailing list, these should be "Block Storage service". This patch applies the fix. Change-Id: I591c100ab031b75f1c0d27d45f53e32401a26e30 Partial-Bug: #1217503
150 lines
7.7 KiB
XML
150 lines
7.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE section [
|
|
<!-- Some useful entities borrowed from HTML -->
|
|
<!ENTITY nbsp " ">
|
|
]>
|
|
<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 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"/>
|
|
</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_failed_sched_create_vol.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>
|