openstack-manuals/doc/install-guide/object-storage/section_object-storage-install.xml
Shaun McCance fa04e36ab6 Misc language and markup improvements to swift
Change-Id: Ib35a33d2b6f6702d80bb9a3bcb95da787248e937
2013-10-17 09:21:08 -05:00

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>