SISTEMAS TOLERANTES A FALLOS y SISTEMAS REDUNDANTES...By Duk3

Sistemas tolerantes a fallos

Los sistemas tolerantes a fallos pueden ser tan sencillos como usar duplicidad de elementos hardware, y tan complejos como redes enteras completamente replicadas en tiempo real entre dos ubicaciones físicamente distintas.
Veamos algunos ejemplos de sistemas tolerantes a fallos:

i) Duplicidad de hardware: instalar dos tarjetas de red en un equipo, o disponer de dos equipos idénticos con el mismo sistema operativo y aplicaciones instalados, constituye un ejemplo muy básico de sistema tolerante a fallos; en el primer caso si falla la tarjeta podemos configurar las aplicaciones y servicios para que utilicen la otra, en el segundo además de reconfigurar necesitaríamos recuperar datos y configuraciones que podrían estar sólo actualizados en uno de los equipos, por lo tanto ninguno de los dos nos da una disponibilidad del 100 %, pero sin duda aumentan el nivel de disponibilidad con respecto a no hacer nada.
ii) Sistemas redundantes: los sistemas redundantes se basan también en el uso de la duplicidad de hardware, pero de una manera gestionada e inteligente; cuando en un sistema redundante falla uno de los elementos físicos redundados el sistema puede seguir en funcionamiento, y además no se produce parada en ningún momento, ni es necesario realizar reconfiguración alguna.

Sistemas redundantes

Los sistemas redundantes más habituales son aquellos en los cuales un equipo crítico tiene duplicados, o triplicados, los componentes hardware que son más susceptibles de fallo, como pueden ser: discos duros, fuentes de alimentación, ventiladores, tarjetas de red, módulos de memoria...
Normalmente todos los equipos de tipo servidor específico contienen alguno o todos estos elementos redundantes, pero también algunas workstations; por supuesto un NAS profesional, o los componentes de una SAN, deben tener redundados los discos, pero es muy habitual que también tengan redundadas las fuentes; lo mismo es aplicable a los switches y otros dispositivos de red centrales.
Nota: es muy recomendable usar sistema redundantes en aquellos puntos de la red únicos por los que debe pasar todo el flujo de información; a este tipo de equipos en una red se les denomina puntos únicos de fallo o SPOF (Single Point Of Failure)
En algunos casos la redundancia de componentes se consigue exclusivamente mediante el uso de hardware: es el caso, por ejemplo, de la fuentes de alimentación: para el sistema operativo que se ejecuta en el equipo redundado es indiferente que la fuente esté o no redundada.
En otros casos sin embargo esto no es posible, y se requiere del uso de software adicional para proporcionar la redundancia; por ejemplo: disponer de dos discos en un sistema no sirve de nada si la información no está actualizada y sincronizada en ambos discos, ya que al producirse el fallo de un disco tendríamos un sistema con otro disco y capaz de seguir trabajando, pero sin datos válidos, con lo cual el efecto sería el mismo que si el sistema no estuviera redundado.

RAID

RAID son las iniciales de Redundant Array of Independent Disks, o sea, matriz redundante de discos independientes.
En esencia es un grupo de discos duros que en vez de conectarse por separado a un sistema operativo se conectan juntos, de tal manera que el sistema sólo ve un disco (volumen RAID), aunque sean varios.
Al usar un RAID el sistema operativo escribe, y lee, la información en el volumen RAID de la misma manera que lo haría en un único disco duro; el RAID se encarga de escribir esa información físicamente en los discos implementando, habitualmente, algún algoritmo de réplica de la información.
Nota: aunque el RAID se diseñó para obtener redundancia, hay algunos sistemas RAID que carecen de redundancia, y están orientados a obtener mayor rendimiento en lectura o en escritura, o a presentar al sistema la suma de la capacidad de varios discos como si fuera un sólo disco más grande.
Los discos de un RAID pueden ser discos normales, aunque se suele recomendar el uso de discos de gama empresarial de los distintos fabricantes , más rápidos y con menores tasas de errores de funcionamiento.
Para que las operaciones de lectura y escritura sean transparentes para el sistema operativo se necesita una controladora a la que se conectan los discos (en vez de directamente al sistema como se haría con discos normales), y drivers específicos de la controladroa RAID.
Atendiendo a esta necesidad los sistemas RAID pueden ser de 3 tipos:

i) RAID por hardware dedicado: utiliza controladoras específicamente diseñadas para implementar la función de RAID; disponen de procesador y memoria propios, y algunas incluso de batería; no solamente no afectan al rendimiento del sistema, sino que es posible configurarlas para que lo mejoren mucho.
ii) RAID por hardware integrado en placa base: todo el hardware y la lógica de control del RAID se basa en el uso de los recursos del propio sistema (procesador y memoria), aunque sin que intervenga el sistema operativo; esto penaliza el rendimiento global del sistema, aunque menos que el RAID por software. La placa base debe soportarlo, y en caso de fallo de la placa base puede ser complicado recuperar la información sino se dispone de otra igual o similar.
iii) RAID por software: algunos sistemas operativos, como algunas ediciones tanto de las plataformas servidor como las cliente de Microsoft, soportan la combinación de varios discos en un sólo volumen que implemente algún tipo de nivel de RAID. Este sistema es el menos recomendable desde todos los puntos de vista.
Nota: es errónea, y peligrosa, la idea de que al disponer de un sistema con RAID no es necesario una copia de seguridad, ya que los datos nunca se van perder. Efectivamente es muy difícil que en un sistema RAID se pierda la información (deberían producirse múltiples fallos simultáneos), pero el RAID no evita la pérdida de datos en caso de siniestro (robo, incendio...); también es importante tener en cuenta que el RAID redunda la información que tenemos, sea esta correcta o no, y las operaciones que hacemos sobre esa información; es decir, si un virus borra la información la borra del RAID, si accidentalmente perdemos una carpeta, el RAID también la pierde, y si después de un mes de trabajo decidimos que queremos volver al estado anterior de un ficheros de Excel no lo vamos a encontrar en el RAID (a no ser que tengamos activada la característica de versiones integrada en Windows). Un RAID es un sistema de alta disponibilidad, nunca un sistema de copia de seguridad, aunque si hay sistemas de copia de seguridad que implementan RAID en sus componentes físicos como medida adicional de protección.
El RAID puede configurarse de varias formas, llamadas niveles de RAID, y cada una de ellas tiene sus ventajas y sus desventajas. Veamos algunos de los niveles de RAID más frecuentes:

i) RAID 0: también llamado strip; presenta al sistema un único disco con capacidad igual a la suma de los discos que forman el strip; no tiene redundancia, pero sin un gran rendimiento; mínimo dos discos.
ii) RAID 1: también llamado mirror o espejo; todos los discos contienen la misma información; soporta el fallo de un disco; es costoso, ya que de la capacidad total de almacenamiento disponible el 50% no se puede usar. Mínimo dos discos, preferiblemente iguales, aunque no necesariamente (el volumen RAID será del tamaño del menor de ellos). Con respecto a un sólo disco tiene mejor rendimiento en lectura y peor en escritura.
iii) RAID 5: soporta el fallo de un disco, pero sin ser tan costoso como el RAID 0; sólo puede obtenerse a partir de, como mínimo, tres discos iguales. La capacidad de almacenamiento que se pierde, para obtener redundancia, es el equivalente a un disco entero, por lo tanto cuanto más discos existan más rentable es el RAID. Con respecto a un sólo disco tiene mejor rendimiento en lectura; en escritura el rendimiento depende de la información a escribir.
iv) RAID 10: combina dos volúmenes RAID 0 sin redundancia, pero de alto rendimiento, en un RAID 1, obteniendo así redundancia.

Figura 1.- Servidor con varios niveles de RAID configurados
Nota: el impacto de la configuración RAID sobre el rendimiento de un sistema puede llegar a ser crítico, para bien o para mal. Es muy importante asesorarse bien a la hora de elegir el sistema RAID para un determinado uso, especialmente en el caso de bases de datos.

Sustitución en caliente

Dos conceptos a tener en cuenta a la hora de hablar de alta disponibilidad, y de sistemas tolerantes a fallos, son los de sustitución en caliente, también llamado hot-swap, y conexión en caliente, también llamado hot-plug. En ambos casos se trata de la posibilidad de realizar operaciones de mantenimiento hardware (como sustitución de un componente redundado que ha fallado, o ampliación de capacidad) sobre un sistema que está activo sin tener que apagarlo. Esto evidentemente aumenta el nivel de disponibilidad....

to be continued !!!!

Duk3!!!

Entradas populares de este blog

SHELLCODES por un tubo ....

Proteger ASP.NET de inyecciones SQL How T0? BEST PRACTICES

CERTIFICACIONES DE SEGURIDAD