NFS multipathing

Latest response

I would like to see NFS multipathing.

 

Quite possibly this would work properly with only client side development. By that i mean that the NFS server almost certainly wouldnt know that its going on, except maybe with locking.

 

Essentially, the mount command might somehow be told that two servers:/exports are the same thing.

 

mount -o secondary="serverip2:/vol/export" serverip1:/vol/export /mnt/point

Responses

I like this idea.  We might be better off with

 

mount server1:/vol/export,server2:/vol/export,...,serverN:/vol/export /mnt

 

Say you have four servers w/ GFS2 exporting via NFS.  You can vary this order among clients to achieve a poor-man's load balancing while getting the effect you want.

 

Perhaps:

 

mount server1,server2,server3:/vol/export

 

can be a short-hand to suggest that the mount point is the same on all servers.  We'd probably need some sort of retry count as well:

 

mount -t nfs -o retry=1,timeout=5 ...

 

Only attempt one retry connection per host listed (per loop of the host list).  Any mount attempt must succeed within 5 seconds.  If the client can be modified to cycle through hosts like this, we'll definitely need to be able to set some parameters to make the failover happen in a reasonable amount of time.

 

EDIT @ 12:17, 07/27: Since we're not really "re-mounting" I wonder how the client would be modified to try re-establishing a connection to a new server.  Will the mtab entry be modified to reflect the fact that we're now send/recv traffic to/from a different server? 

 

Then, of course, what is the behavior for hard vs. soft mounts? 

there are lots of questions that this opens up. the command line format is probably the least important of them...

 

nfs4.1 clustering also makes this interesting :)

 

there would be an assumption that both mounts would be mounted with the same options. otherwise things would become truely insane. for example, one being mounted with noatime, the other without.

 

i would use this with our netapps, and provide two independant layer2/3  paths. the netapps wouldnt care, as they would just export the same volume on two nics.

 

Isn't this Parallel NFS which is supported in the NFS 4.1 standard.