Que é RAID?

RAID é unha solución que se desenvolveu originalmente para o mercado de servidores de rede como medio de crear grandes almacenamentos a un custo menor. En esencia, levaría varios discos duros de menor custo e os unirían a través dun controlador para proporcionar unha unidade de maior capacidade. Isto é o que RAID significa: matriz redundante de discos ou discos baratos. Para iso, necesitáronse software e controladores especializados para xestionar a división de datos entre as distintas unidades.

Finalmente, a potencia de procesamento do seu sistema informático estándar permitía que as funcións filtrasen o seu camiño no mercado da computadora persoal .

Agora o almacenamento RAID pode estar baseado en software ou hardware e pode usarse para tres fins distintos. Estes inclúen capacidade, seguridade e rendemento. A capacidade é simple e normalmente toma parte en case todos os tipos de configuración RAID utilizados. Por exemplo, dous discos duros pódense conectar xuntos como unha única unidade para o sistema operativo facendo unha unidade virtual que ten o dobre de capacidade. O rendemento é outro motivo fundamental para usar unha configuración RAID nunha computadora persoal. No mesmo exemplo de dúas unidades que se usan como unha única unidade, o controlador pode dividir un fragmento de datos en dúas partes e despois poñer cada unha destas pezas nunha unidade separada. Isto efectivamente duplica o rendemento de escribir ou ler os datos no sistema de almacenamento. Finalmente, o RAID pode ser usado para a seguridade dos datos.

Isto faise empregando algún espazo no disco para esencialmente clonar os datos escritos en ambas as unidades. Unha vez máis, con dúas unidades podemos facelo para que os datos estean escritos en ambas as unidades. Así, se un disco falla, o outro aínda ten os datos.

Dependendo dos obxectivos da matriz de almacenamento que desexe configurar para o seu sistema informático, utilizará un dos distintos niveis de RAID para acadar estes tres obxectivos.

Para aqueles que usan discos duros no seu computador , o rendemento probablemente vai ser máis un problema que a capacidade. Doutra banda, aqueles que usan unidades de estado sólido probablemente quererán un xeito de tomar as unidades menores e unirlas para crear unha unidade máis grande. Entón, imos ollar os distintos niveis de RAID que se poden usar con unha computadora persoal.

RAID 0

Este é o nivel máis baixo do RAID e en realidade non ofrece ningunha forma de redundancia e é por iso que se refire a un nivel 0. En esencia, RAID 0 leva dous ou máis discos e os únea para fabricar unha unidade de maior capacidade. Isto faise a través dun procesador chamado striping. Os bloques de datos están divididos en anacos de datos e, posteriormente, están escritos en todas as unidades. Isto ofrece maior rendemento porque os datos poden ser escritos simultaneamente ás unidades polo controlador multiplicando efectivamente a velocidade das unidades. Abaixo amósanse un exemplo de como isto podería funcionar en tres discos:

Unidade 1 Unidade 2 Unidade 3
Bloque 1 1 2 3
Bloque 2 4 5 6
Bloque 3 7 8 9


Para que o RAID 0 funcione de forma eficaz para impulsar o rendemento do sistema, necesitará probar e combinar unidades. Cada unidade debería ter a mesma capacidade de almacenamento e características de rendemento exactas.

Se non o fan, entón a capacidade estará limitada a un múltiplo da menor das unidades e rendemento á máis lenta das unidades, xa que debe esperar a que todas as listas sexan escritas antes de pasar ao seguinte conxunto. É posible empregar unidades non coincidentes pero nese caso, unha configuración de JBOD pode ser máis efectiva.

JBOD significa só un grupo de unidades e efectivamente é só unha colección de unidades que se poden acceder de forma independente entre si pero que aparecen como unha única unidade de almacenamento para o sistema operativo. Isto normalmente conséguese tendo a ampliación de datos entre unidades. Moitas veces isto chámase SPAN ou BIG.

De maneira efectiva, a operación veos a todos como un único disco pero os bloques escribiranse a través do primeiro disco ata que se enche, despois avance ata o segundo, despois o terceiro, etc. Isto é útil para engadir capacidade extra nun sistema informático existente e con unidades de varios tamaños, pero non aumentará o rendemento da matriz de unidades.

