Header Ads

Que tipo de RAID você deve usar para seus servidores?

Elya Vatel / Shutterstock

RAID ou “ Matriz redundante de discos baratos, ” é o processo de combinar vários discos rígidos ou SSDs em paralelo como um volume lógico, tornando o array mais resistente a falhas de disco. Existem muitos tipos de RAID e discutiremos qual deles você deve escolher.

O que é RAID?

Digamos que você tenha dois discos rígidos de 1 TB. Em um PC normal, você provavelmente apenas conectaria os dois e teria 2 TB de espaço útil para trabalhar. No entanto, em um ambiente de servidor, é realmente melhor pegar o segundo disco e usá-lo como backup, formando uma matriz RAID. Isso pode ser feito em tempo real com um controlador RAID, que se conecta às unidades e gerencia a matriz RAID para você. Também existe RAID por software, mas a maioria dos servidores virá com um controlador RAID dedicado.

Sem RAID, não há redundância — no entanto, este não é realmente o problema principal. Os dados nunca devem ser perdidos com uma boa estratégia de backup, mas se você perder uma unidade, o servidor pode passar por sérios períodos de inatividade durante a restauração. Isso não é aceitável em um ambiente de servidor e é muito, muito pior do que uma perda temporária de dados.

As matrizes RAID podem ser reconstruídas enquanto ainda são utilizáveis ​​e, quando uma unidade falha, você não precisa restaurar a partir dos backups. Esta é a principal vantagem dos arrays RAID. Os servidores são projetados para nunca ficarem inativos, mesmo para manutenção em muitos casos — Você pode literalmente desconectar uma unidade de um servidor web de produção e ela continuará funcionando, embora com desempenho inferior.

Em muitos aspectos, o RAID é muito melhor do que um grande drive. Uma grande unidade de 8 TB não é tão resiliente quanto cinco unidades de 2 TB configuradas em RAID 5. Será difícil encontrar um servidor que vem com apenas uma unidade instalada.

RAID funciona melhor com unidades idênticas. Ele pode funcionar com várias unidades, mas você normalmente estará limitado à velocidade e ao espaço da menor e mais lenta unidade, tornando-a abaixo do ideal.

Esta discussão toda realmente se aplica se você mesmo estiver gerenciando um servidor, como um NAS doméstico contendo muitos discos rígidos; nesse caso, o tipo de RAID escolhido é muito importante. Se você estiver alugando servidores virtuais da AWS ou basicamente de qualquer outro provedor, o RAID geralmente será configurado para você pela empresa de hospedagem, já que esse nível de controle é abstraído de você.

Uma observação antes de começarmos: os números usados ​​para designar diferentes níveis de RAID não significam nada. O RAID 5 não é cinco vezes melhor do que o RAID 1. Existem outros níveis de RAID estranhos, como RAID 2, 3 e 4, mas eles não são usados ​​na prática e não vale a pena explicar.

JBOD

Wikipedia

Esta não é tecnicamente uma configuração RAID, mas vale a pena mencioná-la aqui. JBOD significa tecnicamente “ Joint Batch Of Disks, ” mas você pode chamá-lo de “ apenas um monte de discos, ” uma vez que basicamente é isso o que é. JBOD simplesmente concatena discos juntos em um grande disco. Isso não oferece nenhuma melhoria de desempenho e não tem nenhuma redundância, mas não se importa em nada com os discos que vão nele.

Muitos controladores RAID oferecem um modo JBOD. Você provavelmente não deveria usá-lo, a menos que tenha obtido vários discos de tamanhos diferentes e queira vinculá-los.

RAID 0

Os dados em RAID 0 são distribuídos em várias unidades; por exemplo, se você quiser ler um arquivo da matriz RAID, você &’ lerá de várias unidades em paralelo, o que torna o RAID 0 muito mais rápido do que qualquer unidade única.

No entanto, não há espelhamento, paridade ou outro mecanismo de redundância, portanto, se uma única unidade falhar, você perderá todos os dados de todo o array. Por causa disso, o RAID 0 é usado quando a velocidade é importante, a redundância não é necessária.

De certa forma, o RAID 0 é muito semelhante a não ter nenhum RAID. Oferece a vantagem de ter todas as unidades em um único e grande volume, bem como velocidades de acesso muito mais altas. No entanto, uma única falha de unidade pode ser catastrófica para os dados no array, portanto, você nunca deve executar o RAID 0 sem uma solução de backup, a menos que os dados sejam 100% efêmeros.

