260 likes | 371 Vues
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
E N D
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 X B C IP address 3 DNS + NTP IP address 4 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.
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.
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.
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.
¿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.
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/