Mounting Rackspace Cloud Files storage in Ubuntu

I ran into a use case where some files on our servers are growing rapidly (more on that in the future). Instead of just throwing cloud block storage at the problem, I decided to put them into something a bit more scalable – Rackspace’s Cloud Files. We use Rackspace for all our infrastructure so this was a natural fit – it will expand without me doing anything, and is easy to report on usage.

If you’re using the latest Ubuntu, this is pretty straight forward.

First, install dependencies:

apt-get install fuse libfuse-dev libxml2 libxml2-dev libcurl3-gnutls-dev libssl libssl-dev pkg-config libjson-c-dev

Note, if you prefer another flavor of curl, just ensure you have the development version of your preferred package installed. pig-config is the one that hung me up for a bit, it’s somewhat of a silent dependency.

From here, clone the repository, and do the usual steps to build.

git clone https://github.com/redbo/cloudfuse.git
cd cloudfuse
./configure
make && sudo make install

 

Now that it is installed, you can add a line to your /etc/fstab that contains the directive to mount your cloud files setup:
cloudfuse /mnt/cloudfiles    fuse    username=<username>,api_key=<api_key>,user    0    0

Run mount -a and you should be good to go.