Linux
2 個 FTP 伺服器之間的負載平衡
我正在嘗試在兩台伺服器之間平衡 ftp。目前有兩台伺服器指向 ftp.domain.com,第二台伺服器在技術上用於容錯,但我想平衡兩台伺服器之間的流量。我怎樣才能做到這一點?我想製作一個簡單的腳本,將使用者從 ftp.domain 重定向到 01.ftp.domain 和 02.ftp.domain 等,但問題是 FTP 應用程序不讀取頁面,所以如果使用者嘗試登錄 ftp.domain 它不會將它們重定向到任何地方。
要對伺服器進行負載平衡,您應該同時考慮命令和數據通道。要負載平衡命令通道,我建議您使用 HAProxy。如果您使用它,您應該在
/etc/haproxy/haproxy.cfg
以下內容中指定:listen ftp-lb00 bind IP:21 mode tcp option tcplog balance leastconn server ftp-serv00 192.168.1.1:21 check server ftp-serv01 192.168.1.2:21 check
這裡的 IP 是公共 IP,而連接隨後被重定向到 192.168.1.0/24 網路。您還應該在
iptables
. 有關執行此操作的說明,您可以在此處查看接受的答案(如何使用 iptables 進行移植?)。要執行數據通道的負載平衡,您應該在終端中以 root 身份執行這些命令
iptables -A POSTROUTING -s 192.168.1.1/32 -o eth1 -j SNAT --to-source IP iptables -A POSTROUTING -s 192.168.1.2/32 -o eth1 -j SNAT --to-source IP
這些設置對所謂的活動數據通道有效。有關被動數據通道案例的設置和更詳細的說明,請參閱本文(https://gist.github.com/erkie/922996a2ec4125d79c7f8772cda328ce)。