Using MooseFS in Cloud Computing
The cloud computing project that our team here at IIT has been working on is still chugging along. ┬My role has been to research and test a file system for our cloud’s storage. The file system I’ve been using is MooseFS (www.moosefs.org).
As far as standard file operations go, MooseFS is similar to any other Unix-based file system. However, MooseFS also has:
- High Reliability - multiple copies of data can be stored over different servers
- Dynamic Expandability - more capacity is attained by adding more servers and/or disks
- "Trash Bin" - deleted files are still retained for a configurable period of time
- File Snapshots - even when files are being written or read
MooseFS architecture is made up of four major components: master server, chunk server, metalogger server, and a mount.
- Master Server is a managing server. It is a single machine that manages the whole file system and stores metadata for every file.
- Chunk Servers are the data servers. They store file data and synchronize it among themselves (if multiple copies are to be stored).
- Metalogger Server is a metadata backup server. This stores metadata changelogs and periodically downloads the main metadata file. Also serves as a back-up master server.
- Mounts are the client computers that access the files in MooseFS. Mounts use the mfsmount process to communicate with the master server and chunk servers.
MooseFS is available on Linux, FreeBSD, OpenSolaris, and MacOS X.
My MooseFS Test System for the Cloud
My test system consists of 5 PC's: 1 Master Server, 1 Metalogger Server, 2 Chunk Servers, and 1 Client System. Eventually the Client System won't be needed because my test system will be attached to the storage controller for the cloud.
I installed MooseFS on top of machines running the Ubuntu server OS. The installs on each of the machines were straightforward since the MooseFScontained a step-by-step installation document for each machine. There was a small hiccup. After trying to configure MooseFS, I realized I needed to install the zlib data compression package (www.zlib.net). After getting that installed, the MooseFS install was a breeze.
Trying to mount the Client to the Master Server also proved troublesome at first. It turned out to be a faulty ethernet cable. After that was fixed I had my entire test system up and running.
With that out of the way, my next goal is to try and configure the Metalogger Server as a back-up to the Master Server. I hope my next post proves that I was successful.