balanceamento de carga entre 2 servidores FTP

1

Estou tentando carregar o saldo de ftp entre dois servidores. atualmente 2 servidores são apontados para ftp.domain.com, o segundo servidor é tecnicamente usado para tolerância a falhas, mas eu quero equilibrar o tráfego entre os dois servidores. Como posso conseguir isso? Pensei em criar um script simples que redirecionasse os usuários de ftp.domain para 01.ftp.domain e 02.ftp.domain etc, mas o problema é que os aplicativos de FTP não lêem páginas, portanto, se um usuário tentar fazer login no ftp.domain, não os redirecionará para lugar algum.

    
por Ahoura Ghotbi 17.03.2013 / 20:57

1 resposta

2

Para balancear a carga de seus servidores, você deve considerar os canais de comando e dados. Para carregar o canal de comando, sugiro que você use o HAProxy. Se você usá-lo, você deve especificar no seu /etc/haproxy/haproxy.cfg o seguinte:

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 aqui é um ip público, enquanto a conexão é redirecionada para a rede 192.168.1.0/24. Você também deve definir o encaminhamento de NAT no seu iptables . Para obter instruções para fazer isso, você pode procurar a resposta aceita aqui ( Como posso fazer o encaminhamento com o iptables? ).

Para realizar o balanceamento de carga do canal de dados você deve executar como root no terminal estes comandos

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

Essas configurações são válidas para o chamado canal de dados ativo. Para configurar um caso de canal de dados passivo e instruções mais detalhadas, consulte este artigo ( link ).

    
por 17.03.2013 / 23:30