openstack-manuals/doc/common/section_storage-concepts.xml
Anne Gentle e3f26b3f11 Adds section to Object Storage about CLIs and utils
- swift, swift-init, swift-recon, swift-ring-builder

Change-Id: I7838d379fb77adf2f17acd5d920cb33dde6450a6
Partial-bug: 1238668
2014-09-21 21:43:08 -05:00

116 lines
4.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section [
<!ENTITY % openstack SYSTEM "entities/openstack.ent">
%openstack;
]>
<section 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="storage-concepts">
<title>Storage concepts</title>
<para>The OpenStack stack uses the following storage types:</para>
<table rules="all">
<caption>Storage types</caption>
<col width="33%"/>
<col width="33%"/>
<col width="33%"/>
<thead>
<tr>
<td>On-instance / ephemeral</td>
<td>Block storage (cinder)</td>
<td>Object Storage (swift)</td>
</tr>
</thead>
<tbody>
<tr>
<td>Runs operating systems and provides scratch space</td>
<td>Used for adding additional persistent storage to a virtual
machine (VM)</td>
<td>Used for storing virtual machine images and data</td>
</tr>
<tr>
<td>Persists until VM is terminated</td>
<td>Persists until deleted</td>
<td>Persists until deleted</td>
</tr>
<tr>
<td>Access associated with a VM</td>
<td>Access associated with a VM</td>
<td>Available from anywhere</td>
</tr>
<tr>
<td>Implemented as a filesystem underlying OpenStack
Compute</td>
<td>Mounted via OpenStack Block Storage controlled protocol
(for example, iSCSI)</td>
<td>REST API</td>
</tr>
<tr>
<td>Administrator configures size setting, based on
flavors</td>
<td>Sizings based on need</td>
<td>Easily scalable for future growth</td>
</tr>
<tr>
<td>Example: 10&nbsp;GB first disk, 30&nbsp;GB/core second disk</td>
<td>Example: 1&nbsp;TB "extra hard drive"</td>
<td>Example: 10s of TBs of data set storage</td>
</tr>
</tbody>
</table>
<para>You should note that:<itemizedlist>
<listitem>
<para><emphasis>You cannot use OpenStack Object Storage like a
traditional hard drive.</emphasis> The Object Storage relaxes some
of the constraints of a POSIX-style file system to get other gains.
You can access the objects through an API which uses HTTP.
Subsequently you don't have to provide atomic operations (that is,
relying on eventual consistency), you can scale a storage system
easily and avoid a central point of failure.</para>
</listitem>
<listitem>
<para><emphasis>The OpenStack Image Service is used to manage
the virtual machine images in an OpenStack cluster, not
store them.</emphasis> It provides an abstraction to different
methods for storage - a bridge to the storage, not the storage
itself.</para>
</listitem>
<listitem>
<para><emphasis>The OpenStack Object Storage can function on its
own.</emphasis> The Object Storage (swift) product can be
used independently of the Compute (nova) product.</para>
</listitem>
</itemizedlist>
</para>
<variablelist>
<title>Command-line clients and other interfaces</title>
<varlistentry>
<term>swift client</term>
<listitem>
<para>Enables users to submit commands to the REST API through
a command-line client authorized as either a admin user,
reseller user, or swift user.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>swift-init</term>
<listitem><para>Script that initializes the building of the ring
file, takes daemon names as parameter and offers commands.
Documented in
<link xlink:href="http://docs.openstack.org/developer/swift/admin_guide.html#managing-services">http://docs.openstack.org/developer/swift/admin_guide.html#managing-services</link>.</para></listitem>
</varlistentry>
<varlistentry>
<term>swift-recon</term>
<listitem><para></para></listitem>
</varlistentry>
<varlistentry>
<term>swift-ring-builder</term>
<listitem><para>Storage ring build and rebalance utility.
Documented in <link
xlink:href="http://docs.openstack.org/developer/swift/admin_guide.html#managing-the-rings">http://docs.openstack.org/developer/swift/admin_guide.html#managing-the-rings</link>.</para></listitem>
</varlistentry>
</variablelist>
</section>