Installing OpenStack Object StorageThough 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.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 http://swift.openstack.org/development_saio.html
for manual instructions or http://devstack.org for all-in-one
including authentication with the OpenStack Identity service (keystone).Before You BeginHave a copy of the operating system installation media on
hand if you are installing on a new server.These steps assume you have set up repositories for
packages for your operating system as shown in OpenStack
Packages.This document demonstrates installing a cluster using the following
types of nodes:One proxy node which runs the swift-proxy-server
processes. The proxy server proxies requests
to the appropriate storage nodes.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.Fewer storage nodes can be used initially, but a minimum of 5
is recommended for a production cluster.General Installation StepsInstall core Swift files and openSSH.#apt-get install swift openssh-server rsync memcached python-netifaces python-xattr python-memcache#yum install openstack-swift openstack-swift-proxy openstack-swift-account openstack-swift-container openstack-swift-object memcached#zypper install openstack-swift openstack-swift-proxy openstack-swift-account openstack-swift-container openstack-swift-object memcachedCreate and populate configuration directories on all nodes:#mkdir -p /etc/swift#chown -R swift:swift /etc/swift/#mkdir -p /etc/swift#chown -R openstack-swift:openstack-swift /etc/swift/Create /etc/swift/swift.conf on all nodes:The suffix value in
/etc/swift/swift.conf 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!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.