Installing OpenStack Object Storage on Ubuntu 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 on Ubuntu for development purposes from source code, use the Swift All In One instructions. See http://swift.openstack.org/development_saio.html.
Before You Begin Have a copy of the Ubuntu Server installation media on hand if you are installing on a new server. The packages referred to support 10.10 maverick, 11.04 natty, or 11.10 oneiric. This document demonstrates installing a cluster using the following types of nodes: One Proxy node which runs the swift-proxy-server processes and may also run optional swauth services. It serves proxy 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 the baseline Ubuntu Server (either 10.10 maverick, 11.04 natty, or 11.10 oneiric) on all nodes. First, you need to add a signing key for the Cloud Builders repository that contains packages that are known and tested to work together, such as diablo-d5 or diablo-final. Once you add the signing key, you add a repository entry pointing to it and update your repo pointer with an apt-get command. sudo apt-key adv --keyserver hkp://subkeys.pgp.net --recv F87CBDE0 sudo echo "deb http://ops.rcb.me/packages maverick diablo-final" > /etc/apt/sources.list.d/rcb-sources.list Now, install the swift service and openSSH. sudo apt-get install swift openssh-server Create and populate configuration directories on all nodes: mkdir -p /etc/swift chown -R swift:swift /etc/swift/ Create /etc/swift/swift.conf: [swift-hash] # random unique string that can never change, keep it secret and do NOT lose it swift_hash_path_suffix = changeme 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, proxy node, and an auth node, in this walkthrough we'll use the OpenStack Identity Service, Keystone, for the common auth piece.