7ec78aef2d
was incorrectly placed in trunk/training-guide non-plural, now trunk/training-guides. also add redirect from trunk/openstack-training and trunk/training-guide to the new location. Change-Id: I0648a9604dc6a1d6c7480a90c07871608a8752ca Closes-Bug: #1255684
100 lines
4.2 KiB
XML
100 lines
4.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="module003-ch003-obj-store-capabilities">
|
||
<title>Object Storage Capabilities</title>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>OpenStack provides redundant, scalable object
|
||
storage using clusters of standardized servers capable
|
||
of storing petabytes of data</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Object Storage is not a traditional file system, but
|
||
rather a distributed storage system for static data
|
||
such as virtual machine images, photo storage, email
|
||
storage, backups and archives. Having no central
|
||
"brain" or master point of control provides greater
|
||
scalability, redundancy and durability.</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Objects and files are written to multiple disk
|
||
drives spread throughout servers in the data center,
|
||
with the OpenStack software responsible for ensuring
|
||
data replication and integrity across the
|
||
cluster.</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Storage clusters scale horizontally simply by adding
|
||
new servers. Should a server or hard drive fail,
|
||
OpenStack replicates its content from other active
|
||
nodes to new locations in the cluster. Because
|
||
OpenStack uses software logic to ensure data
|
||
replication and distribution across different devices,
|
||
inexpensive commodity hard drives and servers can be
|
||
used in lieu of more expensive equipment.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
<para><guilabel>Swift Characteristics</guilabel></para>
|
||
<para>The key characteristics of Swift include:</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>All objects stored in Swift have a URL</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>All objects stored are replicated 3x in
|
||
as-unique-as-possible zones, which can be defined as a
|
||
group of drives, a node, a rack etc.</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>All objects have their own metadata</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Developers interact with the object storage system
|
||
through a RESTful HTTP API</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Object data can be located anywhere in the
|
||
cluster</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>The cluster scales by adding additional nodes --
|
||
without sacrificing performance, which allows a more
|
||
cost-effective linear storage expansion vs. fork-lift
|
||
upgrades</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Data doesn’t have to be migrated to an entirely new
|
||
storage system</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>New nodes can be added to the cluster without
|
||
downtime</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Failed nodes and disks can be swapped out with no
|
||
downtime</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Runs on industry-standard hardware, such as Dell,
|
||
HP, Supermicro etc.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
<figure>
|
||
<title>Object Storage(Swift)</title>
|
||
<mediaobject>
|
||
<imageobject>
|
||
<imagedata fileref="figures/image39.png"/>
|
||
</imageobject>
|
||
</mediaobject>
|
||
</figure>
|
||
<para>Developers can either write directly to the Swift API or use
|
||
one of the many client libraries that exist for all popular
|
||
programming languages, such as Java, Python, Ruby and C#.
|
||
Amazon S3 and RackSpace Cloud Files users should feel very
|
||
familiar with Swift. For users who have not used an object
|
||
storage system before, it will require a different approach
|
||
and mindset than using a traditional filesystem.</para>
|
||
</chapter> |