Installing OpenStack Object Storage on UbuntuThough 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 BeginHave 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 F87CBDE0sudo echo "deb http://ops.rcb.me/packages maverick diablo-final" > /etc/apt/sources.list.d/rcb-sources.listNow, install the swift service and openSSH. sudo apt-get install swift openssh-serverCreate 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.