Installing OpenStack Object Storage
The OpenStack object storage is a multi-tenant object storage system installed for development and testing purposes. It is highly scalable and can manage large amounts of unstructured data at minimal cost.
Now that we have a machine to run our OpenStack Object Storage service (swift), we can install the packages required to run this service. It works together to provide object storage and retrieval.
To do this, we will create a machine that runs on all the appropriate services for running OpenStack Object Storage:
swift: The underlying common files shared amongst other OpenStack Object Storage packages, including the swift client
swift-proxy: Uses object ring to decide where to direct newly uploading objects. The proxy service that the clients connect to, that sits in front of the many swift nodes that can be configured
swift-account: Maintains databases of all of the containers available. The account service for accessing OpenStack Storage
swift-object: Responsible for storing data projects in partitions on a disk device. The package responsible for object storage and orchestration of rsync
swift-container: Maintains databases of objects in containers. The package for the OpenStack Object Storage Container Server
memcached: A high-performance memory object caching system
ntp: Network Time Protocol is essential in a multi-node environment so that the nodes have the same time (tolerance is up to five seconds, and outside this you get unpredictable results)
xfsprogs: The underlying filesystem is XFS in our OpenStack Object Storage installation
curl: Command-line web interface tool
Assure that you are logged into your swift virtual machine. To accomplish this, run:
vagrant ssh swift
How to achieve it…
Installation of OpenStack in Ubuntu 12.04 is simply achieved by using the familiar apt-get tool due to the OpenStack packages available from the official Ubuntu repositories. To ensure you are installing the Grizzly release of OpenStack, follow the Configuring Ubuntu Cloud archive Recipe from Chapter 1, Keystone OpenStack Identity Service.
- We can install the OpenStack Object Storage packages as follows:
sudo apt-get update
sudo apt-get install -y swift swift-proxy swift-account swift- container swift-object memcached xfsprogs curl python-webob ntp parted
- NTP is important in any multi-node environment, while in OpenStack environment, it is a requirement for server times to be kept in sync. Even though we are configuring only one node, not only will it accurate timekeeping help with troubleshooting, but also it will allow us to grow our environment as needed in the future. To do this, we edit /etc/ntp.conf, with the following contents:
# Replace ntp.ubuntu.com with an NTP server on your network server ntp.ubuntu.com
fudge 127.127.1.0 stratum 10
- Once ntp has been configured correctly, we restart the service to pick up the change:
sudo service ntp restart
How it works…
Installation of OpenStack Storage from the main Ubuntu package repository represents a very straightforward and well-understood way of getting OpenStack into our Ubuntu server. This adds a greater level of certainty around stability and upgrade paths by not deviating away from the main archives.
Enroll for Instructor Led Live OpenStack Training