Installing OpenStack Object Storage 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. 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 Begin Have 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 Steps Install 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 memcached Create 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.