You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Introduction

Apache CloudStack supports the usage of S3 and Swift object stores to backup the contents of NFS secondary storage – providing region-wide availability of secondary storage assets. This document provides instructions for rapidly provisioning S3 and Swift environments to support development and testing of this capability.

N.B. These environments are intended for functional testing only. Performance/load testing should be performed in environments that conform to vendor-specified guidelines (typically multiple bare metal servers).

Prerequisites

In order to achieve operational repeatability and environmental consistency, Vagrant is employed to provision and build local virtual machines on the VirtualBox hypervisor. All Vagrant configurations are acquired via git. Therefore, ensure that the Vagrant, Virtualbox, and git are properly installed and configured before attempting to create the environments described in this document.

Riak CS (S3-compatible)

Riak CS is an open source object storage system that provides an S3 compatible API. The following steps will create a local Riak CS virtual machine on Ubuntu 12.04.2:

  1. git clone https://github.com/basho/vagrant-riak-cs-cluster.git
  2. cd vagrant-riak-cs-cluster && git checkout v2.0.0
  3. RIAK_CS_CREATE_ADMIN_USER=1 vagrant up => make a note of the access key and secret key at the end of the Vagrant log

Following completion of these steps, Riak CS will be available @ 33.33.33.10:8080.

OpenStack Swift

OpenStack Swift is OpenStack's open source object storage system. The OpenStack community provides Devstack infrastructure to created local OpenStack environments. A pending patch wraps Vagrant around this mechanism to quickly create local virtual machines with it. Finally, by default, Devstack does not enable Swift. The following steps will create a local Devstack virtual machine that includes a Swift instance:

  1. git clone https://github.com/jburwell/devstack
  2. cd devstack
  3. Create a file name "vagrant-overrides.conf" that contains the following:
    enabled_services=swift
    swift_hash=66a3d6b56c1f479c8b4e70ab5c2000f5
    swift_replicas=1
    swift_data_dir=$DEST/data
  4. vagrant up

    <style type='text/css'> .FootnoteMarker, .FootnoteNum a { background: transparent url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png) no-repeat top right; padding: 1px 2px 0px 1px; border-left: 1px solid #8898B8; border-bottom: 1px solid #6B7C9B; margin: 1px; text-decoration: none; } .FootnoteNum a { margin-top: 2px; margin-right: 0px; } .FootnoteNum { font-size: x-small; text-align: right; padding-bottom: 4px; } .footnote-th1 { text-align: right; } .Footnote { padding-left: 7px; margin-bottom: 4px; border: 1px none #DDDDDD; writingMode: tb-rl; } .accessibility { display: none; visibility: hidden; } @media aural,braille,embossed { .FootnoteMarker, .FootnoteNum a { border: 1px solid #000000; background: #ffffff none; } .accessibility { display: run-in; visibility: visible; } } </style> <script type='text/javascript' language='JavaScript'> //<!--\n var effectInProgress = {}; var despamEffect = function (id,effectType,duration) { if ((effectInProgress[id]) || (typeof(Effect)=="undefined") || (typeof(Effect[effectType])=="undefined")) return; new Effect[effectType](id); effectInProgress[id]=true; setTimeout('effectInProgress[\"'+id+'\"]=false;',duration*1000); }; var oldFootnoteId = ''; var footnoteHighlight = function(id,pulsateNum) { if (oldFootnoteId!='') document.getElementById('Footnote'+oldFootnoteId).style['borderStyle'] = 'none'; oldFootnoteId = id; document.getElementById('Footnote'+id).style['borderStyle'] = 'solid'; despamEffect('Footnote'+id,'Highlight',1) if (pulsateNum) despamEffect('FootnoteNum'+id,'Pulsate',3) } var footnoteMarkerHighlight = function(id) { if (oldFootnoteId!='') document.getElementById('Footnote'+oldFootnoteId).style['borderStyle'] = 'none'; oldFootnoteId = ''; despamEffect('FootnoteMarker'+id,'Pulsate',3) } //--> </script> 1

Following completion of these steps, Swift will be available on 10.0.3.50 and can be validated through the Horizon interface available at http://10.0.3.50.

Footnotes
Reference Notes
1 A Vagrant Devstack provision downloads roughly 300 MB of data. Dependent on available bandwidth, this step may take a long time to complete.

  • No labels