High Availability Servicios de alta disponibilidad Surge la
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 n Sistemas tolerantes a fallos Todos los recursos necesarios están replicados para ofrecer una disponibilidad continua en caso de fallo. n 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 n Sistemas tolerantes a fallos Disponibilidad total. Coste elevado (hardware y software especializado). n Sistemas de Alta Disponibilidad Bajo coste. (software especializado, hardware estándar). Grado menor de disponibilidad.
Sistemas de alta disponibilidad n Software estudiado u Fail. Safe u Linux Virtual Server (LVS)
Fail. Safe n n n Ofrece servicios de alta disponibilidad sobre un cluster. Cluster de 2 a 8 servidores. Diferentes topologías del cluster: u Dos servidores. u Configuración en anillo. (Ring) u Estrella (n servidores + 1 backup).
Fail. Safe: Primera idea n n n 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 n n 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.
Fail. Safe: Ejemplo IP address 1 Web_server 1 A 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 n Basado en arquitectura CHAOS (Clustered High Availability Operating Services) n n n 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 n n n Ofrece servicios de alta disponibilidad sobre un cluster Permite una gran escalabilidad del servicio Todos los nodos ofrecen el mismo recurso
Idea de funcionamiento n n n 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 n NAT n IP Tunneling n Direct Routing
Network Address Translation (NAT) n n 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 n n 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 n n n 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 n n n 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 n n n 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
¿Qué pasa si cae el load balancer? n n 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 n n 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 n n n 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/
- Slides: 26