O maior problema coas configuracións RAID 0 e JBOD é a seguridade de datos. Xa que tes varias unidades, as posibilidades de corrupción dos datos aumentaron porque tes máis puntos de falla . Se algunha unidade nunha matriz RAID 0 falla, todos os datos fican inaccesibles. Nun JBOD, un fallo no disco producirá a perda de datos que pasaron a estar nesa unidade. Como resultado, é mellor para aqueles que queiran usar este método de almacenamento para ter outros medios para facer unha copia de seguridade dos seus datos.

RAID 1

Este é un primeiro nivel verdadeiro de RAID xa que proporciona un nivel completo de redundancia para os datos almacenados na matriz. Isto faise mediante un proceso chamado reflexo. Efectivamente, todos os datos escritos ao sistema copianse en cada unidade nunha matriz de nivel 1. Esta forma de RAID normalmente faise con só un par de unidades como a adición de máis unidades non engadirá ningunha capacidade adicional, só máis redundancia. Para mellor dar un exemplo diso, aquí hai un gráfico que mostra como se escribiría en dúas unidades:

Unidade 1 Unidade 2
Bloque 1 1 1
Bloque 2 2 2
Bloque 3 3 3


Para obter o uso máis efectivo dunha configuración RAID 1, o sistema volverá a usar unidades combinadas que compartan a mesma capacidade e as clasificacións de rendemento.

Se se usan discos desfasados, a capacidade de matriz será igual á menor capacidade do disco na matriz. Por exemplo, se un terabyte e medio e unha unidade de terabyte usáronse nunha matriz RAID 1, a capacidade desta matriz no sistema sería só un terabyte.

Este nivel de RAID é altamente efectivo para a seguridade dos datos porque as dúas unidades son efectivamente as mesmas. Se unha das dúas unidades falla, a outra ten os datos completos do outro. O problema con este tipo de configuración xeralmente é determinando cal das unidades falla porque moitas veces o almacenamento faise inaccesible cando un dos dous falla e non se restaurará correctamente ata que se insire unha nova unidade no lugar do fallo e unha recuperación procesouse o proceso. Como mencionado anteriormente, non hai ningunha ganancia de rendemento a partir diso. De feito, haberá unha lixeira perda de rendemento da sobrecarga do controlador para o RAID.

RAID 1 + 0 ou 10

Esta é unha combinación un tanto complicada de ambos os niveis RAID 0 e nivel 1 . Efectivamente, o controlador necesitará un mínimo de catro unidades para funcionar neste modo porque o que vai facer é facer dous pares de unidades. O primeiro conxunto de unidades é un conxunto espello que clona os datos entre os dous. O segundo conxunto de unidades tamén está reflectido pero configurado para ser a tira do primeiro. Isto proporciona tanto a redundancia de datos como as ganancias de rendemento. A continuación móstrase un exemplo de como se escribirían os datos en catro unidades usando este tipo de configuración:

Unidade 1 Unidade 2 Unidade 3 Unidade 4
Bloque 1 1 1 2 2
Bloque 2 3 3 4 4
Bloque 3 5 5 6 6


Para ser honesto, este non é un modo desexable de RAID para ser executado nun sistema informático. Aínda que proporciona algún impulso ao rendemento, realmente non é tan bo por mor da gran cantidade de gastos indirectos no sistema. Ademais, é un gran desperdicio de espazo xa que a variedade de unidades só combinará na maior parte a metade da capacidade de todas as unidades. Se se usan discos non compatibles, o rendemento estará limitado ao máis lento das unidades e a capacidade só será o dobre da unidade máis pequena.

RAID 5

Este é o nivel máis alto de RAID que se pode atopar nos sistemas dos consumidores e é un método moito máis eficaz para aumentar a capacidade e a redundancia. Consegue isto a través dun proceso de listas de datos con paridade. Un mínimo de tres unidades é necesario para facelo, xa que os datos están divididos en listas en varias unidades, pero un bloque na franxa está reservado para a paridade. Para explicar isto mellor, primeiro dea a vista sobre como se poden escribir os datos en tres unidades:

