PDF de programación - Sistemas Distribuidos y Alta Disponibilidad Juan Miguel Taboada Godoy

Imágen de pdf Sistemas Distribuidos y Alta Disponibilidad Juan Miguel Taboada Godoy

Sistemas Distribuidos y Alta Disponibilidad Juan Miguel Taboada Godoygráfica de visualizaciones

Publicado el 5 de Marzo del 2021
86 visualizaciones desde el 5 de Marzo del 2021
3,3 MB
28 paginas
Creado hace 7a (02/12/2013)
Sistemas Distribuidos y Alta Disponibilidad

Ponente:
Juan Miguel Taboada Godoy
juanmi@centrologic.com - http://www.centrologic.com

Sistemas Distribuidos y Alta Disponibilidad
Necesidades de la Empresa

Computación
Meteorología
Simuladores
Cálculos financieros
Inversión
Investigación

Almacenamiento
Web
FTP
Backup
Bases de Datos
Escritorios distribuidos

Objetivos
Reducir gastos
Incrementar calidad
Clientes contentos
Alta disponibilidad
Eficiencia

Clusters

Alta Disponibilidad

Soluciones

Condicionantes

Globatic

IBM

SUN Microsystems

Supermicro

Intel
AMD

Exceder requerimientos

Funcionar siempre
Servicio de calidad

Autoprotección contra errores

Redundancia de datos

Sistemas Distribuidos y Alta Disponibilidad
¿Qué es un cluster?
Cluster => Conjunto => Elementos

Computación
Muchos ordenadores para aparentar
ser uno sólo

Trasparencia de uso

Jerarquía heterogénea

Cambios dinámicos en la topología

Sistema de ficheros distribuido

Alta escalabilidad

Unidad = Átomo del cluster
Características mínimas (grupo)
Mismos objetivos

Problema divisible en partes
Un átomo trabaja con un trozo
Trozos de solución => Solución completa

Sistemas Distribuidos y Alta Disponibilidad
Historia

Inicio del proyecto

Versión 0 (1977) -> UNIX with SP [PDP]
Versión 4 (1988) -> MOSIX [BAX780]

Versión 6 (1991) -> MOSIX [80486 y Pentium]

Versión 7 (1998) -> MOSIX [x86 y Linux]

Moshe Bar
Universidad?

Grupo de estudiantes

Desarrollo libre

Se divide el proyecto (10 febrero 2002)

MOSIX
Comercial

Crecimiento lento
Código anticuado

OpenMosix

Kernel Linux 2.4.24
Soporte para IA64

Totalmente rediseñado

Mosix Userlands
Licencia GNU/GPL

Sistemas Distribuidos y Alta Disponibilidad
Funcionamiento: Kernel

Descripción
OpenMosix es un parche
Sólo un parche por núcleo
Los parches son cambios en el núcleo

Características
Sólo entiende de procesos
Espacio de memoria exportable
NO Threads (Hilos)
Programación por FORKs
Distribuido

Sistemas Distribuidos y Alta Disponibilidad
Funcionamiento: Migración

Características
Exporta a la más potente y libre
E/S = Volver
Balanceo de carga automático
Algoritmo de retención
Kill por desconexión

Sistemas Distribuidos y Alta Disponibilidad
Funcionamiento: Herramientas

Herramientas

mosrun
mosctl
mosmon
mtop y mps
mosPBS
CHPOX

OpenMosixview
OpenMosixblaster
Cluster Knoppix

Sistemas Distribuidos y Alta Disponibilidad
Instalación: Planificar

Pasos
Necesidades de cómputo
Acceso a disco
Potencia de los nodos
Escalabilidad
Refrigeración
Sobrecarga de la red (aislada/distribuida)
Jerarquía centralizada o distribuida
Gestión de colas (multiples usuarios)
Tiempo de ejecución (Alta disponibilidad)

Sistemas Distribuidos y Alta Disponibilidad
Instalación: Núcleo

Procedimiento
Obtener el parche para el núcleo
Obtener un núcleo válido para el parche
Parchear [patch -p0 < parche]
Configurar [make menuconfig]
Compilar [make dep clean bzImage]
Módulos [make modules modules_install]
Instalar núcleo en /boot
Configurar LILO
Arrancar (todavía no se puede usar)

