d99744c3df
The XML root element of Docbook XML files should match the following format: <ELEMENT 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="THE_XML_ID_OF_THE_ELEMENT"> Change-Id: I95a6f36d6887af952257a800e3359d53ac1f895a
178 lines
9.0 KiB
XML
178 lines
9.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE section [
|
|
<!ENTITY % openstack SYSTEM "../common/entities/openstack.ent">
|
|
%openstack;
|
|
]>
|
|
<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/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?>
|
|
<xi:include
|
|
href="blockstorage/section_increase-api-throughput.xml"/>
|
|
<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>
|
|
<title>To create and attach a volume to an
|
|
instance</title>
|
|
<step>
|
|
<para>Configure the OpenStack Compute and the
|
|
OpenStack Block Storage services through the
|
|
<filename>cinder.conf</filename> file.</para>
|
|
</step>
|
|
<step>
|
|
<para>Use the <command>cinder create</command> command
|
|
to create a volume. This command creates an LV
|
|
into the volume group (VG)
|
|
<literal>cinder-volumes</literal>.</para>
|
|
</step>
|
|
<step>
|
|
<para>Use the <command>nova volume-attach</command>
|
|
command to attach the volume to an instance. 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.</para>
|
|
<para>The network mode does not interfere with OpenStack Block
|
|
Storage operations, but you must set up networking for
|
|
Block Storage 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 <package>lvm2</package>.
|
|
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, you can store and run instances 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="blockstorage/section_nfs_backend.xml"/>
|
|
<xi:include href="blockstorage/section_glusterfs_backend.xml"/>
|
|
<xi:include href="blockstorage/section_multi_backend.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_backup-block-storage-disks.xml"/>
|
|
<xi:include href="blockstorage/section_volume-migration.xml"/>
|
|
<xi:include href="blockstorage/section_glusterfs_removal.xml"/>
|
|
<xi:include href="blockstorage/section_volume-backups.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_volume-backups-export-import.xml"/>
|
|
<section xml:id="using-lio-iscsi">
|
|
<title>Use LIO iSCSI support</title>
|
|
<para>The default <option>iscsi_helper</option> tool is
|
|
<literal>tgtadm</literal>. To use LIO iSCSI,
|
|
install the <literal>python-rtslib</literal> package,
|
|
and set <literal>iscsi_helper=lioadm</literal> in the
|
|
<filename>cinder.conf</filename> file.</para>
|
|
<para>Once configured, you can use the
|
|
<command>cinder-rtstool</command> command to
|
|
manage the volumes. This command enables you to
|
|
create, delete, and verify volumes and determine
|
|
targets and add iSCSI initiators to the system.</para>
|
|
</section>
|
|
</section>
|
|
<section xml:id="troubleshooting-cinder-install">
|
|
<title>Troubleshoot your installation</title>
|
|
<para>This section provides useful tips to help you
|
|
troubleshoot your Block Storage installation.</para>
|
|
<xi:include href="blockstorage/section_ts_cinder_config.xml"/>
|
|
<xi:include href="blockstorage/section_ts_multipath_warn.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_vol_attach_miss_sg_scan.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_HTTP_bad_req_in_cinder_vol_log.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_duplicate_3par_host.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_failed_attach_vol_after_detach.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_failed_attach_vol_no_sysfsutils.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_failed_connect_vol_FC_SAN.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_no_emulator_x86_64.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_non_existent_host.xml"/>
|
|
<xi:include
|
|
href="blockstorage/section_ts_non_existent_vlun.xml"/>
|
|
</section>
|
|
</chapter>
|