Este documento discute a alta disponibilidade (HA) em servidores Linux. Ele apresenta o autor Sérgio Antônio Pohlmann e define HA. Também descreve os tipos básicos de HA, RAID, replicação de dados e monitoramento. Por fim, explica a solução de HA implementada no site ycube.net usando DRBD e scripts personalizados.
6. Observações…
Definições de falhas informáticas
Custos nos principais CPDs
– Menor Custo
– Custo Médio
– Custo Alto
– MUITO ALTO
– Hardware
– Peopleware
– Software
- Dados
7. Observações…
% uptime x Tempo Inoperante (anual)
•
•
•
•
•
99 %
99.9 %
99.99 %
99.999 %
99.9999 %
+- 3,5 días
+- 9 h
+- 52 min
+- 5 min
+- 30 seg
12. HA mais utilizados en Linux
Replicação:
– DRBD
Monitoração
– Heartbeat
Serviços
– Scripts diversos
13. Solução empregada em ycube.net
Replicação:
– DRBD
Monitoração
– Script y_ha de ycube.net
Serviços
– Script y_ha de ycube.net
14. Script y_ha de ycube.net
Motivos de uso
– Open Source
– Fácil de configurar
– Configuração replicavel
– Controle interno de servicios
– Bom nivel de eficiencia
23. Configurar DRBD - /etc/drbd.conf
global {
usage-count yes;
}
common {
syncer { rate 100M; }
}
resource r0 {
protocol C;
startup {
wfc-timeout 2;
degr-wfc-timeout 2;
}
disk {
on-io-error
}
detach;
Primeira Parte
24. Configurar DRBD - /etc/drbd.conf
Segunda Parte
on server {
device
disk
address
meta-disk
}
on backup {
device
disk
address
meta-disk
}
}
/dev/drbd0;
/dev/sda1;
172.30.30.10:7788;
internal;
/dev/drbd0;
/dev/sda1;
172.30.30.20:7788;
internal;
25. Levantar o serviço DRBD
service drbd start
drbdsetup /dev/drbd0 primary –do-what-I-say
mkfs /dev/drbd0
mount /dev/drbd0 /data
27. Configurar serviços - /etc/y_ha/_forcePrimary
#!/bin/sh
echo "Making this server Primary...“
drbdsetup /dev/drbd0 primary
echo "Starting a Network Interface..."
ifconfig eth0:1 192.168.0.240 netmask 255.255.255.0
echo "Mounting a device..."
mount /dev/drbd0 /data
echo "Mounting a samba server..."
service samba start
28. Configurar serviços - /etc/y_ha/_forceSecondary
#!/bin/sh
echo "Stopping a Network Interface..."
ifconfig eth0:1 down
echo "Stopping a samba server..."
service samba stop
echo "Unmounting a device..."
umount -l /dev/drbd0
echo "Turning this server a secondary..."
drbdsetup /dev/drbd0 secondary
29. Comandos básicos para o DRBD
cat /proc/drbd
drbdsetup /dev/drbd0 primary
drbdsetup /dev/drbd0 primary –do-what-I-say
drbdsetup /dev/drbd0 secondary
30. Comandos básicos para o DRBD
drbdadm disconnect all
drbdadm connect all
drbdadm -- --discard-my-data connect all