Post on 23-Jan-2016
High AvailabilityServicios de alta disponibilidad
Surge la necesidad a raíz de laimplantació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 DisponibilidadSe 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
A
B C
IP address 1
Web_server 1
IP address 4
Base de datos
IP address 2
Web_server 2
IP address 3
DNS + NTP
X
IP address 2
Web_server 2
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
Ventajas Inconvenientes
NAT · Servidores: IP privada
· Poco escalable
IP Tunneling
· Escalable · Distribución geográfica
· Soporte IP Tunneling · IP pública
Direct Routing
· Escalable
· Servidores: IP pública · Mismo segmento de red
¿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/