3

I am in a situation where I would like to provide NFS servers in high availability.

The setup I currently have is a VMware enviroment, with shared storage via a SAN using iSCSI. Simply, I have a server that will be debian/centos serving up an NFS share to several physical servers that require access to this shared datastore. This storage will be used exclusively for these physical servers which only run one application, and this application is clustered, and aware of the storage being served. In other words, I do not really need clustering at the lowest level of storage, as the application handles all the dropoff, and pick-up of files and keeps track via a back end database. My goal would really be to have two NFS servers available if possible, in case of VM/host failure. Is this even possible? I have read some different things about using GlusterFS and other things, but I really do not need that level of complexity as this storage is purely for this single application which is cluster aware and will not step on it's self as it reads and writes from the NFS share.

I was thinking of having my NFS server use a raw device mapping in vmware, directly to my san, that way I could potentially have two NFS servers have this same LUN mounted in their file system in somewhere like /mnt/store/asr then serve out NFS via two paths, and let the application handle the rest.

2
  • How many vmware hypervisor instances do you have? If more than one, you can just use vmware's high availability feature. Commented Jun 27, 2016 at 17:46
  • I currently have 3 host machines using vsphere standard. I could do this, but i'm limited to 2vcpu with the license that I have, and also i'm using gigabit networking. I've read 10 gigabit is highly recommended to use HA, but I might give it a try. Commented Jun 28, 2016 at 16:06

2 Answers 2

3

You need a shared storage device, but do you really need NFS?

You could try things like OCFS2 (a shared-disk clustering file system, which expects that the same block device is opened on multiple machines, and has been in the Linux kernel since 2.6.16) or ceph (a clustering file system which shares data over ethernet or similar, expecting individual nodes to each have their own local block device, and which uses a RAID-like scheme to spread the data over all of those nodes).

There are many other schemes to have high-available clustering storage. Which option is best for you depends on your needs, of course. Wikipedia has a pretty good overview of the options.

3
  • I am not necessary tied to NFS, it's just what we have used in the past. We currently are using a Synology Rackstation because it's what was installed when the environment was small and it provides disk encryption, however we are reaching it's limits as we have had issues with it due to the number of files and transactions. We are transitioning everything to SAN based storage, which is using non-encrypted disks. I will be using a CentOS vm that is stored on encrypted disks, and holds the key for dm-crypt, then mounting a 2nd disk for the storage. Commented Jun 27, 2016 at 15:04
  • Right. I've given you two alternatives to NFS, both of which will (I think) help you move forward. If you're not tied to "whatever you're currently using", then I think ceph is the better option of the two. Commented Jun 27, 2016 at 15:06
  • Thank you, I will check out ceph closer. I have heard of it and taken a look at it before, but not in depth. Commented Jun 27, 2016 at 15:07
0

This is a classic example given in any modern clustering application's handbook. It is very simple to implement.

  • You create a two node cluster

  • You create an application, whose sole purpose is to mount a
    filesystem or more than one if that is the case and exporting them
    out as NFS shares

  • You assign this application's VIP (Virtual IP address) as the serving point of NFS server.

  • Set your cluster up for auto-failover (after vetting it's stability for a few weeks)

1
  • Thank you all for your responses, this is a lot to take in and i'll be doing the appropriate research and testing. Commented Jun 27, 2016 at 15:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .