Sistemas RAID

De Manuais Informática - IES San Clemente.
Revisión del 16:01 23 dic 2017 de Vieites (discusión | contribs.) (→‎Software para facer RAID)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Introdución

  • RAID (Redundant Array Of Independent/Inexpensive Disks) é un termo inglés que fai referencia a un conxunto de discos redundantes independientes/baratos.
  • Estes dispositivos utilízanse para:
  • Aumentar a integridade dos datos nos discos.
  • Mellorar a tolerancia a fallos e erros.
  • Mellorar o rendemento.
  • Inicialmente un sistema RAID era un conxunto de discos redundantes económicos.
  • Oficialmente os sistemas RAID impleméntanse en 7 configuracións ou niveis: de RAID 0 a RAID 6.
  • Tamén existen combinacións de niveles de RAID, as combinacións mais comúns son RAID 10, RAID 01, RAID 50 e RAID 60.
  • Os sistemas RAID son normalmente implementados con discos da mesma capacidade.
  • A nivel comercial podemos atopar os seguintes: RAID 0, RAID 1, RAID 1E, RAID 3, RAID 5, RAID 5EE, RAID 6, RAID 10, RAID 50 e RAID 60. E tamén moitos sistemais RAID propios de cada fabricante.
  • Antes de gardar a información esta dividirase en porcións dun tamaño fixo e, normalmente, configurable denominado banda (stripe). O tamaño habitual da banda será de 64KB ou 128KB.
  • Enlaces interesantes:

RAID 0 ou Striping (Separación ou Fraccionamento)

  • Os datos fracciónanse en bandas e vai gardándose cada banda en cada un dos discos duros que forman o array de xeito secuencial.
  • Esta implementación RAID non fai ningún tipo de "redundancia" de datos, polo que se se avaría un dos discos duros do array todos os datos se perderán.
  • Máxima capacidade e Baixo custe pois non se desaproveita nada da capacidade total dos discos duros.
  • Accesos de Lecturas e de Escrituras moi altos, pois iso é xustamente o que se busca.
Raid0.jpg

Resumindo:

  • Uso: Axeitado para situacións nas que os datos non sexan críticos, como vídeo e audio en post-produción, imaxes multimedia, CAD, rexistro de datos, etc, onde non importe perder os datos xa que estes se poden recuperar. Só se recomenda RAID 0 se queremos acadar gran velocidade de E/L.
  • Pros:
-Rápido e barato.
-Pódese utilizar toda a capacidade da unidade.
-Rápida de configurar.
-É o máis rápido de todos os RAID.
  • Contras:
-RAID 0 non proporciona protección de datos en absoluto.
-Se unha unidade se estropea, todos os datos se perderán sen posibilidade de recuperación.

RAID 1 ou Mirroring (Espello)

  • Como o seu nome di, trátase de ter dous discos exactamente iguais.
  • Con esta implementación conséguese alta seguridade nos datos, pois se se avaría un dos discos sempre nos quedará o outro ata que poidamos facer o cambio do defectuoso.
  • Neste tipo de RAID pérdese a metade da capacidade total, polo que o custo é moi alto (aproveitamento do 50%).
  • A lectura dos datos mellórase pois se a controladora RAID o permite pode balanceala entre os discos que forman o array.
  • Na escritura non se mellora nin se perde velocidade con respecto a ter un disco só.
Raid1.jpg

Resumindo:

  • Uso: Polo xeral só se utiliza en casos onde non hay unha gran necesidade de capacidade, pero o usuario quere asegurarse de que os datos son 100% recuperables no caso dun faio da unidade, tales como os sistemas de contabilidade, edición de vídeo, xogos, etc.
  • Pros:
- Moi redundante. Cada unidade é unha copia da outra.
- Se unha unidade falla, o sisema continúa de forma normal sen perda de datos.
  • Contras:
- Custo alto, pois perdemos o 50% das unidades dispoñibles.
- Non se mellora moito o rendemento (só nas lecturas).

RAID 3 ou Striping cun Disco adicado á Paridade

  • Utilízase moi pouco na práctica.
  • Neste caso, hai que matizar que, cada un dos bloques da imaxe son moi pequenas, sendo un byte ou unha palabra. Polo que unha única unidade de información estaría gardada en bytes que ocuparían parte de todos os discos.
  • Precísanse 3 ou mais discos duros reais (ata 16 discos como moito), estando un deles adicado a gardar a paridade calculada.
  • Non emprega códigos de corrección de erros, emprega simples paridades, asegurando así a avaría dun único disco.
  • De cada conxunto de discos pérdese un disco para a paridade así, loxicamente, a porcentaxe de espazo perdido é menor cantos mais discos se empreguen (con 3 discos, que é o mínimo, a porcentaxe de aproveitamento é do 67%).
  • É máis lento que o RAID1 e o RAID0, sobre todo se se trata de arquivos pequenos. Pero podería ser utilizado para conseguir tasas de transferencia de datos altas de arquivos grandes.
  • Pescozo de botella no disco de paridade.
Raid3.jpg

RAID 5 ou Striping coa Paridade Distribuída

Nota: RAID 4 funciona exactamente igual a RAID 5, pero con un único disco adicado á paridade. RAID 4 non se emprega na práctica.
  • Precísanse 3 ou mais discos duros reais.
  • Funcionamento de traballo similar a RAID 3, pero, neste caso a paridade se distribue por todos os discos e tamén que, neste sistema RAID, os bloques son bandas (stripes) e non simples bytes ou palabras.
  • Mellora a RAID 3 en que agora os datos se gardan en bandas e así a lectura de pequenos arquivos non ten por que requirir a utilización de todos os discos.
  • Corrixido o pescozo de botella de RAID 3 e RAID 4 pois agora a paridade xa non se garda nun único disco.
Raid5.jpg


Aprende.png
Nota

A medida que o número de discos nun conxunto RAID crece, o MTBF (Tempo Medio Entre Faios), faise máis crítico que en sistemas dun único disco. Isto sucede cando a probabilidade de que falle un segundo disco dos N-1 discos restantes, dun conxunto de N discos no que xa faiou un, no tempo necesario en detectar, cambiar e recrear o disco avariado, é maior que a probabilidade de que faie un único disco (Seagate emprega outro parámetro para indicar este concepto, o AFR - Annualized Failure Rate, e ambos están relacionados, tal e como se indica no seguinte enlace).

Resumindo:

  • Uso: A menudo utilízase en servidores de arquivos, servidores de almacenamento xerais, servidores de respaldo, datos de streaming e outras contornas que requiren un bo rendemento cun prezo razonable. Non é recomendable para aplicacións de bases de datos polo baixo rendemento de escritura aleatoria.
  • Pros:
- Boa relación calidade-prezo para moitas situacións.
  • Contras:
- Pérdese unha unidade de "paridade".
- Só soporta o fallo dunha unidade.
- Se fallan dúas unidades á vez, pérdense todos os datos.

Unha configuración moi típica a ter en conta é implementar un RAID 5 e deixar un disco duro de reserva (hot-spare drive).

Raid5hotspare.gif

RAID 5EE ou RAID 5 Hot Space

  • Trátase de implementar un RAID 5 cun disco en hot-spare pero o espazo dese disco distribúese polos N+1 discos do array.
  • Isto fai que o sistema sexa un pouco mais rápido á hora das lecturas e escrituras.
  • Ten como problema que o disco en hot-spare estase empregando para ese array RAID 5EE determinado, polo que non se podería compartir para varios RAID 5 como se fai moitas veces.
  • Tamén baixa a eficiencia á hora do aproveitamento da capacidade total, pois para un RAID 5EE de 3+1 o aproveitamento será do 50% e de 16+1 só chegaría ao 88%.
  • Este sistema segue soportando o faio dun só disco do array.
Raid5ee.jpg

RAID 6 ou Striping with dual parity

  • RAID 6 amplía o nivel RAID 5 engadindo outro bloque de paridade.
  • RAID 6 é un caso especial do código Reed-Solomon con 2 bloques de redundancia.


Aprende.png
Reed-Solomon

Os códigos Reed-Solomon son códigos correctores de erros. Trátase de códigos nos que a información é torada en "N bloques" e, a partires da mesma, xéranse "X bloques" de redundancia adicional. O "receptor" pode reconstruír os "N bloques" de información orixinais a partires dos "N+X bloques" de datos transmitidos, sempre que non se borrasen ou se corrompesen mais de "X bloques". O número de bloques "X" de redundancia xerados é un parámetro da codificación, axustable segundo as nosas necesidades.

  • Como no caso de RAID 5 no RAID 6 a redundancia distribúese por todos os discos duros que comprenden o RAID.
  • A capacidade de datos dunha implementación RAID 6 é de (NºDeDiscos-2) x (Capacidade de cada Disco).
  • O número mínimo de discos duros para a implementación de RAID 6 é de 4 discos duros, o número máximo será de 16.
  • Vese que RAID 6 non é eficiente cando o número de discos empregados é pequeno pero, se o número de discos crece a perda de capacidade de almacenamento faise menos importante ao mesmo tempo que aumenta a probabilidade de que dous discos faien simultaneamente.
  • O RAID 6, como o RAID 5, non penaliza o rendemento das operacións de lectura, pero si as de escritura (e mais que o RAID 5) debido ao proceso que esixen os cálculos adicionais de paridade.

Uso: Similar a RAID 5, incluíndo servidores de arquivos, servidores de almacenamento de copias de seguridade, servidores en xeral, etc. Ter en conta que o rendemento de escritura aleatoria é baixo polo que RAID 6 non é axeitado para servidores de bases de datos.

Pros:

- Ten un prezo razonable (pérdense dous discos) para o rendemento que ofrece.
- Pode recuperarse do fallo de dúas unidades ao mesmo tempo. Tamén, claro está, no caso do fallo dunha unidade e dunha segunda no momento de recostrución dos datos.

Contras:

- Require máis procesamento que o RAID 5 debido ao cálculo da segunda paridade.
- En xeral, máis lento que o RAID 5.
Raid6.jpg

Aprende.png
RAID 5 ou RAID 6

O RAID 6 proporciona protección contra fallos dobres de discos e contra fallos cando se está reconstruíndo un disco. No caso de que o número de discos que precisemos non sexa elevado, mellor que pasarnos a RAID 6 será empregar RAID 5 cun disco de reserva (hot spare) para non penalizar os procesos de escritura de datos.

RAID 1+0 ou RAID 10

  • Precísanse 4 ou mais discos duros reais (sempre número par)
  • Pódense avariar sen perda de datos dende 1 disco duro ata N/2, pero neste caso unhas combinacións deles determinadas (non calquera, por exemplo para 4 discos temos 8 combinacións distintas de 2 discos avariados sen que se perdan datos)
  • Lecturas moi rápidas
  • Nas escrituras non se gaña en velocidade pero tampouco se perde, pois non é preciso calcular ningún tipo de paridade
  • Pérdese o 50% da suma do tamaño total dos discos (sempre que estes sexan de igual capacidade).
  • RAID 10 vs RAID 01
RAID10-3Discos.png

Uso: Ideal para servidores de bases de datos e calquera sistema con moitas escrituras aleatorias e pequenas.

Pros:

- Rápido e redundante.

Contras:

- Moi caro porque require catro unidades de disco como mínimo e perde sempre a metade.
- Non é axeitado para almacéns de datos moi grandes nos que existe restricións de custo.
- Non é tan rápido como o RAID 5 na maioría dos escenarios.

RAID 1E ou Striped Mirroring

  • Trátase de facer un RAID 1 con un número impar de discos.
  • Esta implementación foi proposta inicialmente por IBM.
  • Como en RAID 10 non é preciso calcular ningún tipo de paridade.
  • Con esta implementación non se perden datos se se avaría dende 1 disco ata N/2 sempre e cando se cumpran unha serie de combinacións determinadas (o cálculo do número máximo de combinacións é un pouco complicado pero, por exemplo, para 5 discos son 10 combinacións distintas).
Raid1E.jpg

Resumindo:

  • Uso: Os pequenos servidores, estacións de traballo de gama alta e outras contornas sen grandes requisitos de capacidade, pero nos que o usuario quere asegurarse de que os datos son 100% recuperables no caso dun fallo do disco.
  • Pros:
- Redundante cun mellor rendemento que o RAID 1. O RAID 1E non é outra cousa que un espello cun número impar de unidades.
  • Contras:
- O coste é alto, xa que só a mitade da capacidade das unidades físicas está dispoñible.

RAID 50

  • Combinan múltiples conxuntos RAID 5 con un array RAID 0.
  • Sen dúbida, con esta implementación, gáñase moita velocidade de lectura e escritura, aínda que hai que ter en conta o cálculo da paridade na implementación do RAID 5.
  • Como mínimo precísanse 6 discos e sempre se perden 2 discos á hora de gardar os datos (dende un 67% ata un 94% de aproveitamento do espazo dispoñible, pensando en sistemas 50 de 2 patas (legs)).
  • Para sistemas de máis de 2 patas, pérdese 1 disco por cada unha.
RAID 50 con 2 Legs

Uso: sistema RAID válido para os casos nos que moitas unidades deben estar nunha única matriz de discos, pero non queremos perder tanto espazo como se implementásemos un RAID 10. Un exemplo sería servidores de moita capacidade.

Pros:

- Prezo razonable para os beneficios que acadamos.
- Moi bo funcionamento para todo tipo de escenarios, especialmente cando se require unha grande transmisión de datos.

Contras:

- Require unha grande cantidade de unidades (6 como mínimo).
- É un pouco máis cara que un RAID 5, pois se perden 2 unidades.

RAID 60

  • Funciona exactamente igual que o RAID 50 pero implementando dobre paridade.
  • Como mínimo precísanse 8 discos para ser implementado.
  • Pérdense 4 discos para calquera número deles empregados.

Uso: RAID 60 é similar a RAID 50, pero ofrece máis redundancia, polo que é moi bo para servidores moi grandes, especialmente aqueles nos que non se teña pensado facer copias de seguridade (un exemplo sería un servidor de video de vixilancia cun grande número de cámaras).

Pros:

- Soporta fallos de 2 discos en cada unha das dúas matrices de discos. Polo que é moi seguro.
- Ofrece moi bo funcionamento perdendo só 4 discos de capacidade. Pero, hai que ter en conta que este sistema RAID empregarase se, de verdade, temos un sistema con moitas unidades.

Contras:

- Require unha grande cantidade de unidades.
- É un pouco máis pesado que o RAID 50 debido ao pesado cálculo de esa segunda paridade.
RAID 60 de 2 Patas (Legs)
RAID 60 de 3 Patas (Legs)

JBOD

Non é un sistema RAID:

  • JBOD son as siglas da expresión "Just a Bunch Of Disks" (Só un Montón de Discos).
  • Trátase da concatenación de discos duros para formar un único disco lóxico sen facer uso do sistema RAID.
  • JBOD é un array de discos duros sen tolerancia a fallos e emprégase para combinar discos duros de pequeno tamaño nun disco virtual mais grande (por exemplo os discos duros de 3 GB, 15 GB, 5.5 GB e 12 GB fan un de 35.5 GB), coa vantaxe de que (a diferenza de RAID 0) un fallo nun dos discos non supón a perda dos datos gardados no resto.
  • Algúns sistemas operativos empregan funcións de software para a concatenación de discos duros similares ao sistema por Hardware JBOD, como por exemplo Logical Volume Manager (LVM) e Logical Storage Mnager (LSM) para sistemas UNIX ou baseados en UNIX e spanning dynamic disks no caso de Windows.

Jbod.jpg

Hardware para facer RAID

Hoxe en día, có abaratamento do hardware, é moi común facer RAID con varios discos duros para beneficiarse destes sistemas de almacenamento de datos. Para facer RAID temos, tanto tarxetas de expansión para tal efecto de distintos fabricantes como Adaptec, Promise, HP,...; como unha placa base, pois a maioría das placas base actuais tamén nos permiten facer RAID con discos duros SATA, para conseguilo traen integrado un controlador para tal efecto. Ter unha placa con RAID integrado para facer prácticas no taller é un xeito barato e sinxelo de introducir ós alumnos neste sistema tan estendido hoxe en día, pois calquera placa de coste medio implementa RAID 0, RAID 1, RAID 5, RAID 10 e JBOD.

- Resumen RAID de Adaptec.

Software para facer RAID --- Non rematados os contidos ---


-- Volver