Clusters de Alta Disponibilidad Integraci´ on de Sistemas Miguel Vidal Jose Castro Twitter: @mvidallopez Twitter: @jfcastroluis M´ aster oficial en Software Libre 10 de mayo 2013 1 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
2010-2013 Miguel Vidal, Jose Castro This work is licensed under a Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0 2 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
del curso Sesi´ on I: Introducci´ on al software libre en servidores Sesi´ on II: El Almacenamiento como Servicio Sesi´ on III: El Arte de la Virtualizaci´ on Sesi´ on IV: De la Virtualizaci´ on al Cloud Computing Sesi´ on V: Clusters de Alta Disponibilidad 3 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
e es un cl´ uster HA? Cl´ uster Conjunto de dos o m´ as m´ aquinas unidas por red que se comportan como si fuesen una sola. 5 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
e es un cl´ uster HA? Cl´ uster Conjunto de dos o m´ as m´ aquinas unidas por red que se comportan como si fuesen una sola. Alta Disponibilidad 24/7, alto grado de fiabilidad y de continuidad operativa. 5 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
e es un cl´ uster HA? Cl´ uster Conjunto de dos o m´ as m´ aquinas unidas por red que se comportan como si fuesen una sola. Alta Disponibilidad 24/7, alto grado de fiabilidad y de continuidad operativa. Cl´ uster HA Conjunto de dos o m´ as m´ aquinas orientado a ofrecer y garantizar servicios en Alta Disponibilidad. 5 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
e es un cl´ uster HA? Se basa en 2 o m´ as m´ aquinas redundantes (nodos), que asumen el servicio cuando alg´ un componente del sistema falla. Debe ser capaz de arrancar autom´ aticamente los servicios en cualquiera de las otras m´ aquinas del cluster (failover). Se busca eliminar los Puntos ´ Unicos de Fallo (SPoF), mediante redundancia a todos los niveles, desde el hardware hasta el almacenamiento o las conexiones de red. 6 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
e es un Cl´ uster HA? Nodos activos o maestros: donde normalmente se ejecuta el servicio. Nodos pasivos, backups o esclavos: despliegan los servicios en el caso de que el nodo maestro falle. 7 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
on de un cl´ uster HA Un cl´ uster HA debe ser capaz de: detectar cualquier fallo en un nodo (hardware o software) reiniciar los servicios en otro nodo (failover) mantener el servicio sin intervenci´ on de operador alguno garantizar la integridad de los datos del cl´ uster Migrar los servicios de nuevo a la m´ aquina original cuando el nodo se recupera (failback) Puede incluir otras operaciones previas automatizadas, como montar el sistema de ficheros, asignar la IP, etc. 8 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
de configuraci´ on El tama˜ no m´ as frecuente de un cl´ uster HA es de 2 nodos (m´ ınimo requerido). Los dos configuraciones m´ as comunes en los clusters de dos nodos son: Cl´ uster activo/pasivo Cl´ uster activo/activo N+1: Un nodo extra que puede asumir las funciones de cualquiera de los nodos que haya fallado. 9 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
de clusters HA Cl´ uster activo/activo: todos los nodos se encuentran dando servicio. Cl´ uster activo/pasivo: hay un solo nodo dando servicio. 10 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
activo-activo Cl´ uster activo/activo: todos los nodos se encuentran dando servicio. 11 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
b´ asicos (1) Failover: recuperaci´ on de un fallo desplegando los servicios en otro nodo. Heartbeat: pulso o “latido” mediante el cual se mantiene la comunicaci´ on entre los nodos del cl´ uster. Split-brain: cuando los enlaces de red que unen a los nodos entre s´ ı caen, pero los nodos siguen operando. 14 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
b´ asicos (2) Fencing: Aislamiento/bloqueo de un nodo en estado incierto. Stonith (“Shoot The Other Node In The Head”): una de las t´ ecnicas de fencing. Ambos nodos se “apuntan” uno al otro: al detectar que un nodo est´ a ca´ ıdo, el otro nodo le enviar´ a un comando “reset”. Tambi´ en se usa como t´ ecnica de recuperaci´ on autom´ atica para desbloquear un nodo. Agente de recurso: un interfaz est´ andar para manejar los recursos del cluster (red, montaje de filesystems, servicios, etc.). 15 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
Linux-HA ´ Indice 1 Fundamentos de los clusters HA 2 Soluciones libres HA HAST Linux-HA 3 Referencias 17 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
Linux-HA HAST - Highly Available STorage Espec´ ıfico para FreeBSD. Orientado a redundancia en backends de almacenamiento. Similar a RAID1 (mirror) por TCP/IP. Ofrece un dispositivo /dev/hast/ para operar como un dispositivo de bloques est´ andar (sincroniza a nivel de bloque). Funciona solo en modo activo-pasivo (actualmente limitado a dos nodos) HAST puede integrarse con Heartbeat, CARP (para IP failover) y con ZFS. 18 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
Linux-HA ´ Indice 1 Fundamentos de los clusters HA 2 Soluciones libres HA HAST Linux-HA 3 Referencias 19 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
Linux-HA Linux-HA: High Availability Linux (1) Soluci´ on libre multiplataforma para desplegar clusters de Alta Disponibilidad. Funcionalidades avanzadas basado en pol´ ıticas: apto para grandes clusters. Disponible para Linux, FreeBSD, OpenBSD, *Solaris... 20 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
Linux-HA Linux-HA: High Availability Linux (2) Proyecto muy maduro (v1 es de 1998). La versi´ on 2.x (2005) ya supera a sus equivalentes privativos: clusters de n-nodos. A partir de 2.1.4 se modulariza en componentes y Pacemaker se convierte en un proyecto distinto. Hoy d´ ıa (versi´ on 3.x) Linux-HA est´ a formado por varios componentes: Heartbeat (el latido): servicio de comunicaci´ on y membres´ ıa del cluster. Corosync (derivado de Open-AIS): comunicaci´ on criptogr´ aficamente segura. Pacemaker (CRM): gestiona los agentes de recurso. 21 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
Linux-HA Project: http://www.linux-ha.org Highly Available Storage: http://wiki.freebsd.org/HAST HAST and ZFS (Michael W. Lucas): http://blather.michaelwlucas.com/archives/221 Miguel Vidal, Jos´ e Castro: “Creaci´ on de un cl´ uster de Alta Disponibilidad”, Nov´ atica, no 209, marzo de 2011. 25 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad
Clusters de Alta Disponibilidad Integraci´ on de Sistemas Miguel Vidal Jose Castro Twitter: @mvidallopez Twitter: @jfcastroluis M´ aster oficial en Software Libre 10 de mayo 2013 26 / 26 Miguel Vidal – Jose Castro V. Clusters de Alta Disponibilidad