Install Object Storage
- Though you can install OpenStack Object Storage for
- development or testing purposes on one server, a
- multiple-server installation enables the high availability and
- redundancy you want in a production distributed object storage
- system.
- 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
- Though you can install OpenStack Object Storage for development or
+ testing purposes on one server, a multiple-server installation enables
+ the high availability and redundancy you want in a production
+ distributed object storage system.
+ 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 Identity Service (keystone).
+ >http://swift.openstack.org/development_saio.html for manual
+ instructions or http://devstack.org for all-in-one including authentication
+ with the Identity Service (keystone) v2.0 API.
+
+ In this guide we recommend installing and configuring the Identity
+ service so that it implements Identity API v2.0. The Object Storage
+ service is unaware of domains when implementing Access Control Lists
+ (ACLs), so you must use the v2.0 API to avoid having identical user
+ names in different domains, which would enable two users to access
+ the same objects.
+ Before you begin
- Have a copy of the operating system installation media
- available 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 how to install a cluster by
- using the following types of nodes:
+ Have a copy of the operating system installation media available
+ 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 how to install a cluster by 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.
+ 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
+ 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 five is recommended for a production
- cluster.
+ Fewer storage nodes can be used initially, but a minimum of
+ five is recommended for a production cluster.
@@ -55,17 +57,18 @@
Create a swift user that the Object
- Storage Service can use to authenticate with the Identity Service.
- Choose a password and specify an email address for the
- swift user. Use the
- service tenant and give the user the
- admin role:
+ Storage Service can use to authenticate with the Identity
+ Service. Choose a password and specify an email address for
+ the swift user. Use the
+ service tenant and give the user the
+ admin role:
$keystone user-create --name=swift --pass=SWIFT_PASS \
--email=swift@example.com$keystone user-role-add --user=swift --tenant=service --role=admin
- Create a service entry for the Object Storage Service:
+ Create a service entry for the Object Storage
+ Service:$keystone service-create --name=swift --type=object-store \
--description="OpenStack Object Storage"+-------------+----------------------------------+
@@ -76,15 +79,17 @@
| name | swift |
| type | object-store |
+-------------+----------------------------------+
- The service ID is randomly generated and is different from
- the one shown here.
+
+ The service ID is randomly generated and is different
+ from the one shown here.
+
- Specify an API endpoint for the Object Storage Service by using
- the returned service ID. When you specify an endpoint, you
- provide URLs for the public API, internal API, and admin API.
- In this guide, the controller host name is
- used:
+ Specify an API endpoint for the Object Storage Service by
+ using the returned service ID. When you specify an endpoint,
+ you provide URLs for the public API, internal API, and admin
+ API. In this guide, the controller host
+ name is used:$keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ object-store / {print $2}') \
--publicurl='http://controller:8080/v1/AUTH_%(tenant_id)s' \
@@ -102,27 +107,22 @@
+-------------+---------------------------------------------------+
- Create the configuration directory on
- all nodes:
+ Create the configuration directory on all nodes:#mkdir -p /etc/swift
- Create
- /etc/swift/swift.conf on
- all nodes:
+ 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 must be the same on every node in the
- cluster!
+ 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 must
+ be the same on every node in the cluster!
- Next, set up your storage nodes and proxy node. This
- example uses the Identity Service for the common
- authentication piece.
+ Next, set up your storage nodes and proxy node. This example uses
+ the Identity Service for the common authentication piece.