RAID y Clusters de Servidores: Fundamentos de Rendimiento y Alta Disponibilidad

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,25 KB

RAID: Almacenamiento Redundante de Discos Independientes

RAID (Redundant Array of Independent Disks) consiste en un conjunto de técnicas, ya sea por hardware o software, que utilizan varios discos para proporcionar principalmente tolerancia a fallos, mayor capacidad y mayor fiabilidad en el almacenamiento. Se trata de un sistema que, distribuyendo o replicando la información entre múltiples discos, consigue una o varias de las siguientes características:

Características Principales de RAID

  • Mayor capacidad: Es una forma económica de conseguir grandes capacidades de almacenamiento. Combinando varios discos de coste moderado, podemos obtener una unidad de almacenamiento con una capacidad mucho mayor que la de los discos por separado.
  • Mayor tolerancia a fallos: En caso de producirse un error en un disco, con RAID el sistema será capaz, en algunos niveles, de recuperar la información perdida y podrá seguir funcionando correctamente.
  • Mayor seguridad: Debido a que el sistema es más tolerante a los fallos y mantiene cierta información duplicada, aumentaremos la disponibilidad y tendremos más garantías de la integridad de los datos.
  • Mayor velocidad: Al tener, en algunas configuraciones, la información distribuida entre varios discos, se podrán realizar operaciones de lectura y escritura simultáneamente, lo que se traduce en una mayor velocidad de acceso.

Niveles de RAID Populares

RAID 0 (Divisionamiento o Striping)

En este nivel, los datos se distribuyen equilibradamente entre dos o más discos. Esta técnica favorece la velocidad, ya que cuando se lee o escribe un dato, la operación se puede realizar de forma simultánea en los diferentes discos. Para un rendimiento óptimo, es recomendable que los discos estén gestionados por controladoras independientes.

RAID 1 (Espejo o Mirroring)

Consiste en mantener una copia idéntica de la información de un disco en otro u otros discos. De esta forma, aunque el usuario ve una única unidad lógica, físicamente los datos se almacenan de forma idéntica y simultánea en dos o más discos. Si se produjera un fallo en uno de los discos, la unidad podría seguir funcionando con el disco restante mientras se sustituye el dañado para reconstruir el espejo.

RAID 5 (Divisionamiento con Paridad Distribuida)

Usa división de datos a nivel de bloques, distribuyendo la información de paridad entre todos los discos miembros del conjunto. El RAID 5 ha logrado gran popularidad gracias a su bajo coste de redundancia y buen equilibrio entre rendimiento, capacidad y seguridad. Generalmente, se implementa con soporte de hardware para el cálculo de la paridad. RAID 5 necesita un mínimo de 3 discos para ser implementado.

Por ejemplo, en una configuración RAID 5, una petición de lectura del bloque «A1» sería servida por el disco 0. Una petición de lectura simultánea del bloque «B1» tendría que esperar, pero una petición de lectura de «B2» podría atenderse concurrentemente, ya que sería servida por el disco 1.

Implementación de RAID en Windows

En sistemas operativos Windows, los volúmenes dinámicos permiten implementar configuraciones RAID por software:

  • Simples: Es un volumen que utiliza espacio de un solo disco físico.
  • Distribuidos: Es un volumen que se crea ocupando espacio de varios discos. Se construye como una concatenación de discos, sin una regla específica sobre cómo se almacenan los datos.
  • Seccionados: Corresponde con el nivel RAID 0.
  • Reflejados: Corresponde con el nivel RAID 1.
  • RAID-5: Corresponde con el nivel RAID 5.

RAID en Windows Server 2008

En la rama de sistemas de servidor de Microsoft, como Windows Server 2008, podemos crear todos los tipos de volúmenes dinámicos mencionados. Por ejemplo, es posible crear un volumen reflejado (RAID 1) para proteger el sistema operativo contra fallos de disco.

Clusters de Servidores

Un clúster es un conjunto de varios servidores que se configuran para trabajar como si fuesen una sola entidad. Es decir, un clúster es un grupo de ordenadores independientes que se unen mediante una red de alta velocidad, de tal forma que el conjunto se percibe como un único sistema, mucho más potente y resiliente que los ordenadores individuales.

Beneficios y Servicios de un Clúster

Hay 4 tipos de servicios principales que ofrecen los clústeres:

  1. Alta disponibilidad: Garantizar que los servicios sigan funcionando incluso si uno o más nodos del clúster fallan.
  2. Alto rendimiento: Aumentar la capacidad de cómputo para procesar tareas complejas en menos tiempo.
  3. Balanceo de carga: Distribuir las peticiones de los usuarios entre los diferentes servidores del clúster para evitar la sobrecarga de un único nodo.
  4. Escalabilidad: Permitir añadir más servidores al clúster de forma sencilla para aumentar su capacidad según crezca la demanda.

Clasificación de los Clústeres

Clústeres de Alto Rendimiento (HPC o High-Performance Clusters)

Este tipo de sistemas ejecutan tareas que requieren una gran capacidad de cálculo o el uso de grandes cantidades de memoria, como simulaciones científicas o renderizado de gráficos.

Clústeres de Alta Disponibilidad (HA o High-Availability Clusters)

Con estos clústeres se busca dotar de máxima disponibilidad y confiabilidad a los servicios que ofrecen, minimizando el tiempo de inactividad.

Clústeres de Alta Eficiencia (HTC o High-Throughput Computing)

En estos sistemas, el objetivo central de diseño es que se pueda ejecutar el mayor número de tareas en el menor tiempo posible, ideal para trabajos por lotes.

Otros

  • Clústeres de infraestructuras comerciales
  • Clústeres políticos

Entradas relacionadas: