Está en la página 1de 51

SEGURIDAD Y ALTA

DISPONIBILIDAD
César Ramírez García.
Emilio López García.
• La escritura es, en opinión de muchos, el invento más
importante de la humanidad
• Criptografía literalmente significa «escritura secreta» es
Criptografía: pues el arte de construir códigos secretos.
definición • Es el conjunto de técnicas o procedimientos que alteran los
símbolos de información (información en claro o texto en
claro) sin alterar el contenido, convirtiendo a la información
modificada en un conjunto de símbolos (cifrado o
codificado) sin contenido para las partes que no disponen
de la clave criptográfica.
Primeros Métodos de Encriptación - La escítala espartana

u Una escítala (en griego antiguo: σκυτάλη, skytálē) es


un sistema de criptografía utilizado por los espartanos
para el envío de mensajes secretos. Consistía en un
bastón sobre el que se enrollaba en espiral, a modo de
venda, una estrecha cinta de cuero. Tras ello, se escribía
a lo largo del bastón el mensaje

uAl desenrollar la cinta sólo se apreciaba una larga ristra


de letras sin sentido, que sólo se recobraba tras volver a
enrollar la cinta sobre un bastón de igual diámetro que el
primero. Ese diámetro era la clave.
Primeros Métodos de Encriptación - Método César

u Conocido así por ser utilizado por Julio César su origen


se sitúa en el siglo I antes de Cristo.

u Se basa en el método de sustitución mono


alfabética, es decir, el proceso de sustitución. Consiste
pues en sustituir cada letra del texto escrito (sin
cambiar su lugar en el mismo) por aquella situada tres
posiciones por delante en el alfabeto.
Métodos de Encriptación - Sustitución y Transposición

u Sustitución: consiste en sustituir las unidades del texto original por


otras. Las técnicas de sustitución hacen que las letras mantengan sus
posiciones en el texto, pero cambian su apariencia, siendo sustituidas cada
una de ellas por otra letra, por un número o por un símbolo cualquiera.

u Transposición: consiste en crear el texto cifrado simplemente


desordenando las unidades que forman el texto original. Los algoritmos de
transposición, reordenan las letras pero no las disfrazan. Mediante las
técnicas de transposición las letras del texto en claro intercambian sus
posiciones según un cierto patrón, de modo que en el texto cifrado aparecen
las mismas letras pero con sus posiciones permutadas.
u Numerosas personas han intentado revelar los
secretos protegidos sin conocimiento de la clave
que los protege.
Criptología y
Criptoanálisis u Esta disciplina se denomina criptoanálisis y
criptoanalistas a sus practicantes. El conjunto de la
criptografía y el criptoanálisis es lo que se conoce
hoy día como la ciencia de la criptología.

u Se considera que la cifra monoalfabética es


insegura ya que basta con contar el número de veces
que aparece cada símbolo, letra o número en un
texto cifrado para saber realmente cuál era la letra
subyacente, independientemente de su apariencia.
Cifrado Polialfabético

u Después de más de mil años sin grandes novedades en criptología surgen los métodos polialfabéticos, cada vez que
aparece una letra en claro se escoge un carácter cifrado (sea otra letra, número o símbolo arbitrario) de entre un
conjunto finito de ellos. El florentino Leon Battista Alberti, nacido alrededor del año 1460, propuso utilizar dos o más
alfabetos desordenados y alternarlos durante un cifrado a fin de escapar de un análisis de frecuencia de los
criptoanalistas potenciales fuel inventos del cifrado de disco o cifrado de Alberti.

El método de cifrado de Alberti presenta una clara ventaja: no es posible


atacarlo con el análisis de frecuencias. Pero aun así tiene inconvenientes
graves. Para poder desencriptar el mensaje el receptor necesita un disco
exactamente igual al que sirvió para crear el cifrado.
Cifrado Polialfabético

u Denominamos así a todos aquellos sistemas de sustitución en los que se utiliza más de un alfabeto para realizar la
sustitución. Así, a una letra en claro, pongamos la “a”, unas veces será sustituida por ejemplo por la “x”, pero otras veces lo
será por la “y” o por el número 10. Todo ello siguiendo un estricto patrón para que no haya ambigüedades a la hora de
descifrar. Así que, el conteo del número de veces que aparece cada símbolo cifrado no aportará ningún conocimiento
al criptoanalistas.
u El cifrado simétrico utiliza una clave única que debe
Tipos de compartirse entre las personas que necesitan recibir el
Criptografía: mensaje, mientras que el cifrado asimétrico utiliza un
Simétrica par de claves públicas y una clave privada para cifrar y
descifrar los mensajes cuando se comunican.
Asimétrica
u El cifrado simétrico es una técnica antigua, mientras que
el cifrado asimétrico es relativamente nuevo.
u El cifrado asimétrico se introdujo para complementar el
problema inherente de la necesidad de compartir la
clave en el modelo de cifrado simétrico, eliminando la
necesidad de compartirla mediante el uso de un par de
claves público-privadas.
u El cifrado asimétrico lleva relativamente más tiempo que
el cifrado simétrico.
Cifrado Simétrico

Un sistema de cifrado simétrico es un tipo de cifrado que usa una misma


clave para cifrar y para descifrar. Las dos partes que se comunican mediante
el cifrado simétrico deben estar de acuerdo en la clave a usar de antemano.
Una vez de acuerdo, el remitente cifra un mensaje usando la clave, lo envía
al destinatario, y éste lo descifra usando la misma clave. Como ejemplo de
sistema simétrico está «Enigma»; Éste es un sistema que fue usado por
Alemania, en el que las claves se distribuían a diario en forma de libros de
códigos. Cada día, un operador de radio, receptor o transmisor, consultaba
su copia del libro de códigos para encontrar la clave del día. Todo el tráfico
enviado por ondas de radio durante aquel día era cifrado y descifrado
usando las claves del día.
Cifrado Simétrico: DES, 3DES, AES, Blowfish, IDEA….

Según el principio de Kerckhoffs (1883) la seguridad del sistema debe recaer en la seguridad de la clave. Hoy por hoy,
los ordenadores pueden adivinar claves con extrema rapidez, y ésta es la razón por la cual el tamaño de la clave es
importante en los «criptosistemas» modernos. El algoritmo de cifrado DES (Data Encription Standard o Estándar de
Encriptación de Datos) usa una clave de 56 bits, lo que significa que hay 256 claves posibles. 256 son
72.057.594.037.927.936 claves. Esto representa un número muy alto de claves, pero una máquina computadora de
uso general puede comprobar todo el espacio posible de claves en cuestión de días. Un máquina especializada lo
puede hacer en horas. Por otra parte, algoritmos de cifrado de diseño más reciente como 3DES, AES ((Advanced
Encription Standard o Estándar Criptográfico Avanzado) , Blowfish e IDEA ((International Data Encription Algorithm)
usan todos claves de 128 bits, lo que significa que existen 2128 claves posibles. Esto representa muchas, muchísimas
más claves, y aun en el caso de que todas las máquinas del planeta estuvieran cooperando, todavía tardarían más
tiempo que la misma edad del universo en encontrar la clave.
Cifrado Asimétrico

u El algoritmo Diffie-Hellman debe su nombre a sus creadores Whitfield


Diffie y Martin Hellman. Creado en 1976, es uno de los protocolos de
intercambio de claves más antiguos que todavía se siguen usando en la
actualidad. Sus creadores fueron galardonados con el premio A.M. Turing
2015 por este trabajo, con el que revolucionaron por completo la seguridad
informática.
u Se trata de un algoritmo que permite crear una clave secreta entre dos
equipos informáticos que nunca han tenido contacto previo, a través de
un canal inseguro, y mediante el envío de solo dos mensajes.
u La clave Diffie Hellman solo podrá ser conocida por los dos equipos que
realizan la comunicación, y no podrá ser descubierta por un atacante o
por un tercero que quiera conocer dicha comunicación.
Cifrado Asimétrico (II)

u En el cifrado asimétrico, cada participante tiene un par de claves que consta de una clave pública y una clave
privada. Ambas se mantienen unidas mediante una especie de llavero: con este sistema criptográfico, un algoritmo
matemático vincula estrechamente ambas claves, de manera que los datos que se cifran con la clave pública solo
pueden descifrarse con la clave privada: Las dos claves son completamente independientes una de otra.
u En la práctica, el remitente de los datos siempre necesita la clave pública del destinatario. En términos de cifrado, la
clave pública tiene una función unidireccional: permite cifrar los datos, pero no descifrarlos, porque solo el
destinatario puede hacerlo con su propia clave privada. No obstante, la clave pública no solo se utiliza para el
cifrado, sino que también permite verificar las firmas digitales y autenticar a los participantes.
¿Dónde se usa el cifrado asimétrico?

u La criptografía de clave pública suele utilizarse en el tráfico de correo electrónico, como en el método de cifrado
estándar S/MIME, en las firmas digitales y en protocolos criptográficos como SSL/TLS, SSH y HTTPS.
u El principal inconveniente de la criptografía de clave pública es la lentitud del proceso de cifrado. Además, se
requiere considerablemente más rendimiento informático. Por lo tanto, se ha desarrollado un sistemas híbrido
que combina el sistema simétrico y el asimétrico. Los antiguos problemas de este método, como la
autenticación insegura y la alta vulnerabilidad al malware, ya se han resuelto mediante certificados y firmas
digitales, así como criptosistemas basados en ID.
u Se recomienda el cifrado híbrido para sacar partido a lo mejor de ambos mundos. El cifrado asimétrico asume la
tarea de distribuir las claves, lo que evita el engorroso procedimiento de transferencia de claves privadas de los
criptosistemas simétricos. El resultado es un proceso de cifrado seguro, rápido y práctico.
Comparativa cifrado simétrico y asimétrico
¿Qué es el hashing?

u El hashing es una importante herramienta criptográfica para transformar los


datos en los llamados valores hash. Para ello se utiliza una función hash
especial, normalmente en forma de algoritmo. La tarea central del hashing se
puede adivinar por la traducción del término al español, esta es, “picar o
mezclar”. Y en el hashing no ocurre nada más que eso: conjuntos de datos
como contraseñas, datos de empresas y usuarios u otras formas de datos se
descomponen y se transforman en una nueva forma abreviada, el valor hash.
u La ventaja del hashing: los valores hash no pueden volver a convertirse a su
forma original sin una clave. Incluso si caen en las manos equivocadas,
¿Cómo funciona el hashing?

El proceso de hashing se compone de tres elementos:


u Función hash: es algoritmo criptográfico que descompone completamente datos de diferentes longitudes, los
resuelve y los transforma en cadenas siempre de la misma longitud. Estos valores hash son significativamente más
cortos y compactos que los valores originales.
u Valor hash: los valores hash son el resultado de la función hash. En el contexto del método hash utilizado, siempre
tienen una longitud fija de caracteres hexadecimales, a diferencia de los valores originales. La longitud fija de los
valores hash depende del método empleado.
u Tablas hash: los valores hash pueden almacenarse como tablas hash en bases de datos. Estas requieren mucho
menos espacio que el almacenamiento de los registros de datos originales. Para crearlas, los registros de datos
reciben valores de índice específicos a través del hashing, que indican dónde se encuentra el registro de los datos.
De esta forma, se reduce significativamente el tiempo de procesamiento y la potencia de cálculo en la búsqueda
de información.
Propiedades del hashing?

u Determinismo: la función hash debe generar siempre un valor hash de longitud fija y corta independientemente
de la longitud de las diferentes entradas.
u No legible: el hashing transforma los valores originales en valores hash, que no se pueden leer directamente. No
debe haber forma de descifrar el valor hash en el sentido clásico y generar el texto o cadena original a partir de él.
u Seguridad contra colisiones de valores: no se debe asignar el mismo valor hash a diferentes entradas. Si dos
valores originales reciben el mismo valor hash, hay una colisión. Los valores hash distintivos y únicos reducen los
puntos de ataque y aumentan la seguridad. Sin embargo, dependiendo de la aplicación, puntualmente se puede
buscar una colisión.
u Continuidad o no continuidad: en principio, los valores hash ofrecen mayor seguridad si son no-continuos, es
decir, si diferentes conjuntos de datos originales reciben valores hash lo más diferentes posible. El uso de valores
hash continuos, por otro lado, es preferible cuando el hashing se utiliza para gestionar conjuntos de datos y
entradas similares.
u Velocidad: el hashing no solo permite una mayor seguridad, sino también un acceso más rápido a las bases de
datos.
FIRMAS DIGITALES y CERTIFICADOS ELECTRÓNICOS

¿Qué es la Firma Digital?


u Una firma digital es un conjunto de datos asociados a un mensaje que permite asegurar la identidad del firmante y
la integridad del mensaje.
u La firma digital no implica que el mensaje está cifrado, esto es, un mensaje firmado será legible en función de que
está o no cifrado.
u El firmante generará mediante una función, un 'resumen' o huella digital del mensaje. Este resumen o huella digital
la cifrará con su clave privada y el resultado es lo que se denomina firma digital, que enviará adjunta al mensaje
original.
u Cualquier receptor del mensaje podrá comprobar que el mensaje no fue modificado desde su creación porque
podrá generar el mismo resumen o misma huella digital aplicando la misma función al mensaje. Además, podrá
comprobar su autoría, descifrando la firma digital con la clave pública del firmante, lo que dará como resultado de
nuevo el resumen o huella digital del mensaje.
FIRMAS DIGITALES y CERTIFICADOS ELECTRÓNICOS (II)

¿Qué es el certificado electronico?


u El Certificado electrónico está regulado por la Ley 59/2003. Para este tipo de firma habría que personarse
previamente en un organismo oficial, donde se aporta la identificación de forma presencial que acredita quién es
esa persona.
u Este sistema requiere del uso de determinados algoritmos criptográficos, que se combinan con una clave para
realizar la firma.
u Aunque también se usa para firmar documentos online, normalmente este sistema de firma se suele emplear
para identificarse ante las diferentes administraciones.

¿En qué se diferencian la firma electrónica y el certificado electronico?


El Certificado Electronico está basado en una clave que le otorga una entidad pública y la firma electrónica se
realiza a través de un tercero de confianza que permite firmar de forma segura el documento.
CONFIGURACIONES DE ALTA
DISPONIBILIDAD
Definición Alta disponibilidad

Capacidad de las aplicaciones, los datos y las personas, para


que los sistemas críticos estén accesibles en todo momento.

Los sistemas críticos (o safety-critical systems) son aquellos


en los que un fallo puede conllevar pérdidas de vidas
humanas o daños importantes tanto de propiedades como
del entorno. Los ejemplos más típicos de este tipo de
sistemas los encontramos en la industria aeronáutica y
aeroespacial, aunque también es importante en otros
sectores como la automoción o el ferroviario.
Sistema Críticos

Consecuencias negativas
u Las organizaciones dependen cada vez más de sus sistemas de información, y como es obvio se desea que estos sean
seguros y permanezcan disponibles el mayor tiempo posible.
u Para una empresa, una interrupción del sistema supone un problema por las consecuencias que tiene en su negocio.

u Estos efectos pueden ser:


• Costes directos, asociados a la reparación del sistema de información
• Horas de trabajo adicionales, para el departamento de sistemas que tiene que reparar la avería.
• Perdidas de productividad o incluso horas de trabajo perdidas por los empleados que dependen del sistema.
• Pérdida de ingresos, por las ventas o servicios que se han dejado de realizar.
• Costes indirectos, por la insatisfacción de los clientes, perdida de reputación, mala publicidad, desconfianza de los
empleados, etc.
DISPONIBILIDAD vs FIABILIDAD

u La disponibilidad es una medida, relativa a la preparación


para su utilización de un sistema informático, mientras que la
fiabilidad es una medida relativa a su capacidad para
mantenerse operativo en el tiempo sin ningún tipo de fallo.

u Los fallos potenciales de un sistema son los errores de


componentes hardware, los errores o bloqueos del sistema
operativo, los errores de las aplicaciones.
DISPONIBILIDAD ¿Cómo se Cuantifica? (I)

u La disponibilidad se cuantifica habitualmente a través del índice de disponibilidad, que se obtiene de dividir el
tiempo durante el cual el servicio esta disponible por el tiempo total de operación.

disponibilidad = t.disponible / (t.disponible + t.inactivo)

u El tiempo de inactividad incluye tanto las interrupciones programadas como no programadas de un servicio. El
principal objetivo para aumentar la disponibilidad de un sistema será minimizar estos tiempos.

u El índice de disponibilidad, se puede expresar también como un porcentaje. Por ejemplo, si un sistema tiene una
disponibilidad de un 99%, a lo largo de un año se mantendrá funcionando aproximadamente 361 días, y tendrá un
tiempo de inactividad de 3,6 días.
DISPONIBILIDAD ¿Cómo se Cuantifica? (II)

u Los fabricantes o proveedores de servicios suelen utilizar este porcentaje en los acuerdos de nivel de servicio (SLA),
para clasificar el nivel de disponibilidad que se espera de un sistema.

Eligiendo correctamente el hardware y software adecuados, es relativamente sencillo diseñar un sistema con una
disponibilidad del 98% del tiempo. Pero el paso del 98% al 99% y de aquí al 99,9999% es una tarea compleja y a la par
supone un aumento exponencial del coste total del sistema. En la práctica se alcanza un compromiso entre la
disponibilidad pretendida y el coste abordable por la organización.
Alta Disponibilidad: Soluciones

u La alta disponibilidad es la característica que tiene un sistema para protegerse o recuperarse de interrupciones o
caídas, de forma automática y en un corto plazo de tiempo.

Las soluciones adoptadas son:

v Redundancia en dispositivos hardware: en caso de fallo continuidad del


servicio. Duplicados servidores, fuentes de alimentación, dispositivos de red.
v Redundancia, distribución y fiabilidad en la gestión de la información: Sistemas
RAID de almacenamiento/Centros de procesamiento de datos de respaldo.
v Redundancia y distribución en el procesado y comunicaciones: Balanceo de carga
y clustering.
v Independencia en la administración y configuración de aplicaciones y servicios:
Virtualización.
Balanceo de Carga: Definición

u Balanceador de carga: hardware o software


conectado a un conjunto de servidores asigna y
reparte las peticiones que provienen de los
clientes a los distintos servidores a los que se
conecta. Para repartir la carga de forma
equilibrada existen distintos algoritmos, un
ejemplo de ellos es el conocido como Round
Robin.

u Ejemplos: repartir peticiones de red entre varios


servidores web, dns, etc. redundantes, o entre
varias conexiones de red pública independientes.
Virtualización: Introducción

u Ejecución simultánea de distintos sistemas operativos sobre una aplicación ejecutada y soportada bajo un equipo y
un sistema operativo determinado.

u Permite realizar una abstracción de los recursos de un sistema, creando una capa entre el HW de la máquina
física y el sistema operativo de la máquina virtual.

u Esta capa de software maneja, gestiona y arbitra los cuatro recursos principales de un ordenador: CPU, Memoria,
Red, Almacenamiento.

u El software de gestión de máquinas virtuales se distribuye por empresas como:


• VMWare (VMWare).
• Oracle (Virtual Box)
• Microsoft (Virtual PC).
Virtualización: Proceso

u Instalada la aplicación de gestión de máquinas virtuales, el proceso


para poder ejecutar distintos sistemas operativos se resume en:

• Crear y configurar los recursos hardware que darán soporte a la


instalación de un determinado sistema operativo.
• Creada la máquina virtual soporte, instalar mediante una imagen ISO
o un CD/DVD de instalación el sistema operativo.
• Arrancar y utilizar el sistema operativo, pudiendo instalar aplicaciones,
guardar datos, etc.

u Sucesivamente: modificando configuraciones creadas, creando y


ejecutando distintas máquinas virtuales independientes dentro del gestor
de máquinas virtuales.
Virtualización: Gestión de red

u En general, los modos de funcionamiento que podremos asociar a


cada tarjeta de red virtual, son los siguientes:

• Bridge o puente, que conecta la máquina virtual a la red que usa el


equipo anfitrión físico. Es la opción más empleada.
• Host-only, máquinas virtuales solo pueden comunicarse con el sistema
host físico y las máquinas virtuales miembros de la misma red. Es
menos usada.
• NAT entre las máquinas virtuales y la red a la que pertenece el host
físico. Se emplea en virtualización de servidores como protección de
acceso desde el exterior a las máquinas virtuales.
Virtualización: Administración de servidores
(I)

u Una de las aplicaciones más comunes de la virtualización es independizar la administración de servidores bajo
una misma máquina física.

u Las ventajas de disponer de servidores virtualizados frente a servidores físicos son las siguientes:

v Ahorro de costes: un solo servidor físico, varios servidores en máquinas virtuales. Facilita mantenimiento
y personal, ahorrar espacio.
v Crecimiento más flexible: instalar un nuevo servidor es mucho más sencillo y rápido.
v Administración simplificada: desde la consola del gestor de máquinas virtuales aumentar o reducir los recursos
para una determinada máquina, reiniciarla, instalar parches o simplemente borrarla en caso de problemas.
Virtualización: Administración de servidores
(II)

v Aprovechamiento de aplicaciones antiguas: conservar


aplicaciones que funcionan en sistemas antiguos y aun así
modernizar la infraestructura informática de la empresa.
v Centralización de tareas de mantenimiento: realizar copias de
seguridad.
v Disminuye tiempos de parada: clonar una máquina y seguir
dando servicio mientras se realiza mantenimiento.
v Mejor gestión de recursos: Balanceo de recursos.
CLUSTER DE ALTA
DISPONIBILIDAD
Cluster de Alta disponibilidad: Definición

u Para conseguir redundancia y protección contra fallos de un


sistema, la primera de las medidas que se suelen tomar es
replicar sus componentes hardware más críticos. Por ejemplo en
el caso de un servidor se emplean configuraciones de discos en
RAID, fuentes de alimentación redundantes, varias interfaces de
red en bonding, etc. Y el mismo concepto de redundancia se
aplica también para el resto de componentes como la electrónica
de red o el sistema eléctrico.

u Estas medidas indudablemente aumentan el nivel de


disponibilidad de un sistema, pero para conseguir un nivel aun
mas alto, se suelen utilizar configuraciones avanzadas de hardware
y software como son los clusters de Alta Disponibilidad.
Definición Cluster de Alta disponibilidad (II)

u Un Cluster de Alta Disponibilidad es un conjunto de dos o mas


servidores, que se caracteriza por compartir el sistema de
almacenamiento, y por que están constantemente
monitorizándose entre sí.

u Si se produce un fallo del hardware o de los servicios de alguno


de las maquinas que forman el cluster, el software de alta
disponibilidad es capaz de rearrancar automáticamente los
servicios que han fallado en cualquiera de los otros equipos del
cluster. Y cuando el servidor que ha fallado se recupera, los
servicios se migran de nuevo a la máquina original.
Definición Cluster de Alta disponibilidad (III)

u Esta capacidad de los clusters de restablecer en pocos u En general las razones para implementar un cluster de
segundos un servicio, manteniendo la integridad de los alta disponibilidad son:
datos, permite que en muchos casos los usuarios no
tengan por que notar que se ha producido un problema.
v Aumentar la disponibilidad
Cuando una avería de este tipo, en un sistema sin cluster,
podría dejarles sin servicio durante horas. v Mejorar el rendimiento
v Escalabilidad
u La utilización de clusters no solo es beneficiosa para v Tolerancia a fallos
caídas de servicio no programadas, si no que también
es útil en paradas de sistema programadas como v Recuperación ante fallos en tiempo aceptable
puede ser un mantenimiento hardware o una v Reducir costes
actualización software. v Consolidar servidores
v Consolidar el almacenamiento
CONFIGURACIONES DE HA Activo-Activo

u Las configuraciones mas comunes en entornos de


clusters de alta disponibilidad son la configuración
activo/activo y la configuración activo/pasivo.

u Configuración Activo/Activo

v Todos los servidores del cluster pueden ejecutar los mismos


recursos simultáneamente. Es decir, los servidores poseen los
mismos recursos y pueden acceder a estos
independientemente de los otros servidores del cluster.

v Si un nodo del sistema falla y deja de estar disponible, sus


recursos siguen estando accesibles a través de los otros
servidores del cluster.
CONFIGURACIONES DE HA Activo-Pasivo

u Consiste en un servidor que posee los recursos del cluster y


otros servidores que son capaces de acceder a esos recursos, pero
no los activan hasta que el el propietario de los recursos ya no
este disponible.

u Las ventajas de la configuración activo/pasivo son que no hay


degradación de servicio y que los servicios solo se reinician
cuando el servidor activo deja de responder.

u Sin embargo, tiene desventajas: no proporcionan ningún tipo


de recurso mientras están en espera, haciendo que la solución
sea menos eficiente que el cluster de tipo activo/activo. Además
los sistemas tardan un tiempo en migrar los recursos (failover) al
nodo en espera.
FUNCIONAMIENTO

u En un cluster de alta disponibilidad, el software de cluster realiza dos funciones fundamentales.

• Intercomunica entre sí todos los nodos, monitorizando continuamente su estado y detectando fallos.
• Administra los servicios ofrecidos por el cluster, teniendo la capacidad de migrar dichos servicios entre diferentes
servidores físicos como respuesta a un fallo.
RECURSOS Y GRUPOS DE RECURSOS

u Tradicionalmente se entiende como servicio a un conjunto de procesos que se ejecutan en un momento dado
sobre un servidor y sistema operativo. Este último provee a los procesos de los recursos necesarios para realizar su
tarea: sistema de ficheros, interfaces de red, tiempo de cpu, memoria, etc.

u En un cluster de alta disponibilidad, el software de cluster, abstrae e independiza a los servicios de un host
concreto. Posibilitando que estos se desplacen entre diferentes servidores de forma trasparente para la aplicación o
los usuarios.

u El software de cluster permite definir grupos de recursos, que son todos aquellos recursos necesarios por el
servicio. Estos recursos serán los scripts de arranque del servicio, un sistema de ficheros, una dirección IP, etc.
INTERCOMUNICACIÓN

u El software de cluster gestiona servicios y recursos en


los nodos. Pero además, tiene que mantener
continuamente entre estos una visión global de la
configuración y estado del cluster. De esta forma, ante el
fallo de un nodo, el resto conoce que servicios se deben
restablecer.

u Ya que la comunicación entre los nodos del cluster es


crucial para el funcionamiento de este, es habitual
utilizar un canal especifico como una red IP
independiente o una conexión serie, que no se pueda
ver afectada por problemas de seguridad o
rendimiento.
HEARTBEAT

u El software de cluster conoce en todo momento la


disponibilidad de los equipos físicos, gracias a la técnica
de heartbeat.

u El funcionamiento es sencillo, cada nodo informa


periódicamente de su existencia enviando al resto una “señal
devida”.
ESCENARIO SPLIT-BRAIN

u En un escenario split-brain, más de un servidor o


aplicación pertenecientes a un mismo cluster intentan
acceder a los mismos recursos, lo que puede causar
daños a dichos recursos.

u Este escenario ocurre cuando cada servidor en el


clúster cree que los otros servidores han fallado e intenta
activar y utilizar dichos recursos.
MONITORIZACIÓN DE RESULTADOS

u Ciertas soluciones de clustering HA permiten no solo monitorizar si un host físico esta disponible, también pueden
realizar seguimientos a nivel de recursos o servicios y detectar el fallo de estos.

u El administrador puede configurar la periodicidad de estos monitores así como las acciones a llevar a cabo en caso
de fallo.
FAILOVER

u Cuando un nodo ya no esta disponible, o cuando un


recurso fallido no se puede reiniciar satisfactoriamente
en un nodo, el software de cluster reacciona migrando
el recurso o grupo de recursos a otro nodo disponible en
el cluster.

u De este modo el tiempo de inactividad por el posible


fallo es mínimo, y el cluster seguirá proporcionando el
correspondiente servicio.
DEPENDENCIA ENTRE RECURSOS

u Habitualmente para que el cluster proporcione un


servicio, son necesarios no solo un recurso si no varios
(ip virtual, sistema de ficheros, proceso), lo que se
conoce como grupo de recursos.

u Cuando se arranca o detiene un servicio, sus recursos


tienen que activarse en el orden apropiado ya que unos
dependen de otros. El software de cluster tiene que
permitir definir estas dependencias entre recursos así
como entre grupos.
RESOURCE STICKINESS (PREFERENCIA DE
NODOS)

u Es la preferencia de nodos. En configuraciones de


clúster con múltiples nodos, es común distribuir los
servicios a proporcionar entre los diferentes servidores.

u Además puede que los servidores tengan


características hardware diferentes (cpu, memoria ram) y
nos interese que, para un estado ideal del cluster,
determinados servicios se ejecuten siempre en un
determinado servidor.

u Este comportamiento se define mediante la


preferencia de nodo en la definición de cada recurso.
COMUNICACIÓN CON OTROS SISTEMAS

u El clúster tiene que monitorizar no solo que un


servidor y sus servicios están activos, también debe de
comprobar que, de cara a los usuarios, dicho servidor
no queda desconectado de la red por el fallo de un
latiguillo, switch, etc.

u Por lo tanto el software de clúster debe comprobar


que los nodos son alcanzables. Un método simple para
conseguirlo, es verificar que cada nodo tiene accesible
el router o puerta de enlace de la red de usuarios.
FENCING

u En los clusters HA existe una situación donde un


nodo deja de funcionar correctamente pero todavía
sigue levantado, accediendo a ciertos recursos y
respondiendo peticiones. Para evitar que el nodo
corrompa recursos o responda con peticiones, los
clusters lo solucionan utilizando una técnica llamada
Fencing.

u La función principal del Fencing es hacerle saber a


dicho nodo que esta funcionando en mal estado,
retirarle sus recursos asignados para que los atiendan
otros nodos, y dejarlo en un estado inactivo.
QUORUM

u Para evitar que se produzca un escenario de Split-


Brain, algunas implementaciones de cluster HA
introducen un canal de comunicación adicional que
se emplea para determinar exactamente que nodos
están disponibles en el cluster y cuales no.
Tradicionalmente se implementa utilizando los
llamados quorum devices, que habitualmente son un
volumen de almacenamiento compartido exclusivo
(disk heart beating).

u También existen implementaciones que utilizan una


conexiones de red adicional o una conexión serie. Esta
última tiene limitaciones de distancia y actualmente ha
quedado en desuso.

También podría gustarte