openstack-manuals/doc/install-guide/object-storage/section_object-storage-install.xml
Diane Fleming 42b23e8c84 Edits to install guide
Closes-Bug: #1249082

Change-Id: I9f68073da5ca25867b2b8c099cce5df34f6a3eec
author: diane fleming
2013-11-10 06:43:51 +01:00

95 lines
4.9 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>Install Object Storage</title>
<para>Though you can install OpenStack Object Storage for
development or testing purposes on one server, a
multiple-server installation enables the high availability and
redundancy you want in a production distributed object storage
system.</para>
<para>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 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
available 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 how to install a cluster by
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 five 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. This
example uses the Identity Service for the common
authentication piece.</para>
</section>
</section>