O RAID 0 também maximiza a capacidade, já que nenhum espaço é usado para redundância. Se você tiver dois discos de 1 TB, o tamanho do array será de 2 TB. No entanto, o RAID 0 é limitado ao menor tamanho de disco da matriz — se você tentar RAID 0 em uma unidade de 2 TB com uma unidade de 1 TB, você terá apenas 2 TB de espaço, com 1 TB inteiramente desperdiçado.

RAID 0 com SSDs é comum, e mais razoável considerando que os SSDs têm taxas de falha mais baixas. Esta é uma configuração comum em sistemas de desktop de ponta, já que a velocidade é mais importante do que a redundância.

RAID 1

RAID 1 é outro tipo básico de RAID. Da mesma forma que o RAID 0, ele usa dois ou mais discos, mas em vez de distribuir os dados entre eles, os dados são espelhados da primeira unidade para a segunda (e quaisquer unidades adicionais na matriz). Se você tiver duas unidades, uma delas será usada inteiramente como uma espécie de backup em tempo real, reduzindo pela metade sua capacidade total de armazenamento no processo. Se qualquer uma das unidades chutar o balde, você pode continuar lendo a partir da outra unidade e reconstruir a matriz substituindo a unidade com defeito.

Isso tem alguns benefícios de desempenho de leitura, uma vez que duas unidades podem ser usadas, mas como está lendo os mesmos dados de cada unidade, muitas vezes não é tão bom quanto RAID 0. O desempenho de gravação será limitado à velocidade da unidade mais lenta.

RAID 1 é sua única opção prática se você tiver duas unidades e não puder permitir que uma unidade falhe ao remover seus dados. No entanto, não é o mais eficiente, já que você está reduzindo sua capacidade de armazenamento pela metade e, portanto, custará o dobro do que uma unidade única comparável.

No entanto, a redundância em uma configuração de servidor vale muito mais do que o preço de uma única unidade. Se você precisa apenas de uma configuração de unidade básica, escolha um array RAID 1 simples. A maioria dos controladores RAID assumirá o padrão RAID 1 ao conectar duas unidades.

RAID 5

RAID 5 é onde as coisas começam a ficar interessantes. Em vez de duplicar dados como o RAID 1, o RAID 5 usa um método muito mais eficiente de — paridade.

Paridade é uma forma de verificação de erros, como um hash, mas muito mais simples. É comumente usado para garantir que o tráfego da rede não fique confuso nos fios. Basicamente, digamos que você tenha 7 bits de dados que deseja enviar a alguém e deseja garantir que eles cheguem totalmente intactos. Se um bit fosse invertido na transmissão, eles não teriam como saber. A solução é contar todos os bits positivos; Se houver um número par de unidades, a paridade será 0. Se houver número ímpar de unidades, a paridade será 1. Você adiciona isso aos dados que está enviando, e quando a pessoa do outro final recebe, eles próprios calculam a paridade. Se houver um erro e um bit for invertido (até mesmo o próprio bit de paridade), a outra pessoa saberá e solicitará que os dados sejam reenviados. Obviamente, se houver dois erros em uma única transmissão, o sistema será interrompido, mas isso não é tão comum.

Em vez de armazenar cópias dos dados (o que seria como enviar uma mensagem duas vezes), o RAID 5 simplesmente armazena um bit de paridade. Você pode imaginá-lo como o RAID 0 com redundância — requer um mínimo de três unidades. Todas as unidades, exceto uma, são usadas como uma matriz RAID 0 regular, mas a última unidade é usada para paridade. Se uma das unidades falhar, você pode realizar o cálculo de paridade ao contrário para recuperar todos os dados em qualquer uma das unidades (embora esta seja uma operação longa e intensa).

Na prática, o RAID 5 não usa uma unidade dedicada para paridade, pois é mais rápido distribuir os bits de paridade em todas as unidades, mas você pode pense nisso desta forma ao calcular quanto espaço um arranjo RAID 5 lhe dará. Basicamente, some todas as suas unidades, exceto uma, e isso é quanto espaço você terá. RAID 5 torna mais eficiente o espaço com mais unidades — três unidades são 66% de eficiência, mas 10 unidades são 90% de eficiência. Isso reduz os custos drasticamente em relação ao RAID 1.

