Professional Documents
Culture Documents
Setiembre - 2016
Pag 1
Pag 1
1
13/09/2016
Pag 1
Pag 1
2
13/09/2016
Clustering
Clustering es un conjunto de maquinas, conectadas entre s en red y
funcionando en paralelo y compartiendo recursos para cooperar en cargas
de trabajo complejas y conseguir mayor eficacia que un solo equipo. Dado
que se comporta como un nico gran recurso. Cada una de las mquinas
que forman el clster recibe el nombre de nodo.
Clustering
3
13/09/2016
Componentes de un clster
Tipos de clster
Dependiendo del tipo de solucin que busquemos podemos clasificar los
clsters en varios tipos:
4
13/09/2016
5
13/09/2016
Alta disponibilidad
Puntos nicos de fallo (Single Points of Failure SPOFs)
o Un nico punto de fallo es un componente cuyo fallo
provocar casi el inmediato fracaso de todo un sistema o
servicio.
o Un buen diseo HA elimina los puntos nicos de fallo.
Alta disponibilidad
Como se logra?
o Comunicaciones redundantes
o Acceso redundante a la data
o Mecanismo de deteccin de fallas
o Mecanismo de contencin de fallas
6
13/09/2016
Alta disponibilidad
El proyecto de Linux-HA (High-Availability Linux) es un
proyecto dedicado a crear soluciones de alta
disponibilidad para Linux, el mismo se basa en
promover la confiabilidad, disponibilidad
La pieza fundamental de este proyecto es el heartbeat
Alta disponibilidad
HA-linux capacidades:
o Puede usar conexiones seriales, UDP bcast, mcast, ucast
comm.
o Conmutacin por error en caso de fallo del nodo
o Conmutacin por error en la prdida de la conectividad IP
o Herramientas de lnea de comandos administrativos para
conmutar por error, el estado actual de consultas, etc.
o Activo/Activo o Activo/Pasivo
o Utiliza herramientas externas para el monitoreo de los recursos
o Monitoreo SNMP
7
13/09/2016
Heartbeat
http://www.linux-ha.org/HeartbeatProgram
Heartbeat
Heartbeat es uno de los componentes principales del
proyecto Linux-HA (Linux Hight Availability).
Es altamente portable, y funciona sobre cualquier
plataforma Linux y tambin sobre FreeBSD y Solaris.
Nos ofrece deteccin de nodos cados, comunicacin
y gestin de clster en un solo proceso.
8
13/09/2016
Heartbeat
Como su propio nombre indica Heartbeat utiliza un
sistema de latidos para que los nodos chequeen si el
resto de nodos estn en funcionamiento.
Es muy recomendable utilizar uno o varios recursos
dedicados para la comprobacin del estado de los
otros nodos.
Podemos utilizar una tarjeta de red dedicada y un
cable serie-serie para asegurar la redundancia y que
el fallo en el medio de transmisin del latido no nos
haga equivocarnos.
Heartbeat
Cmo funciona Heartbeat?
La primera tarea es asignar una serie de recursos a cada
nodo del clster. Estos pueden incluir:
o Direccin IP de servicio
o Servidores activos
o Maestro de almacenamiento
Estas tareas o paquetes de tareas se ejecutarn en el
nodo predefinido inicialmente. En caso de fallo otro
elemento del clster ser el encargado de ejecutar sus
tareas. As el servicio continua ininterrumpido.
9
13/09/2016
10
13/09/2016
Heartbeat (Failover)
Cuando el nodo que fall vuelve a estar activo podemos
definir dos modos de actuacin:
Autofailback on: El nodo original recuperar sus
servicios.
Autofailback off: El poseedor actual de los servicios
los mantendr hasta que se produzca un reinicio o
cada del mismo.
Configuracin de Heartbeat
Hearbeat se configura a travs de dos ficheros de
configuracin principales:
/etc/ha.d/ha.cf En el que se encuentra la
configuracin general de heartbeat.
/etc/ha.d/haresources Donde se definen que
servicios corresponden a qu nodos dentro del
clster. Este fichero ha de ser igual en todos los
nodos del clster.
11
13/09/2016
Configuracin de Heartbeat
/etc/ha.d/ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
warntime 3
deadtime 12
initdead 30
auto_failback off
udpport 694
bcast eth1
ping 192.168.17.2 192.168.17.1
node constantinopla
node alejandria
respawn hacluster /usr/lib/heartbeat/ipfail
Configuracin de Heartbeat
Ejemplo Activo Pasivo
/etc/ha.d/haresources
constantinopla 192.168.1.1 apache postfix
alejandria
/etc/ha.d/haresources
constantinopla 192.168.1.1 apache postfix
alejandria 192.168.1.2 mysql
12
13/09/2016
IPVS
IPVS
IPVS
13
13/09/2016
IPVS - Caracteristicas
Caractersticas:
Soporte para protocolos UDP y TCP
Tres mtodos de reenvi de paquetes:
o NAT
o Tunneling
o Direct Routing
Ocho algoritmos de balanceo de carga:
o Round robin, weighted round robin, least-connec-tion, weighted
least-connection, locality-based least-connection, locality-based least-
connection with replication, destination-hashing, and source-hashing
IPVS
Versiones:
14
13/09/2016
Ejemplo - IPVS
Ejemplo:
Ejemplo - IPVS
$ ipvsadm -A -t 207.175.44.110:80 -s rr
15
13/09/2016
Ejemplo - IPVS
Como estamos utilizando masquerading habremos de activar la
opcin de masquerading del kernel utilizando /proc:
$ ipvsadm -l
Failover en IPVS
Ahora supongamos que uno de los servidores que tenemos
asignado a nuestro servicio web cae.
Cada vez que IPVS reenvi una de las peticiones hacia ese
servidor, esta no podr ser atendida, creando un fallo en el
servicio de forma intermitente.
16
13/09/2016
Keepalived
http://www.keepalived.org/
Keepalived
El objetivo principal de Keepalived es aadir una utilidad fuerte y
robusta de recuperacin ante fallos en el proyecto de Linux Virtual
Server.
17
13/09/2016
Keepalived
Keepalived acta como un demonio que nos permite chequear el
estado del pool de servidores
Esquema Keepalived
18
13/09/2016
Keepalived
Configuracin de Keepalived
/etc/keepalived/keepalived
global_defs {
notification_email {
jturegano@andago.com
}
notification_email_from balanceador@miservidor.net
smtp_server 192.168.18.2
smtp_connect_timeout 30
lvs_id BALANCEADOR1_LVS
}
19
13/09/2016
Configuracin de Keepalived
vrrp_instance VI_EXTERNA {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 150
advert_int 1
smtp_alert
authentication {
auth_type PASS
auth_pass example
}
virtual_ipaddress {
192.168.17.115}
}
Configuracin de Keepalived
virtual_server 192.168.17.115 110 {
delay_loop 6
lb_algo wlc
lb_kind NAT
nat_mask 255.255.255.0
protocol TCP
20
13/09/2016
DRBD
http://www.drbd.org/
DRBD
Drbd toma los datos, los escribe en el disco local y los enva al
otro "host". En el otro "host", ste pone los datos en el disco.
21
13/09/2016
22
13/09/2016
Inicializando DRBD
Cargamos el mdulo:
$ modprobe drbd
Inicializamos:
$ drbdadm up all
Maestro DRBD
Ambos nodos son secundarios y estn en estado inconsistente, es el
momento de elegir un nodo maestro, as que en l ejecutamos:
23
13/09/2016
Maestro DRBD
Ahora podemos crear un sistema de ficheros sobre el dispositivo y
est listo para ser usado, por ejemplo:
Maestro DRBD
Por ltimo podramos comprobar que en el nodo esclavo tenemos los
mismos datos pasando este a maestro:
24
13/09/2016
Heartbeat + DRBD
Conceptos de LVS
Balanceador de carga (Load balancer): es la interfaz de
usuario para el servicio, tal y como es visto por el
mundo exterior. El Balanceador de carga dirige las
conexiones de red de los clientes que conocen una
nica direccin IP para los servicios, a un conjunto de
servidores que son los que realmente realizan el
trabajo.
25
13/09/2016
Conceptos de LVS
Piscina de servidores (Server Pools): consiste en un
clster de servidores que implementan los servicios
tales como web, ftp, correo, DNS, etc.
Almacenamiento (Backend storage), proporciona el
almacenamiento compartido para los servidores, por lo
que es fcil para los servidores para mantener el mismo
contenido y proporcionar los mismos servicios.
LVS
26
13/09/2016
27
13/09/2016
LVS-NAT
28
13/09/2016
LVS-TUN
29
13/09/2016
30
13/09/2016
LVS-DR
31
13/09/2016
32
13/09/2016
33
13/09/2016
Laboratorio
HA1 y HA2
o Heartbeat
o Watchdog
o Administracin de MySQL Cluster
o IPTables
o NTP
LB1 y LB2
o GlusterFS (RAID1)
o MySQL Cluster
o NTP
o Apache
o Vsftpd
o Mon
o Zabbix
Laboratorio
LB1 y LB2
o GlusterFS (RAID1)
34
13/09/2016
Laboratorio
MySQL Cluster
HA1 y HA2
o nbd_mgmd
LB1 y LB2
o mysqld
Laboratorio
HA1 y HA2
Heartbeat
Watchdog
35
13/09/2016
Laboratorio
LB1 y LB2
LVS-NAT
Laboratorio
LB1 y LB2
LVS-DR
36
13/09/2016
Laboratorio
LB1 y LB2
LVS-TUN
Laboratorio
Monitoreo
mon
o HA1
o HA2
o LB1
o LB2
Zabbix
37
13/09/2016
Laboratorio
Seguridad
IPTables
o HA1
o HA2
o LB1
o LB2
Muchas Gracias
Pag 1
38