Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Basically I'm looking for "multipath nfs". I want a classic network filesystem but with multiple servers mounted at the clients to a single mount point and it should handle a server failure with transparent failover among the servers without any delay. Load balancing and performance is not an issue. Sync among the servers can be done outside of this solution, it could even be read-only for the normal clients through this interface.

I prefer to avoid GFS, Lustre, AFS, IP round robin and "complicated" things like those.

Do you know a simple solution for this problem?

share|improve this question
4  
I don't think there is a 'simple' solution. –  Iain Jun 4 '11 at 18:07

5 Answers 5

EDIT: I just saw you want to avoid Lustre. GlusterFS is (to me) not in the same space since it doesn't require any fiddling with the kernel. It's purely userspace.

GlusterFS does that. It's a userspace implementation thus a bit slower. But personally I believe that most networked filesystems have the network as the bottleneck.

Personal stuff aside:

With a GlusterFS Cluster you mount any of the nodes. If this node then goes down the client implementation is smart enough to detect that and continues to work with another node in the Cluster.

I'm not quite sure on the POSIX compatibility so you might not want to run PostgreSQL/MySQL/Oracle from that. But serving static files from a GlusterFS is perfectly fine. Please note: Serving static files doesn't necessarily mean that it has to be a webserver. :)

share|improve this answer
    
I checked GlusterFS and I liked its siplicity for both client and server. I'll give it a try tomorrow at the test system. I'll keep you posted about the results. Thank you in advance. –  nightw Jun 5 '11 at 14:25

The trick will be to get the clients to support this kind of non-standard operation. That said, you can make the server highly-available. Put two NFS servers in a Heartbeat cluster and you at least have failover, though locking won't transfer. You will have some downtime as the cluster figures out that all is not right and initiates failover, but it should be very fast; well under 30 seconds.

share|improve this answer

What you're asking for is typically what a Storage Area Network (SAN) was designed to solve.

share|improve this answer
1  
Just to make things clear I already have a SAN with iSCSI and of course all the servers get their own block access for iSCSI targets. The problem is that is I use iSCSI then I cannot use it on more than one client. But when I use NFS I cannot make it "multipath". I want shared filesystem (not block devices) with more than 1 servers and more than 1 clients. –  nightw Jun 4 '11 at 22:38

Your solution may be using OCFS2 : http://www.oracle.com/us/technologies/linux/025995.htm

You can deploy iSCSI LUNs shared across any number of systems, and configure these LUNs with OCFS2. You will gain a sharable filesystem whether you are using it for clustering or other purposes is not really relevant. With NFS you are limited in what you can do. However, with NFS you can increase availability by managing redundancy at the network layer and deploying link aggregation in combination with cross-stack ether-channel. Granted you are bound by a single IP with NFS, but with aggregation on both ends you can in theory have a pretty redundant solution. Many of our customers at Nexenta utilize solutions similar to this. Clearly, you can get pretty crazy and build multiple aggregates to improve overall throughput, and you can use solutions similar to IPMP, which is what we offer on our the NexentaStor systems.

share|improve this answer
    
OCFS2 definitely falls foul of the "complicated things like that" caveat in the question. –  womble Aug 27 '11 at 4:46

Honestly, you're not going to find a "simple" solution, because this is not a "simple" problem. That being said, for robustness and simplicity, the least-worst option I've found is NFS over DRBD. It's still not simple, but it's a lot better than GFS/OCFS2/Lustre. Given that you've already got the equivalent of DRBD with your SAN (assuming you want to use it), NFS+heartbeat is really where you're going to end up if you want failover.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.