Balanceamento de Carga e Alta Disponibilidade usando IPTABLES
Publicado por Daniel Maciel Monteiro 30/12/2008
[ Hits: 13.568 ]
Este script foi implantado em um ambiente de teste ultilizando um servidor DNS, dois servidores WEB(Web Apache) e um servidor de arquivos.
Os servidores WEB são idênticos, onde fazem NFS com o servidor de arquivos, na qual estão localizados as páginas web. Ou seja, as webpages são comuns para os dois servidores WEB. O Script tem que estar localizado no servidor DNS.
A função do script é verificar a disponibilidade dos servidores utilizando o protocolo ICMP e fazer o balanceamento entre o mesmos.
#!/bin/bash www1=192.168.0.3 www2=192.168.0.4 if_int0=eth0 while true; do s1="0" s2="0" #TESTANDO SERVIDOR 1 if ping -c 1 -w 1 $www1 1>/dev/null 2>/dev/null; then s1="1" fi #TESTANDO SERVIDOR 2 if ping -c 1 -w 1 $www2 1>/dev/null 2>/dev/null; then s2="1" fi /sbin/iptables -D PREROUTING -t nat -t $if_int0 -j DNAT --to 192.168.0.3 2>/dev/null /sbin/iptables -D PREROUTING -t nat -t $if_int0 -j DNAT --to 192.168.0.4 2>/dev/null /sbin/iptables -D PREROUTING -t nat -t $if_int0 -j DNAT --to 192.168.0.3-192.168.0.4 2>/dev/null if [ $s1 = "1" -a $s2 = "1" ]; then echo "Server 1e2" /sbin/iptables -A PREROUTING -t nat -i $if_int0 -j DNAT --to 192.168.0.3-192.168.0.4 elif [ $s1 = "1" ]; then echo "Server 1" /sbin/iptables -A PREROUTING -t nat -i $if_int0 -j DNAT --to 192.168.0.3 if [ $s2 = "1" ]; then echo "Server 2" /sbin/iptables -A PREROUTING -t nat -i $if_int0 -j DNAT --to 192.168.0.4 else echo "Servidores 1 e 2 não respondem!" fi sleep 10 done
Mensagem de volume alto quando o fone de ouvido está conectado
Atualizando o sistema no Debian
Script Backup ultimo arquivo criado em um diretorio feito TAR direto para DAT
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Firefox não abre em usuário não administradores (0)
Sempre que vou baixar algum pacote acontece o erro dpkg (8)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)