Beruflich Dokumente
Kultur Dokumente
Miguel lvarez beda Bruno Lpez Lagares Pedro Lorenzo Riveiros Juan Santos Garca-Toriello Marcelino Castaeda Snchez Fernanda Garca Alves de Oliveira
18/04/2008 Cluster Rocks Apache + IPVS + HA 1
18/04/2008
El PROYECTO
18/04/2008
El PROYECTO
En base a la motivacin, los ingenieros del mster en Informtica de la UDC han llevado a cabo:
Instalacin de un clster con ROCKS Configuracin de la solucin de balanceo de carga con IPVS Configuracin de la solucin de alta disponibildad
18/04/2008
El PROYECTO
Todo ello bajo una muy leve orientacin y supervisin del profesor.
18/04/2008
El PROYECTO
He
18/04/2008
clster es ...
Un conjunto de mquinas interconectadas mediante una red de interconexin a los que un determinado software convierte en un sistema de mayores prestaciones
Aunque esta definicin peque de general o imprecisa explica en esencia lo que es un clster
Cluster Rocks Apache + IPVS + HA 7
18/04/2008
Elementos de un Clster: HW
18/04/2008
Elementos de un Clster: HW
Elementos adicionales:
18/04/2008
18/04/2008
10
El SO Linux suele ser instalado con distribuciones, que son colecciones de software con el sistema base, programa de instalacin y numerosas aplicaciones. Destacan:
Red Hat. Distribucin muy popular. No tiene nuevas versiones desde RH 9 Fedora. Es la sustituta de RH especializada para desarrollo Red Hat Enterprise Linux. Sustituye a RH especializndose en sistemas empresariales y en clusters CentOS es la versin para la comunidad de RHEL. Slackware. Distribucin basada en RH, para computadores de escritorio Esware. Distribucin espaola basada en Slackware. Mandriva. Distribucin conocida por su facilidad de instalacin. SUSE. Distribucin alemana con una importante cantidad de software, y con amplio soporte. Debian. Distribucin para usuarios avanzados y administradores. Es la ms segura y con mayor cantidad de paquetes. Ubuntu. Proyecto basado en Debian. Conectiva. Distribucin brasilea orientada a la empresa.
18/04/2008
18/04/2008
12
Nodos de computacin:
La capacidad de cmputo de un nodo, junto con la cantidad de memoria necesaria para ejecutar las aplicaciones, son lo fundamental en la unidad que va a determinar el rendimiento computacional del sistema. Los nodos disponen cada vez ms de un mayor nmero de cores.
Cluster Rocks Apache + IPVS + HA 13
18/04/2008
Almacenamiento:
el servidor.
El protocolo ms comnmente utilizado es NFS (Network File System), sistema de ficheros compartido entre servidor y los nodos.
18/04/2008
NAS (Network Attached Storage) es un dispositivo especfico dedicado a almacenamiento a travs de red (normalmente TCP/IP) que hace uso de un S.O. optimizado para dar acceso a travs de protocolos CIFS, NFS, FTP o TFTP.
CIFS Common Internet File System (anteriormente SMB, Service Message Block) es un protocolo de almacenamiento para compartir fichero en entornos Windows. Una implementacin libre es SAMBA, permitiendo a mquina Windows acceder a almacenamiento en servidores Linux.
Por su parte, DAS (Direct Attached Storage) consiste en conectar unidades externas de almacenamiento SCSI o a una SAN (Storage Area Network) a travs de Fibre Channel. Estas conexiones son dedicadas. Mientras NAS permite compartir el almacenamiento, utilizar la red, y tiene una gestin ms sencilla, DAS proporciona mayor rendimiento y mayor fiabilidad al no compartir el recurso.
18/04/2008
15
NAS nos permite acceder a un sistema de ficheros a travs de TCP/IP usando CIFS (en el caso de Windows) NFS (en el caso de Unix/Linux. NAS es una solucin ms adecuada como
Servidor de ficheros Almacenamiento de directorios de usuario Almacenamiento de archivos en general
Por su parte, una SAN es usada para acceder a almacenamiento en modo BLOQUE, a travs de una red de fibra ptica con Fibre Channel (FC) utilizando el protocolo SCSI. SAN es una solucin ms adecuada para:
Bases de datos Data warehouse Backup (al no interferir en la red del sistema) Cualquier applicacin que requiera baja latencia y alto ancho de banda en el almacenamiento y recuperacin de datos Cluster Rocks Apache + IPVS + HA 16
18/04/2008
Rocks Cluster
18/04/2008
17
Rocks Cluster
Sistema desarrollado por San Diego Supercomputer Center (SDSC), perteneciente a la Universidad de California, San Diego y Nacional Partnership for Advanced Computational Infrastructure (NPACI).
Presenta una arquitectura modular basada en rolls (referido a grupos de pauqtes (ej: rol grid, rol java, rol security)).
Define distintos tipos de nodos que pueden componer el cluster, siendo los principales Frontend: tipo de nodo servidor.
18/04/2008
Rocks Cluster
Apache
18/04/2008 Cluster Rocks Apache + IPVS + HA 19
Rocks Cluster
18/04/2008
21
18/04/2008
22
18/04/2008
23
18/04/2008
24
18/04/2008
25
18/04/2008
26
insert-ethers
insert-ethers --cabinet=1 (especifica a traves de PXE/instalacion desatendida para todos los nodos del rack 1). PXE: Instalacion y arranque por red.
18/04/2008 Cluster Rocks Apache + IPVS + HA 27
18/04/2008
28
18/04/2008
29
18/04/2008
30
Base de datos del sistema. Se configura a traves de una interfaz Web (PHP). Reflejo de los archivos de configuracion del sistema.
18/04/2008
31
mySQL + phpMyAdmin
Cluster Rocks Apache + IPVS + HA 32
18/04/2008
$ cluster-fork ps -U$USER
Ejecuta "ps" en todos los nodos e.g.: cluster-fork ps -Udiego
$ cluster-ps PATTERN
Ejecuta "ps -aux | grep PATTERN" en todos los nodos. e.g.: cluster-ps MATLAB
$ cluster-fork [cmd]
Ejecutar cualquier comando en todos los nodos del cluster clusterfork e.g.: cluster-fork cp -r MatLabToolBox/ tmp/
$ cluster-fork --query="select name from nodes where name like 'scompute-0-%'" [cmd]
Ejecuta [cmd] en los nodos devueltos por la query SQL. El resultado de la query es una lista de nodos
18/04/2008
33
Rocks Cluster
Acceso a traves de Web de toda la documentacion de los rolls instalados. Tambien integridad de datos (Tripwire).
18/04/2008
34
Rocks Cluster
Carga del sistema en un instante de tiempo La escala cambia dinamicamente. Se desplazade derecha a izquierda.
18/04/2008
35
18/04/2008
36
18/04/2008
37
Definicin
Conjunto de servidores que comparten la carga de trabajo Esquema aplicado al procesamiento distribuido y/o al sistema de comunicacin con el fin de que un dispositivo no se sature
Ampliar capacidad
Balanceo de Carga
Problema
Un balanceo esttico perfecto no es posible
El tiempo de ejecucin de los trabajos no es conocido
Solucin
Dns LVS
18/04/2008
39
Dns
Definicin de varias IPs para un mismo dominio Servidor devuelve cada vez una IP distinta Cola round-robin para ir sirviendo las peticiones: Distribucin pseudo-aleatoria No se tiene en cuenta la carga real de cada servidor
LVS
Aumentar la sensacin de unidad del cluster Una direccin IP cara al usuario Facilidad de enmascarar un error Distribucin por conexin, o por sesiones Simplificacin de la administracin del cluster
Cluster Rocks Apache + IPVS + HA 40
18/04/2008
Linux Virtual Server (LVS, IPVS en kernels 2.6.x) es un servicio de red altamente escalable y de alta disponibilidad Arquitectura transparente para el usuario final El usuario interactua con los servidores como si solo existiera un solo servidor de alto rendimiento Los servidores reales pueden estar conectados por
Objetivo
Equilibrado de carga mediante NAT (Network Address Translation), tunneling IP o enrutamiento directo (DR) por medio del frontend que da servicio a peticiones FTP y HTTP a los nodos de un cluster. Este servicio es provedo a nivel de kernel (ha de estar compilado el soporte para LVS/IPVS)
Configuracin
LVS puede ser implementado de 3 formas diferentes, usando las 3 tcnicas de balanceo IP (forwarding de paquetes) existentes en el LinuxDirector:
Virtual Server va Nat Virtual Server va IP tunneling Virtual Server va ruta directa
18/04/2008
42
NAT
Permite utilizar cualquier SO que soporte TCP/IP ya que solo es requerida una direccin IP Funciona con una nica IP pblica Los paquetes son reescritos por el frontend para ocultar los nodos internos Escalabilidad limitada: Slo es aceptable para un nmero pequeo de nodos, por la sobrecarga que acarrea (20 nodos)
18/04/2008
43
Tunneling IP
Tunneling IP es similar a NAT, pero el frontend ya no reescribe los paquetes, siendo su tarea mucho ms liviana El frontend programa las peticiones a los diferentes servidores reales Los servidores reales envian las respuestas directamente a los usuarios finales Los servidores deben tener el protocolo IP Tunneling habilitado
18/04/2008
44
Enrutamiento directo
El enrutamiento directo (DR) es un sistema an ms ligero Los servidores comparten la IP pblica del cluster Necesita que todos los servidores compartan el mismo segmento de red
18/04/2008
45
18/04/2008
46
18/04/2008
47
Topologa
Cliente
Servidor grupo 1
Servidor grupo 2
193.144.50.251 193.144.50.252 193.144.50.250
Nodo 1 Nodo 2
Nodo 3
10.255.255.250 10.255.255.253 10.255.255.254
18/04/2008
48
NAT
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
49
NAT
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
50
NAT
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
51
NAT
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
52
TUN
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
53
TUN
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
54
TUN
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
55
TUN
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
56
DR
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
57
DR
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
58
DR
Cliente
193.144.50.251
193.144.50.252
193.144.50.250
10.255.255.250
10.255.255.253
10.255.255.254
18/04/2008
59
direccion-servicio direccion-servidor
[mtodo-paquete-reenvio] [opciones de ponderacin]
18/04/2008 Cluster Rocks Apache + IPVS + HA 61
18/04/2008
62
18/04/2008
63
En cada servidor real (grupo2#): ifconfig tunl0 193.144.50.250 netmask 255.255.255.255 broadcast 193.144.50.250 up route add -host 193.144.50.250 dev tunl0
18/04/2008 Cluster Rocks Apache + IPVS + HA 67
In each real server (grupo2#): ifconfig lo:0 193.144.50.250 netmask 255.255.255.255 broadcast 193.144.50.250 up route add -host 193.144.50.250 dev lo:0
18/04/2008 Cluster Rocks Apache + IPVS + HA 68
18/04/2008
69
Sistema que es resistente a los fallos de software, hardware y de energa. La capacidad de un sistema para permanecer funcionando incluso despus de la aparicin de graves defectos es lo que hace que sea seguro y fiable.
18/04/2008
70
Una verdadera necesidad de poner en marcha un sistema con Alta Disponibilidad depende de las respuestas a ciertas
preguntas.
18/04/2008
71
La inversin necesaria para construir y mantener una infraestructura de redundancia en paralelo justifica el costo para su empresa?
18/04/2008
72
Si las respuestas son positivas, y son solamente aceptables unos minutos de interrupcin, es muy aconsejable empezar a pensar rpidamente en la aplicacin de alta disponibilidad en su entorno.
18/04/2008
73
18/04/2008
74
99,9% = 43.8 minutos/mes -> 8,76 horas/ao ("tres nueves") 99,99% = 4.38 minutos/mes -> 52.6 minutos/ao ("cuatro nueves") 99,999% = 0.44 minutos/mes -> 5.26 minutos/ao ("cinco nueves") Cunto tiempo se permitira estar cada la facultad virtual de una Universidad? Cunto tiempo se permitira estar cada la web de un banco? Cunto tiempo se permitira estar cado el servicio de telefona mvil?
18/04/2008 Cluster Rocks Apache + IPVS + HA 75
Una empresa de telefona factura 7.200 millones de al ao trabajando 8760 horas (24 horas * 365 das).
Veamos la relacin entre disponibilidad y prdida:
99% = 72.000.000 Es asumible esta prdida? 99.9% = 7.200.000 99.99% = 720.000 Y no slo debemos considerar prdidas directas por la ausencia de funcionalidad, surgiran grandes prdidas por el descontento de los clientes, etc.
18/04/2008 Cluster Rocks Apache + IPVS + HA 76
Servidor Real
Servidor Backup
ALMACENAMIENTO COMPARTIDO
18/04/2008
77
18/04/2008
78
Normalmente se usa en conjunto con heartbeat, aunque puede funcionar con otro detector de servicios.
18/04/2008
79
18/04/2008
80
18/04/2008
82
18/04/2008
83
18/04/2008
85
18/04/2008
86
$ ifconfig
Ethernet
Para ver la informacin de enrutamiento de la red
$ netstat -nr
Para comprobar la comunicacin serie entre todos Emisor
Serie
http://www.linux-ha.org/download
A partir del cdigo seria:
18/04/2008
88
18/04/2008
89
18/04/2008
90
node linuxha1 (Obligatorio) Hostname de la mquina descrita por $ uname n (Una lnea por cada nodo) respawn userid cmd (Opcional) Lista un comando para ser lanzado y monitorizado Ejemplo: respawn hacluster /usr/lib/heartbeat/ipfail para ipfail
18/04/2008
92
18/04/2008
93
18/04/2008
94
auto_failback on [off`] respawn hacluster /usr/lib/heartbeat/ipfail ping pnode1 pnode2 pnodeN Heartbeat decide que interfaz se debe usar , consultando la tabla de enrutamiento
18/04/2008
95
18/04/2008
96
18/04/2008
97
18/04/2008
98
8)
18/04/2008
99
18/04/2008
100
http://www.swgreenhouse.com/Productos/Vision/DefHighAval.html
18/04/2008
101