在 Debian 上做 FTP 服务器的负载均衡 稍微比 HTTP 复杂一些,因为 FTP 是 有状态、双端口(控制 + 数据) 的协议。下面按「可行方案 → 具体做法 → 注意事项」来说明。
适合:
原理:
persistence 绑定优点:
缺点:
适合:
⚠️ 注意:
Client
|
LVS (DR模式)
|
+-- vsftpd1
+-- vsftpd2
+-- vsftpd3
所有节点必须一致:
listen=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=VIP_IP
说明:
pasv_address = LVS 的虚拟 IPapt install ipvsadm
ipvsadm -A -t VIP:21 -s rr -p 3600
-p 3600 非常重要(FTP 会话保持)
ipvsadm -a -t VIP:21 -r FTP1:21 -g
ipvsadm -a -t VIP:21 -r FTP2:21 -g
ipvsadm -a -t VIP:21 -r FTP3:21 -g
ipvsadm -A -t VIP:30000:31000 -s rr -p 3600
ipvsadm -a -t VIP:30000:31000 -r FTP1:30000:31000 -g
ipvsadm -a -t VIP:30000:31000 -r FTP2:30000:31000 -g
ipvsadm -a -t VIP:30000:31000 -r FTP3:30000:31000 -g
apt install keepalived
用于:
FTP 只是入口,文件必须一致:
可选方案:
否则:
| 场景 | 推荐 |
|---|---|
| 企业生产 | LVS + vsftpd + NFS |
| 内部小系统 | HAProxy + vsftpd |
| 不推荐 | DNS 轮询 |
如果你愿意,我可以:
你现在是哪种使用场景?