Balanceamento de Carga e Alta Disponibilidade usando IPTABLES
Publicado por Daniel Maciel Monteiro 30/12/2008
[ Hits: 13.865 ]
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
Criar arquivo.toc para gravar CD com o cdrdao
Desligando o computador quando acabarem as músicas na sua lista de reprodução do MPD
Script para calcular a media área de cobertura de impressão (toner ou tinta)
Crivo de Eratóstenes Simples em Shell Script (BASH Script)
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









