Here is how to mount Rackspace Cloud Files on Ubuntu server so that a container becomes a directory with for using it to store, serve files. Mounting Backspace Cloud Files can be done in various ways, however just like a to use a tool named Swiftly. Backspace Cloud Files means OpenStack Swift.
Mount Rackspace Cloud Files on Ubuntu Server : Basics and Possibilities
We have published this guide to mount Rackspace Cloud files on Ubuntu Server for future guides. Because, we are known to provide innovative tricks since 2010! We have the plan to WordPress static serve files (yes) generated by W3TC on Nginx server. There are difficulties, because when Rackspace Cloud files becomes CDN, it connects with Akamai Content Delivery Network in a complex way, less is understood by us on how it happens. When we are using Rackspace Cloud files without enabling CDN, it actually works like a Private Cloud System. Akamai Technologies is the common company to be used by all the major brands.
But, mounting Cloud Files and running application directly from it, is very slow due to complex API based system, may be due to DNS related issues.
Rackspace officially has published this type of guide for mounting in 2011, but basically they declared that, they have no support by updating with a note – “steps listed don’t work completely with all current distributions. It is preserved for archival purposes”. In other words – it is not Rackspace Employee Sandeep Sidhu’s method, but it is human Sandeep Sidhu’s method.
Anyway, it works. Obviously, with different types of server flavors, you might need to fight a bit.
---
Mount Rackspace Cloud Files on Ubuntu Server : Steps
Do it on a developmental setup with exact configuration like production server. So, spin up a server from daily backup image. Do not try it on a production server. In the first step, we need to install all the dependencies :
1 2 | apt-get update -y && apt-get upgrade apt-get install build-essential libcurl4-openssl-dev libxml2-dev libssl-dev libfuse-dev git gcc |
build-essential
should enable make
. Check with which make
. If no output, troubleshoot it. We need to clone this repo :
1 2 3 4 | # repo - https://github.com/redbo/cloudfuse git clone https://github.com/redbo/cloudfuse.git -v # v flag added for verbose output # read git reference - http://git-scm.com/docs/git-clone |
We will install crontab
then :
1 2 3 4 | apt-get install cron # start and run it on background sudo /sbin/chkconfig crond on sudo /sbin/service crond start |
Now change directory and compile :
1 2 3 4 5 6 7 8 9 10 | cd /root/cloudfuse/ ./configure make make install # if the next command throws error, run # apt-get install fuse # then again modprobe fuse # fuse documentation http://sourceforge.net/projects/fuse/?source=directory |
Now, create a file named .cloudfuse
, root of the stuffs :
1 2 | nano /root/.cloudfuse # read out of this window what to copy paste there |
You have to copy this prototype and fill with real data, then paste that on .cloudfuse
file :
1 2 3 4 5 6 7 8 9 10 | username=YOUR_RACKSPACE_USERNAME_IN_ALL_LOWER_CASE api_key=YOUR_RACKSPACE_API_KEY # region is by default ORD, if not ORD, uncomment and add the region # region=ORD # use ServiceNet, if not mentioned, it will suck chargeable bandwidth use_snet=true # only use if auth fails # authurl=[auth URL] # auth_url should be towards the newest |
Do not read the GitHub repo’s README, they also wrote for non-Rackspace Cloud, OpenStack Swift setup. The guides end here for unknown reason. We have to mount it :
1 2 | mkdir /mnt/cloudfiles/ && cloudfuse /mnt/cloudfiles/ # no -p flag to mount |
The file /etc/modules
should contain direction for fuse
. Documentation is here :
1 | https://help.ubuntu.com/community/Loadable_Modules |
The file /var/spool/cron/crontab
or /etc/crontab
actually need a directive like :
1 | @reboot root cloudfuse /mnt/cloudfiles -o allow_other,nonempty |
Now run reboot
and check. This should make it working. The repo has some logical problems, that might require troubleshooting by a bit Google Search with the error. This modified way was discovered by Russ.