Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 –...

37
Alta Disponibilidad Alta Disponibilidad (HA) em servidores (HA) em servidores Linux Linux Sérgio Antônio Pohlmann Sérgio Antônio Pohlmann Abril 2010 Abril 2010 CI3 – Universidad Nacional de CI3 – Universidad Nacional de Itapúa Itapúa Encarnación - Paraguay Encarnación - Paraguay

Transcript of Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 –...

Page 1: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Alta Disponibilidad (HA) em Alta Disponibilidad (HA) em servidores Linuxservidores Linux

Sérgio Antônio PohlmannSérgio Antônio PohlmannAbril 2010Abril 2010

CI3 – Universidad Nacional de Itapúa CI3 – Universidad Nacional de Itapúa Encarnación - ParaguayEncarnación - Paraguay

Page 2: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Presentación InicialPresentación Inicial

Autor:Autor:– Sérgio Antônio Pohlmann .Sérgio Antônio Pohlmann .·.·.– [email protected]@ycube.net– [email protected]@gmail.com– (0995) 368260(0995) 368260

Page 3: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

(des) Conocimientos(des) Conocimientos

RedesRedes

LinuxLinux

Sistema de ArchivosSistema de Archivos

Shell ScriptShell Script

Puertos y servicios estándares UnixPuertos y servicios estándares Unix

Page 4: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.
Page 5: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.
Page 6: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

High Availability – HAHigh Availability – HA

DefiniciónDefinición– ServiciosServicios– ServidoresServidores– FallasFallas

TiposTipos– BásicaBásica– Alta DisponibilidadAlta Disponibilidad– Disponibilidade ConstanteDisponibilidade Constante

Page 7: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

ObservacionesObservaciones

RAID RAID (Redundand Array of Independend Disks)(Redundand Array of Independend Disks)

Page 8: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

ObservacionesObservaciones

Sincronismo Local o remotoSincronismo Local o remoto

Principal Copia

Proceso

Page 9: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Observaciones...Observaciones...

Definiciones de fallas informáticasDefiniciones de fallas informáticas

Costos en los principales CPDsCostos en los principales CPDs

– Menor Costo Menor Costo - Hardware- Hardware– Costo Mediano Costo Mediano - Peopleware- Peopleware– Costo Alto Costo Alto - Software- Software– MUY ALTO MUY ALTO - Dados- Dados

Page 10: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Observaciones…Observaciones…

% uptime x Tiempo Inoperante (al año)% uptime x Tiempo Inoperante (al año)

• 99 %99 % +- 3,5 días+- 3,5 días• 99.9 %99.9 % +- 9 h+- 9 h• 99.99 %99.99 % +- 52 min+- 52 min• 99.999 %99.999 % +- 5 min+- 5 min• 99.9999 %99.9999 % +- 30 seg+- 30 seg

Page 11: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Observaciones:Observaciones:

Debilidades Debilidades

– RAIDRAID

– Sincronismo LocalSincronismo Local

– Sincronismo RemotoSincronismo Remoto

– Alta DisponibilidadAlta Disponibilidad

Page 12: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Alta Disponibilidad - HAAlta Disponibilidad - HA

ClustersClusters

– Cluster ComputacionalCluster Computacional

– Alta DisponibilidadAlta Disponibilidad

Page 13: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Cluster ComputacionalCluster Computacional

Cluster para alta performanceCluster para alta performance

Conexión externa CLUSTER

Controlador

Page 14: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Alta DisponibilidadAlta Disponibilidad

Replicación de dadosReplicación de dados

Servicio Prestado

LAN / WAN

Servidor principal

Servidor backup

Page 15: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

HA mas utilizados en LinuxHA mas utilizados en Linux

Replicación:Replicación:– DRBDDRBD

MonitoreoMonitoreo– HeartbeatHeartbeat

ServicioServicio– Scripts diversosScripts diversos

Page 16: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Solución empregada en ycube.netSolución empregada en ycube.net

Replicación:Replicación:– DRBDDRBD

MonitoreoMonitoreo– Script y_ha de ycube.netScript y_ha de ycube.net

ServiciosServicios– Script y_ha de ycube.netScript y_ha de ycube.net

Page 17: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Estructura DRBD Estructura DRBD www.drbd.orgwww.drbd.org

Page 18: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Script y_ha de Script y_ha de ycube.netycube.net

Motivos del usoMotivos del uso

– Open SourceOpen Source– Fácil de configurarFácil de configurar– Configuración replicableConfiguración replicable– Control interno de serviciosControl interno de servicios– Buen nivel de eficienciaBuen nivel de eficiencia

Page 19: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Como funcionaComo funciona

Page 20: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Situación Normal (PC/SC)Situación Normal (PC/SC)

Sincronismo

Page 21: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Falla en el Primario (PU/SC)Falla en el Primario (PU/SC)

Servicios e interfaces

inexistentes en la red

Page 22: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Primario vuelve a funcionar (PI/SC)Primario vuelve a funcionar (PI/SC)

Inconsistente

Sincronismo

Page 23: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Primario vuelve a la Consistencia Primario vuelve a la Consistencia (PC/SC) (PC/SC)

Sincronismo

Page 24: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Configuración Configuración

Obtener DRBDObtener DRBD

Configuración del DiscoConfiguración del Disco

Configuración DRBDConfiguración DRBD

Configuración de los ScriptsConfiguración de los Scripts

