One of the questions that I am often asked by customers looking at Eucalyptus for a Private Cloud is "how can I use NFS with Eucalyptus?" The scenario is usually one where the customer has deployed a NetApp SAN and prefers to use NFS over iSCSI or has deployed another highly-scalable distributed storage platform, like GlusterFS, with NFS exports.
In a normal HA deployment, Eucalyptus uses local disk for the Walrus storage and iSCSI SAN storage from a supported SAN (NetApp, EMC VNX or Dell EqualLogic). While the performance is much better with these types of storage back-ends, sometimes it is more practical to use something universal, like NFS, for your cloud storage back end.
The solution here is very simple, actually, with one caveat: you will not be able to use HA. In a non-HA implementation, Eucalyptus can in fact use NFS to back the Walrus and Storage Controller, and the configuration is very simple. Set up your cloud following the instructions in the Eucalyptus Installation Guide (for a non-HA setup) and simply mount the NFS partitions under /var/lib/eucalyptus/bukkits (for the Walrus) and /var/lib/eucalyptus/volumes (for the Storage Controller). From this point on, Eucalyptus will use your NFS exports as back-end storage for it's services.
So what do you do about failure in a non-HA setup? There are a few 'standard' Linux faculties to give you redundancy in this scenario. I will cover those in a future blog post, but essentially, you could use standard backups of the front-end components that could be restored in the event of a failure or you could get a little more creative and mirror the front-end components to what is essentially a 'warm spare' that can then be brought online if there is a failure. There are other options as well, and we will discuss those more detail in the future. For now, you can start building your cloud on top of NFS and start testing functionality and performance to see if it meets your use case(s).