1 Nicolas Corrarello – Fedora Ambassador Technical Support Engineer Global Support Services Red Hat Alta disponibilidad con Cluster Suite y Global File System
2 Q & A P: ¿Que es alta disponibilidad? R: Wikipedia: Un cluster de alta disponibilidad es un conjunto de dos o más máquinas que se caracterizan por compartir los discos de almacenamiento de datos y por estar constantemente monitorizándose entre sí. P: ¿Como compartimos un Filesystem? R: Depende, si el cluster tiene una configuracion ACTIVO/PASIVO, basta con NFS, ya que un equipo a la vez monta el filesystem. Si el cluster es ACTIVO/ACTIVO, se requiere un Filesystem Cluster Aware P: ¿Me das mas detalles de como funciona un filesystem de cluster, como maneja los locks y la metadata si dos equipos estan trabajando a la vez sobre el mismo disco? R: Ya viene... P: ¿Y como se monitorean ambos equipos entre si? R: Mediante herramientas en user-space y kernel-space que estan corriendo en ambos equipos
3 Q & A P: ¿Necesito una SAN (Storage area network) para esto? R: No, pero se recomienda. Hay una gran variedad de SAN's basadas en F/C o iSCSI, con diferentes costos/beneficios P: Yo trabajo en una empresa y tenemos un par de servers, y esto esta bueno pero no podemos gastar miles en equipos... ¿como aplicamos esto? R: Bueno, ahi va un ejemplo....
4 Ambiente PyME (1 Server) Web Server (Apache httpd) Mail Server (postfix + courier) Database (mysql) Single point of failure Todos los servicios en un equipo
5 Ambiente PyME Clusterizado con GFS (3 Servers) Server 3 Storage (Fedora, o distribuciones para Storage como OpenFiler) RAID 0,1 o 5. CLVM para volumenes dinámicos, GFS Server 1 Servicios Activos Mail Web Servicios Pasivos DB Server 2 Servicios Activos DB Servicios Pasivos Mail Web
6 Red Hat Cluster Manager Nodo 1Nodo 2 Clientes Network Power Switch SAN Servicio AServicio C Servicio B Heartbeat
7 Red Hat Cluster Manager SW Architecture ccsd CMAN DLM GULM Magma rgmanager fenced magma_gulm magma_sm Event/Lock Interface Infrastructure Services Kernel Userland
8 CCS CCS contiene la informacion estatica que necesita el Cluster para arrancar/correr ● Almacenada en XML en /etc/cluster/cluster.conf CCS consiste en un daemon y una libreria ● El daemon almacena el archivo XML en memoria y responde los requerimientos de la libreria (u otros daemons CCS) ● La libreria se utiliza para obtener informacion sobre el cluster por el demonio Dos modos de operacion – quorate y non-quorate ● La operacion en modo Quorate asegura la consistencia de la informacion a traves de los nodos ● Las conexiones sin Non-quorate solo se permiten forzadas Solo se puede actualizar la informacion en quorate mode ● Las updates se manejan con commits de doble via
9 CMAN Mantiene la membresia de los nodos en el cluster Depende de CCS ● Solo los nodos listados en CCS pueden unirse al cluster ● El nombre del cluster tambien esta en CCS Reside en el kernel Simetrico – todos los nodos son iguales CMAN esta compuesto por dos partes ● Connection Manager (cnxman) ● Service Manager (SM)
10 CMAN – Connection Manager (cnxman) Cnxman es el componente responsable de mantener la membresia de los nodos ● 'cman_tool join' inicia el proceso de inclusion de un nodo ● 'cman_tool leave' controla la exclusion del nodo ● Solo permitido si nada es dependiente de CMAN ● Las fallas se detectan a traves de (la falta de) heartbeating ● La lista de nodos activos define la membresia de los nodos del cluster Los nodos que reciben las membresias y otros son seleccionados al azar
11 CMAN – service manager Terminologia: ● Nodo: Equipo que se puede unir al cluster ● Recurso: Algo usado por el cluster (una IP, un volumen, un script) ● Servicio: un programa que corren los nodos del cluster ● Grupo de servicio: un grupo de nodos corriendo una instancia del servicio Un evento en el servicio, dispara un evento en el cluster ● Stop: suspende la actividad ● Start: se detiene el grupo de servicio, y se comienza un recovery ● Finish: se recupera el grupo de servicios, se resume la actividad
12 I/O Fencing El fencing es necesario para evitar la corrupcion de un volumen El fencing de I/O tiene tres partes: ● Fence driver: un driver que recibe los pedidos de cman ● Fence daemon: recibe los pedidos de fence del driver ● Fence agent: el programa diseñado para interactuar con el fence device El demonio determina que tipo de fence realizar solicitandole la configuracion al CCS
13 Fencing luego de que un nodo fallo Node 0Node 1 Clients Network Power Switch SAN Service A Service C Service B Heartbeat
14 Reseteamos el nodo... Node 0Node 1 Clients Network Power Switch SAN Service AService C Service B Heartbeat
15 Reduciendo complejidad y compartiendo los datos SAN + Compartir datos = Independencia a los nodos para procesar y almacenar Replication SAN Red Hat GFS SAN Storage Pool Sin GFSCon GFS ● Elimina la replicacion mediante compartir el acceso ● Mejora throughput & performance ● Asegura disponibilidad continua ● Simplifica manejo de datos & baja costos
16 Web Horizontal Scaling & Database Failover Web Server Red Hat GFS DB Ethernet Failover DB Pair Storage compartido para la base de datos Datos de sesion y archivos de la aplicacion compartidos via Red Hat GFS
17 Global File System (GFS) - Características Los Servers simultaneamente leen y escriben en un unico filesystem Alta performance y confiabilidad ● Elimina unicos puntos de falla Trabaja sobre Cluster Logical Volume Manager (CLVM) ● Volumenes dinámicos y crecimiento del filesystem ● Multipathing, striping, mirroring ● J ournaling de datos y meta data ● Journal por nodo, clusterwide recovery 64 bit file system: Hasta 16TB (8EB, teoricos) Expansion del filesystem Open source, POSIX-compliant, cluster file system.
18 GFS - Caracteristicas (continuación) Soporta F/C e iSCSI SANs Quotas ACL's Usa un Distributed Lock Manager (DLM) Soporta hasta 300 nodos ● En teoría, muchos mas Inodes dinámicos Metadata independiente de la plataforma ● Soporta x86, x86-64 y ia64 en el mismo cluster
19 GFS: Componentes GFS, Global File System CCS, Cluster Configuration System CMAN, Cluster Manager DLM, Distributed Lock Manager I/O Fencing System
20 DLM (Distributed Lock Manager) All cluster nodes participate in lock management Like RLM, eliminates single point of failure in cluster lock system X Remaining Nodes Maintain Lock function when a node fails
21 DLM Muy parecido all Digital VMS DLM original Provee diferentes servicios ● Multiple lock spaces and concurrency (lock) modes ● Lock hierarchies/domains (resources & subresources) ● Range locking ● Lock conversions & value blocks ● Blocking & Asynchronous completions
22 CLVM CLVM fue construido sobre LVM 2.0 y el device mapper Al igual que LVM2, CLVM Provee ● Dynamic Multi-Pathing ● Linear mapping (concatenation) ● Striping (RAID 0) ● Mirroring (RAID 1)
23 MAS EJEMPLOS
24 Ambiente de Laboratorio 3 nodos, 1 storage, 1 fence device 2 placas de red por nodo, dos redes ● Red de Heartbeat / Backend: 10.1.1.0/24 ● Red de Servicio: 10.1.2.0/24 ● Storage iSCSI con OpenFiler / Fedora con GNBD [root@edgar ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 10.1.1.1 nodo1.cluster nodo1 10.1.1.2 nodo2.cluster nodo2 10.1.1.3 nodo3.cluster nodo3 10.1.1.4 storage.cluster storage 10.1.1.5 fence.cluster fence [root@edgar ~]#
25 Instalacion de Paquetes / Herramienta Gráfica [root@edgar ~]# yum install -y cman gfs2-utils heartbeat rgmanager system-config-cluster [root@edgar ~]# system-config-cluster O el click facil...
26 Inicio de la Herramienta / Metodo de Lock [root@edgar ~]# system-config-cluster
27 Archivo de configuracion inicial [root@edgar ~]# vi /etc/cluster/cluster.conf
28 Agregando los nodos [root@edgar ~]# vi /etc/cluster/cluster.conf [...] [...]
29 Agregando el fence device [...] [...]
30 Agregando un recurso (Ej GFS) [...] [...]
31 Creando el recurso [...] [...]
32 GRACIAS!!! ¿Mas preguntas? [email protected] Listas de correo [email protected] http://proyectofedora.com.ar/mailman/listinfo/comunidad_p royectofedora.com.ar [email protected] http://proyectofedora.com.ar/mailman/listinfo/interuniversit aria_proyectofedora.com.ar Mas documentacion http://www.proyectofedora.com.ar http://www.redhat.com/docs http://kbase.redhat.com/