Page 25: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Obtener DRBDObtener DRBD

Download de Download de www.drbd.orgwww.drbd.org

Compilar el código (conforme Compilar el código (conforme documentación)documentación)

Algunas distribuciones ya disponen Algunas distribuciones ya disponen del binario DRBD pre instalado.del binario DRBD pre instalado.

Page 26: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Configuración del discoConfiguración del disco

Determinar la partición (no montar) en los Determinar la partición (no montar) en los dos servidoresdos servidores

Page 27: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Configurar DRBD - /etc/drbd.confConfigurar DRBD - /etc/drbd.conf

global { global { usage-count yes; usage-count yes;

}}common { common {

syncer { rate 100M; }syncer { rate 100M; } }}resource r0 { resource r0 {

protocol C;protocol C; startup { startup {

wfc-timeout 2; wfc-timeout 2; degr-wfc-timeout 2; degr-wfc-timeout 2;

} } disk { disk {

on-io-error detach; on-io-error detach; } }

Primeira Parte

Page 28: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Configurar DRBD - /etc/drbd.confConfigurar DRBD - /etc/drbd.conf

on server { device /dev/drbd0;

disk /dev/sda1; address 172.30.30.10:7788; meta-disk internal;

} on backup {

device /dev/drbd0; disk /dev/sda1; address 172.30.30.20:7788; meta-disk internal;

}}

Segunda ParteSegunda Parte

Page 29: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Levantar el servicio DRBDLevantar el servicio DRBD

service drbd startservice drbd start

drbdsetup /dev/drbd0 primary –do-what-I-saydrbdsetup /dev/drbd0 primary –do-what-I-say

mkfs /dev/drbd0mkfs /dev/drbd0

mount /dev/drbd0 /datamount /dev/drbd0 /data

Page 30: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Configurar script /etc/y_ha/y_ha Configurar script /etc/y_ha/y_ha // Servers Definitions// Servers Definitions// ===================// ===================$masterName = "server";$masterName = "server";$masterLAN = "192.168.0.239";$masterLAN = "192.168.0.239";$masterSync = "172.30.30.10";$masterSync = "172.30.30.10";$slaveName = "backup";$slaveName = "backup";$slaveLAN = "192.168.0.220";$slaveLAN = "192.168.0.220";$slaveSync = "172.30.30.20";$slaveSync = "172.30.30.20";$timeSync = 3;$timeSync = 3;$timeCons = 3;$timeCons = 3;

// Common Definitions// Common Definitions// ==================// ==================$syncPort = "80";$syncPort = "80"; // Synchronize Port// Synchronize Port$consPort = "53";$consPort = "53"; // Consistence Port// Consistence Port

Page 31: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Configurar serviços - /etc/y_ha/_forcePrimaryConfigurar serviços - /etc/y_ha/_forcePrimary

#!/bin/sh#!/bin/sh

echo "Making this server Primary...“echo "Making this server Primary...“

drbdsetup /dev/drbd0 primary drbdsetup /dev/drbd0 primary

echo "Starting a Network Interface..." echo "Starting a Network Interface..."

ifconfig eth0:1 192.168.0.240 netmask 255.255.255.0ifconfig eth0:1 192.168.0.240 netmask 255.255.255.0

echo "Mounting a device..." echo "Mounting a device..."

mount /dev/drbd0 /datamount /dev/drbd0 /data

echo "Mounting a samba server..." echo "Mounting a samba server..."

service samba startservice samba start

Page 32: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Configurar servicios - /etc/y_ha/_forceSecondaryConfigurar servicios - /etc/y_ha/_forceSecondary

#!/bin/sh#!/bin/sh

echo "Stopping a Network Interface..." echo "Stopping a Network Interface..." ifconfig eth0:1 downifconfig eth0:1 down

echo "Stopping a samba server..." echo "Stopping a samba server..." service samba stopservice samba stop

echo "Unmounting a device..." echo "Unmounting a device..." umount -l /dev/drbd0 umount -l /dev/drbd0

echo "Turning this server a secondary..." echo "Turning this server a secondary..." drbdsetup /dev/drbd0 secondarydrbdsetup /dev/drbd0 secondary

Page 33: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Comandos básicos para el DRBDComandos básicos para el DRBD

cat /proc/drbdcat /proc/drbd

drbdsetup /dev/drbd0 primarydrbdsetup /dev/drbd0 primary

drbdsetup /dev/drbd0 primary –do-what-I-saydrbdsetup /dev/drbd0 primary –do-what-I-say

drbdsetup /dev/drbd0 secondarydrbdsetup /dev/drbd0 secondary

Page 34: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Comandos básicos para el DRBD

drbdadm disconnect all

drbdadm connect all

drbdadm -- --discard-my-data connect all

Page 35: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Referencias Referencias

httphttp://drbd.org://drbd.org

e-mail:e-mail:

[email protected]@ycube.net – [email protected]@gmail.com

Page 36: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

That’s All, Folks!!!That’s All, Folks!!!

Questions?Questions?

Page 37: Alta Disponibilidad (HA) em servidores Linux Sérgio Antônio Pohlmann Abril 2010 CI3 – Universidad Nacional de Itapúa Encarnación - Paraguay.

Gracias por su atención, Gracias por su atención, participación y paciencia!participación y paciencia!

Sérgio A. PohlmannSérgio A. Pohlmann

CI3 2010CI3 2010