No entanto, o RAID 5 não é isento de desvantagens. Como a paridade deve ser calculada sempre que a unidade é gravada, o desempenho de gravação é reduzido. O problema é ampliado quando você leva em consideração o fato de que inverter um único bit em uma unidade requer que todas as unidades sejam lidas para recalcular a paridade para aquele bloco. Na prática, se o RAID 0 fornece escalonamento de desempenho com n unidades, o RAID 5 fornece desempenho n - 1 para operações de gravação. Com uma matriz grande o suficiente, porém, o problema não é tão ruim.

Além disso, não importa quantas unidades você tenha, você só pode sobreviver a uma falha de unidade. Isso não pareceria um grande problema, uma vez que as falhas são incomuns e é improvável que você experimente duas delas ao mesmo tempo, mas reconstruções de matrizes podem ser muito intensas em suas unidades — você &’ basicamente lendo cada bit de dados de cada um, no momento em que estão mais vulneráveis. Portanto, se um deles falhar, haverá uma chance maior de que outra unidade também possa falhar.

O RAID 5 deve ser sua opção preferida se você tiver três unidades, pois o RAID 1 seria uma perda de espaço. Se você tiver 4 unidades, provavelmente ainda é a melhor opção, mas as outras duas opções nesta lista também estão disponíveis para você.

RAID 6

O RAID 6 é como o RAID 5, exceto o “ disco de paridade ” é espelhado. Isso permite que seu array sobreviva a duas falhas de unidade. No entanto, o desempenho de gravação é pior em n - 2 e, é claro, você terá menos espaço.

Não há realmente muito mais a dizer sobre isso. Se você tem uma grande variedade de unidades (6, 8 ou mais), pode considerar o RAID 6 por sua redundância extra. O RAID 6 sozinho cumpre a primeira parte da estratégia de backup 3-2-1 — armazenar pelo menos três cópias de seus dados, com dois backups em mídias diferentes, com pelo menos um deles localizado fora do local. O RAID 6 pode sobreviver a duas falhas de unidade, tornando-o funcionalmente igual ao RAID 1 com três discos (menos os tempos de reconstrução).

Na prática, o RAID 6 quase nunca experimentará uma falha total do array, especialmente se você adicionar mais discos de paridade à equação. Isso, combinado com backups e cópias em outros datacenters, é como serviços de arquivamento como AWS Glacier e Backblaze alcançam durabilidade de 99,999999999%.

RAID 10 (1 + 0)

O RAID 10 é tecnicamente uma forma de RAID aninhado, que é outra coisa complicada. Basicamente, se você tem quatro unidades e não deseja usar RAID 5 ou 6, suas únicas outras opções são RAID 0 e 1, que têm seus problemas. Em vez disso, você divide essas unidades ao meio, faz duas matrizes RAID 1 e, em seguida, pega essas matrizes e as usa para fazer uma grande matriz RAID 0. RAID 10 requer pelo menos quatro unidades e também requer um número par de unidades totais.

Isso lhe dá todos os benefícios do RAID 1 e RAID 0 sem muitas desvantagens — velocidades de leitura rápida, velocidades de gravação rápidas, alta redundância e reconstruções fáceis, embora ainda seja capaz para usar metade do espaço total de todas as suas unidades. O RAID 10 é, na verdade, mais resiliente do que o RAID 1. No diagrama acima, o Disco 1 e o Disco 3 podem falhar e a matriz ainda pode ser totalmente reconstruída (embora se o Disco 0 e o Disco 1 falharem, essa matriz é irrecuperável). p>

RAID 10 é um nível RAID muito comum para servidores. É muito rápido e pode sobreviver, no mínimo, a uma falha de unidade. O único problema real é o preço, já que você ainda está pagando o dobro para manter cópias de todos os seus dados, mas para cargas de trabalho gerais, o RAID 10 supera quase todas as outras configurações de RAID em velocidade, perdendo apenas para RAID 0 em rendimento.

RAID 50/60

RAID 50/60 é basicamente dois arrays RAID 5 ou 6 em RAID 0. Isso melhora o desempenho assim como o RAID 10, o que é mais importante melhorando o desempenho de gravação, já que a leitura de outras unidades ao calcular a paridade é mais rápida.

Requer pelo menos seis unidades (oito no caso do RAID 60) e, uma vez que existem matrizes RAID 5 separadas, você precisará de unidades de paridade adicionais, tornando-as menos eficientes em termos de espaço, mas um pouco mais resilientes. No geral, o RAID 50 é basicamente uma versão com melhor desempenho do RAID 5.

Nenhum comentário