fa04e36ab6
Change-Id: Ib35a33d2b6f6702d80bb9a3bcb95da787248e937
82 lines
4.7 KiB
XML
82 lines
4.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<section xml:id="installing-openstack-object-storage"
|
|
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">
|
|
<title>Installing OpenStack Object Storage</title>
|
|
<para>Though you can install OpenStack Object Storage for development or testing purposes on a single server, a multiple-server installation enables the high availability and redundancy you want in a production distributed object storage system.</para>
|
|
<para>If you would like to perform a single node installation for development purposes from source code, use the
|
|
Swift All In One instructions (Ubuntu) or DevStack (multiple distros). See <link
|
|
xlink:href="http://swift.openstack.org/development_saio.html"
|
|
>http://swift.openstack.org/development_saio.html</link>
|
|
for manual instructions or <link xlink:href="http://devstack.org">http://devstack.org</link> for all-in-one
|
|
including authentication with the OpenStack Identity service (keystone).</para>
|
|
<section xml:id="before-you-begin-swift-install">
|
|
<title>Before You Begin</title>
|
|
<para>Have a copy of the operating system installation media on
|
|
hand if you are installing on a new server.</para>
|
|
<para>These steps assume you have set up repositories for
|
|
packages for your operating system as shown in <link
|
|
linkend="basics-packages">OpenStack
|
|
Packages</link>.</para>
|
|
<para>This document demonstrates installing a cluster using the following
|
|
types of nodes:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>One proxy node which runs the swift-proxy-server
|
|
processes. The proxy server proxies requests
|
|
to the appropriate storage nodes.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Five storage nodes that run the swift-account-server,
|
|
swift-container-server, and swift-object-server
|
|
processes which control storage of the account
|
|
databases, the container databases, as well as the
|
|
actual stored objects.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<note>
|
|
<para>Fewer storage nodes can be used initially, but a minimum of 5
|
|
is recommended for a production cluster.</para>
|
|
</note>
|
|
</section>
|
|
<section xml:id="general-installation-steps-swift">
|
|
<title>General Installation Steps</title>
|
|
<procedure>
|
|
<step>
|
|
<para>Install core Swift files and openSSH.</para>
|
|
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install swift openssh-server rsync memcached python-netifaces \
|
|
python-xattr python-memcache</userinput></screen>
|
|
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-swift openstack-swift-proxy \
|
|
openstack-swift-account openstack-swift-container \
|
|
openstack-swift-object memcached</userinput></screen>
|
|
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install openstack-swift openstack-swift-proxy \
|
|
openstack-swift-account openstack-swift-container \
|
|
openstack-swift-object memcached</userinput></screen>
|
|
</step>
|
|
<step>
|
|
<para>Create and populate configuration directories on all nodes:</para>
|
|
<screen os="ubuntu;debian;rhel;centos;fedora"><prompt>#</prompt> <userinput>mkdir -p /etc/swift</userinput>
|
|
<prompt>#</prompt> <userinput>chown -R swift:swift /etc/swift/</userinput></screen>
|
|
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>mkdir -p /etc/swift</userinput>
|
|
<prompt>#</prompt> <userinput>chown -R openstack-swift:openstack-swift /etc/swift/</userinput></screen>
|
|
</step>
|
|
<step>
|
|
<para>Create <filename>/etc/swift/swift.conf</filename> on all nodes:</para>
|
|
<programlisting language="ini"><xi:include parse="text" href="../samples/swift.conf.txt" /></programlisting>
|
|
</step>
|
|
</procedure>
|
|
<note>
|
|
<para>The suffix value in
|
|
<filename>/etc/swift/swift.conf</filename> should
|
|
be set to some random string of text to be used as a
|
|
salt when hashing to determine mappings in the ring.
|
|
This file should be the same on every node in the
|
|
cluster!</para>
|
|
</note>
|
|
<para>Next, set up your storage nodes and proxy node.
|
|
In this example we'll use the OpenStack Identity
|
|
Service, Keystone, for the common auth piece.</para>
|
|
</section>
|
|
</section>
|