Sistemas Distribuidos y Alta Disponibilidad
Instalación: Herramientas

Procedimiento
Descargar openmosixUserlands
Descomprimir
Modificar Makefile (para ruta al kernel)
Compilar (make)
Instalar (make install)
Script de arranque (init.d+runlevel)
Sólo nos queda configurar los nodos

Sistemas Distribuidos y Alta Disponibilidad
Instalación: Configurar

/etc/cluster.map
Número: número del nodo
Dirección IP: ip en la que comienza el rango
Cantidad: indica la longitud del rango

Es importante que los nodos no se solapen
Ej:
Número Dirección IP
192.168.1.1
1
5
192.168.1.11

Cantidad
10
10

/etc/cluster.map
Número Dirección IP Cantidad Correspondencia
192.168.50.1 3 192.168.50.(1,2,3)
1
2
192.168.50.10 1 192.168.50.10
192.168.50.11 1 192.168.50.11
3
192.168.50.12 1 192.168.50.12
4
5
192.168.50.13 3 192.168.50.(13,14,15)
192.168.50.16 2 192.168.50.(16,17)
6

Sistemas Distribuidos y Alta Disponibilidad
En la vida real

Estructura heterogénea
Temperatura de la sala a 18ºC
Potencia centrada en paralelismo

Sistemas Distribuidos y Alta Disponibilidad
Pruebas y resultados

SIN CLUSTER
AMD Atlon XP a 2200Mhz
Generador RSA (llave privada y pública
X minutos en generar 10 000 llaves RSA

Media: Y,Z llaves por segundo

CON CLUSTER
10 Pentium 3 a 1000Mhz
Generador RSA (llave privada y pública)
42 minutos en generar 10 000 llaves RSA

Media: 3,9 llaves por segundo

Sistemas Distribuidos y Alta Disponibilidad
Demostración en tiempo real

Sistemas Distribuidos y Alta Disponibilidad
Descanso según el protocolo

Tira cómica gracias a:

Sistemas Distribuidos y Alta Disponibilidad
¿Qué es la Alta Disponibilidad?

Concepto
HA: High Availability
Máxima disposición temporal
Concepto de redundancia
Rápida detección y recuperación
Consistencia de las copias
Importancia de la seguridad

Ideas
Buscar amistad ;-)
Trabajar sábado noche
Niños en la guardería
Solvencia económica
Lo contrario de Windows
Pareja/conyuje de viaje
Una urgencia

Sistemas Distribuidos y Alta Disponibilidad
Teoría del KAOS

Detalles
Números semi-aleatorios en computación
KAOS = Sin orden = No previsible
Política anti-KAOS
Seguridad VS Alta Disponibilidad
Gasto tiene que compensar a pérdidas

Preguntas
¿Realmente lo necesito?
¿Qué inversión estoy dispuesto a realizar?
¿Qué deseo proteger? ¿de qué o quién?
¿Me he asesorado correctamente?
¿Empleados informados?

Fuentes de errores
Software
Hardware
Naturaleza
Empleados
Incompetencia

Sistemas Distribuidos y Alta Disponibilidad
Heartbeat

Objetivos
Asegurar actividad
Redundancia en comunicaciones de control
Detectar caidas del sistema
Recuperar actividades muertas
Takeover (Intercambiar IP)

Características
Comunicar su estado a los otros nodos
Comprobar estado de los nodos
Suplantar las actividad de los nodos caidos
Ocupar la IP asignada al servicio
Tomar acciones extras ante caidas
Tiempo de recuperación de 30 a 60 segundos

Ventajas
Gratuito
Licencia GNU/GPL
Fácil de configurar
Comunicación por RED y por SERIE
Sistemas heterogéneos
Altamente soportado
Integrable con otras aplicaciones

Inconvenientes
Nodo de reserva desaprovechado
Pérdida de conexiones remotas
No replica los datos entre los nodos
Obliga a centralizar el sistema de ficheros

Sistemas Distribuidos y Alta Disponibilidad
DRBD

Características
Replicación Distribuida de Dispositivos de Bloques
Copia de seguridad en tiempo real
Sistema de transaciones a nivel del sistema de ficheros
Automatismo en la sincronización