Unidade 1 Unidade 2 Unidade 3
Bloque 1 1 2 p
Bloque 2 3 p 4
Bloque 3 p 5 6


En esencia, o controlador de disco leva un anaco de datos a escribir en todas as unidades da matriz. O primeiro bit de datos colócase na primeira unidade e o segundo sitúase no segundo. A terceira unidade obtén o bit de paridade que é esencialmente unha comparación dos datos binarios no primeiro e segundo. En matemáticas binarias, tes só 0 e 1. Realizouse un proceso booleano de matemáticas para comparar os bits. Se os dous se suman a un número par (0 + 0 ou 1 + 1) entón o bit de paridade será cero. Se os dous se suman a un número impar (1 + 0 ou 0 + 1) entón o bit de paridade será un. A razón para isto é que, se algunha das unidades falla, o controlador pode descubrir cales son os datos perdidos. Por exemplo, se a unidade falla, deixando só a unidade de dous e tres, ea unidade de dous ten un bloque de datos de un e a unidade de tres ten un bloque de paridade de un, entón o bloque de datos que falta no disco un debe ser cero.

Isto proporciona unha redundancia efectiva de datos que permite restaurar todos os datos no caso de que falle. Agora, para a maioría das configuracións do consumidor, o fallo aínda non producirá o sistema porque non está nun estado funcional. Para que o sistema funcione, é necesario reemplazar a unidade fallida cunha nova unidade. A continuación, debe realizarse un proceso de reconstrución de datos a nivel do controlador que fará unha función booleana inversa para recrear os datos da unidade perdida. Isto pode levar moito tempo, especialmente para unidades de maior capacidade, pero é polo menos recuperable.

Agora, a capacidade dunha matriz RAID 5 depende da cantidade de unidades da matriz e da súa capacidade. Unha vez máis, a matriz está restrinxida pola unidade de menor capacidade na matriz polo que é mellor empregar unidades emparejadas. O espazo de almacenamento efectivo é igual ao número de unidades menos unha vez a menor capacidade. Polo tanto, en términos matemáticos, é (n-1) * Capacitymin . Entón, se tes tres unidades de 2GB nunha matriz RAID 5, a capacidade total sería de 4GB. Outra matriz RAID 5 que usaba catro unidades de 2GB tería 6GB de capacidade.

Agora o rendemento do RAID 5 é un pouco máis complicado que algunhas das outras formas de RAID debido ao proceso booleano que se debe facer para crear o bit de paridade cando os datos están sendo escritos nos discos. Isto significa que o rendemento de escritura será menor que un array RAID 0 co mesmo número de unidades. A lectura do rendemento, por outra banda, non sofre tanto como a escrita porque o proceso booleano non se realiza porque le os datos directos das unidades.

O gran problema con todas as configuracións RAID

Discutimos os distintos pros e contras de cada un dos niveis de RAID que se poden empregar nos ordenadores persoais pero hai outro problema que moitas persoas non se dan conta cando se trata de crear configuracións de disco RAID. Antes de que se poida usar unha configuración RAID, primeiro debe ser construída polo software de controlador de hardware ou dentro do software do sistema operativo. Isto esencialmente inicializa o formateo especial necesario para seguir correctamente como se escriben e lerán os datos na unidade.

Isto probabelmente non soe como un problema, pero si mesmo necesitas cambiar a forma na que desexas configurar o teu RAID array. Por exemplo, digamos que está executando datos baixos e que quere engadir un disco extra para unha matriz RAID 0 ou RAID 5. Na maioría dos casos, non poderá sen volver reconfigurar a matriz RAID que tamén eliminará calquera dos datos almacenados nesas unidades. Isto significa que ten que facer unha copia de seguridade completa dos seus datos, engadir a nova unidade, reconfigurar a matriz de unidades, formatear a matriz de unidades e restaurar os datos orixinais de novo na unidade. Isto pode ser un proceso extremadamente doloroso. Como resultado, asegúrese de que realmente ten a configuración da matriz do xeito que quere a primeira vez que o faga.