Hi Joseph,

On Thu, Feb 24, 2011 at 10:39:11AM -0500, Joseph Hardeman wrote:
> Hi guys,
> 
> I have been asked if it were possible for Haproxy to receive traffic 
> from servers for NFS over TCP, pass that traffic to a storage cluster 
> and then the cluster send the data directly to the servers.  Sort of the 
> same method as LVS-DR would be.
> 
> So the flow would go something like this:
> 
> Server Pool ? Haproxy ? Storage Cluster VIP's
>            ?                                                       ?
>             ??????????????
> 
> I know that Willy has tested Haproxy to 10G through put but they don't 
> want Haproxy to become an I/O bottleneck as they scale their 
> application.  Or if someone has a recommendation to use instead of 
> Haproxy or RR DNS for this sort of connections to the Storage Cluster I 
> would love to hear it.  They enjoy Haproxy on the other applications 
> that they are using it for and it is working great.

I'm not fond of using proxies for protocols like NFS, for several reasons :

  - proxies hide the source address, and servers often have per-source IP
    settings ;

  - NFS is extremely sensible to latency. Adding even one millisecond of
    transit can become very noticeable in directory listings ;

  - NFS uses long-lived connections, that means that you can't reconfigure
    your proxy without breaking them ;

  - at one point the proxy can still become a bottleneck, especially for
    the outgoing traffic. On a local switched network, it can be enough
    to plug a second network interface into the server and double its
    bandwidth. When all the traffic passes through a proxy this is much
    more complex.

If I were you, I'd either use some active/standby mechanism such as
heartbeat, keepalived or anything else to provide HA to the storage
cluster, or if you need some LB, just make use of LVS+DR. In both
cases, the downlink traffic does not experience any risk of bottleneck.

Regards,
Willy


Reply via email to