Funcionamiento
Compilar módulo
Genera nuevos dispositivos sobre partición
Sincroniza los sistemas de fichero
automáticamente
Actualiza los sitemas de ficheros en tiempo real
Master -> Slave

Ventajas

Gratuito y con licencia GNU/GPL
Replicación de datos automática
Funcionamiento remoto
Fácil de configurar
Abstracción con el sistema operativo

Sistemas Distribuidos y Alta Disponibilidad
CODA

Características
Es un sistema de ficheros distribuido
Compilable en núcleo estándar
Sistema de ficheros remoto
Alta fiabilidad
Estabilidad (Mejor que NFS/SAMBA)
Licencia GNU/GPL
Gestión de accesos Multiusuario
NIS centraliza claves e información de usuarios
NIS+CODA = Escritorio virtual (remoto)

Sistemas Distribuidos y Alta Disponibilidad
Sistemas redundantes

Premisas
Discos replicados
Fuente redundante
Más de un acceso acceso a Internet
Red duplicada entre todos los equipos a todos los niveles
Alimentación eléctrica (replicada e ininterrumpida)
Localización espacial (sistemas duplicados)

Sistemas Distribuidos y Alta Disponibilidad
Instalación: Planificar

Estudio previo
Necesidades
Servicios a ofrecer
Tiempo de inactividad máximo
Presupuesto (teoría del KAOS)
Seguridad
Localización (detalles de las instalaciones)

Sistemas Distribuidos y Alta Disponibilidad
Instalación: Hearbeat

Antes de...
Interconectar equipos por RED o SERIE
Descargar Heartbeat
Instalar librería libnet y libglib-devel
Instalar Heartbeat

/etc/ha.d/ha.cf
# define nodes in cluster
node ttisrv1
node ttisrv2

Configuración
General: /etc/ha.d/ha.cf
Validación: /etc/ha.d/authkeys
Servicios: /etc/ha.d/haresources

# time a system must be unreachable
before considered dead (seconds)
deadtime 5

# set up for the serial heartbeat pulse
serial /dev/ttyS0
baud 19200

# interface to run the network heartbeat
pulse
udp eth1

/etc/ha.d/haresources
# use ttisrv1 as primary, use 192.168.0.100 as shared IP
ttisrv1 192.168.0.100 Filesystem::/dev/sda1::/ttidisk::ext2 \
smb nfslock nfs

Sistemas Distribuidos y Alta Disponibilidad
En la vida real

Empresas
ISPs
Bancos
Contabilidad
Bases de datos

Ciencia y tecnología
Centros de cálculo
Meteorología
Investigación
Astronomía
Programas @home
Simuladores de vida
Ejército
Particulares
Servidores de Juegos
FTPs
Servidores de redes P2P
Streaming

Sistemas Distribuidos y Alta Disponibilidad
Teoría de los 9s

Seis Nueves
Nº de nueves Disponibilidad

1
2
3
4
5
6

90%
99%
99,9000%
99,9900%
99,9990%
99,9999%

Desconexión/Año
37 días
3,7días
8,8horas
53minutos
5,3minutos
32 segundos

Sistemas Distribuidos y Alta Disponibilidad
Pruebas y resultados

Apache
Entre 30 y 60 segundos inactivo (Heartbeat)
Recuperación instantánea de la dirección IP
Recuperación total del servicio instantánea

Samba
Entre 30 y 60 segundos inactivo (Heartbeat)
Recuperación instantánea de la dirección IP
Recuperación total del servicio en 1 y 3 minutos

Sistemas Distribuidos y Alta Disponibilidad
Ahora es tu turno

?

?
?
?

? ?
?

?
?
? ?

? ?
? ?

?
?
?
?
?

Sistemas Distribuidos y Alta Disponibilidad
Computational Logistic Center

Gracias

Juan Miguel Taboada Godoy
juanmi@centrologic.com
http://www.centrologic.com
Teléfono: +34 902884062
  • Links de descarga
http://lwp-l.com/pdf18953

Comentarios de: Sistemas Distribuidos y Alta Disponibilidad Juan Miguel Taboada Godoy (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad