High Availability
Servicios de alta disponibilidad
Surge la necesidad a raíz de la
implantación de las empresas en
Internet.
Queremos conseguir...
• Mantener los servicios online
• Ofrecer calidad de imagen
•Ahorrar dinero
Dos ideas

Sistemas tolerantes a fallos
Todos los recursos necesarios están
replicados para ofrecer una
disponibilidad continua en caso de fallo.

Sistemas de Alta Disponibilidad
Se replican aquellos recursos
imprescindibles y se gestiona, mediante
software, el fallo de los recursos y su
recuperación.
Pros y contras

Sistemas tolerantes a fallos
Disponibilidad total.
Coste elevado (hardware y software
especializado).

Sistemas de Alta Disponibilidad
Bajo coste. (software especializado,
hardware estándar).
Grado menor de disponibilidad.
Sistemas de alta
disponibilidad

Software estudiado
 FailSafe
 Linux
Virtual Server (LVS)
FailSafe



Ofrece servicios de alta
disponibilidad sobre un cluster.
Cluster de 2 a 8 servidores.
Diferentes topologías del cluster:
 Dos
servidores.
 Configuración en anillo. (Ring)
 Estrella
(n servidores + 1 backup).
FailSafe: Primera idea



Si un nodo o una de sus
componentes falla otro nodo del
cluster recupera el servicio(s).
Para el cliente es casi
transparente.
Encargado: Proceso de failover.
Filosofia del Failover




Se ejecuta gracias a el software
monitorización (heartbeat).
Mueve los grupos de recursos
entre nodos siguiendo unas
políticas ya definidas.
Cada nodo puede tener más de un
grupo.
Cada grupo de recursos consta de
diferentes tipos de recursos.
FailSafe: Ejemplo
IP address 1
Web_server 1
A
IP address 2
Web_server 2
IP address 2
Web_server 2
B
X
C
IP address 3
IP address 4
DNS + NTP
Base de datos
IP address 3
DNS + NTP
Algunas Notas

Basado en arquitectura CHAOS
(Clustered High Availability Operating Services)



Las maquinas han de estar un
poco sobredimensionadas.
Es poco escalable.
Para aumentar más la fiabilidad se
puede combinar con RAID o
DRBD.
Linux Virtual Server



Ofrece servicios de alta
disponibilidad sobre un cluster
Permite una gran escalabilidad del
servicio
Todos los nodos ofrecen el mismo
recurso
Idea de funcionamiento



Uno de los nodos, el load balancer,
recibe todas las peticiones.
Los demás nodos ofrecen todos
el(los) mismo(s) servicio(s).
El load balancer redirige cada
petición al nodo que esté en
mejores condiciones para
atenderla.
Esquema general
Posibles
configuraciones

NAT

IP Tunneling

Direct Routing
Network Address
Translation (NAT)




El load balancer recibe la petición
del cliente
El paquete es reescrito y enviado a
uno de los servidores
El servidor procesa la petición y
devuelve los resultados
El load balancer rescribe los
paquetes de respuesta y los
reenvía al cliente.
Funcionamiento de NAT
IP Tunneling


IP Tunneling consiste
en encapsular un
datagrama IP dentro
de otro y redirigirlo a
otra máquina.
La máquina
receptora debe
desencapsular el
paquete.
IP Tunneling



El load balancer recibe la petición
del cliente.
El paquete es encapsulado y
reenviado a uno de los servidores.
El servidor desencapsula el
paquete, procesa la petición y
devuelve los resultados
directamente al cliente.
Funcionamiento de
IP Tunneling
Direct Routing



Todas las máquinas
comparten la misma
IP.
El load balancer
enruta el paquete del
cliente al servidor
elegido basándose
en la dirección MAC.
Los demás servidores, pese a tener la misma IP,
rechazarán el paquete.
Direct Routing



El load balancer recibe la petición
del cliente.
Se elige el servidor adecuado y se
enruta el paquete hacia él
mediante su dirección MAC.
El servidor procesa la petición y
devuelve los datos al cliente
directamente.
Funcionamiento del
Direct Routing
Ventajas e
inconvenientes
NAT
V e n ta ja s
In co n ve n ie n te s
· S e rvid o re s :
IP p riva d a
· P o c o e sc a la b le
· E s c a la b le
IP
T u n n e lin g · D is trib u c ió n
· S o p o rte IP T u n n e lin g
· IP p ú b lic a
g e o g rá fic a
D ire ct
R o u tin g
· E s c a la b le
· S e rvid o re s : IP p ú b lic a
· M is m o s e g m e n to d e
re d
¿Qué pasa si cae el load
balancer?




El load balancer es un punto único
de fallo.
Para solventar esto, el load
balancer está replicado.
Ambos comprueban
continuamente si su compañero
está funcionando.
Si el load balancer de backup
detecta que el principal cae, pasa
ha hacer las funciones de este
hasta su recuperación.
Load balancer replicado
Algunas notas


Linux Virtual Server es ideal para
ofrecer alta disponibilidad en
entornos escalables de gran
volumen de tráfico.
Es una solución de bajo coste:
sólo precisa un servidor más de
los realmente necesarios.
Algunos links de interés






oss.sgi.com/projects/failsafe/
www.linuxvirtualserver.org
www.redhat.com/support/wpapers/
piranha/
www.coda.cs.cmu.edu/
www.linux-ha.org/
www.alteonwebsystems.com/
Descargar

High Availability