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.