Desempenho prático de RAID?

8

Sempre achei que o seguinte é uma regra geral para o RAID:

  • RAID 0: melhor desempenho para READ e WRITE da decapagem, maior risco
  • RAID 1: redundante, decente para READ (acredito que possa ler de diferentes partes de um arquivo de discos rígidos diferentes), não é o melhor para WRITE
  • RAID 0 + 1 (01): combina a redundância do RAID 1 com o desempenho do RAID 0
  • RAID 1 + 0 (10): versão ligeiramente melhor do RAID 0 + 1
  • RAID 5: bom desempenho de LEITURA, desempenho ruim de GRAVAÇÃO, redundante

ESTÁ ASSUNTO CORRETO? (e como eles se comparam a uma configuração do JBOD para desempenho de I / O R / W)

Algumas configurações práticas de RAID são melhores para diferentes aplicativos: jogos, edição de vídeo, banco de dados (Acccess ou SQL)?

Eu estava pensando em unidades de disco rígido, mas isso também se aplica a unidades de estado sólido?

    
por wag2639 02.06.2010 / 08:38

3 respostas

12

Raid 0 . Ótima leitura e velocidade de gravação. O risco de falha aumenta à medida que o número de discos do membro aumenta. Sem paridade.

Raid 1 . Grande velocidade de leitura somente se o driver for implementado corretamente - Se você usar os controladores RAID Areca e LSI, eles podem fornecer quase a mesma capacidade de leitura para conjuntos Raid 1 que conjuntos Raid 0 (dentro de 10%). Observe que, para as soluções de invasão de software, existem dois tipos: software do SO e software da placa-mãe.

A maioria dos Raid do tipo placa-mãe não oferece um bom desempenho de leitura do Raid 1. A última vez que verifiquei o Windows e o Linux também não teve uma boa implementação das leituras do Raid 1. O BSD implementou corretamente a Raid 1 usando o método de leitura roundrobin.

Em suma, use Raid 1 para redundância e para velocidade de leitura, se você usar controladores avançados.

Raid 1/0 & Raid 0/1 . Isso é uma coisa de combinação. Digamos que você tenha 10 discos. Raid 1/0 é que há espelho em cada set: Set A (1 + 2), Set B (3 + 4), Set C (5 + 6), Set D (7 + 8), Set E (9+ 10), em seguida, faça uma faixa nos 5 conjuntos (AE). Dessa forma, cada conjunto pode ter uma falha na unidade, mas se duas unidades falharem no mesmo conjunto, você estará pronto.

Raid 0/1 é que o set de strip A (1 + 2 + 3 + 4 + 5) e set B (6 + 7 + 8 + 9 + 10) espelham os dois conjuntos. Dessa forma, se a unidade 2 e a unidade 9 falharem, a maioria dos controladores considera isso como uma falha total (que, na verdade, você ainda tem todos os dados).

Há pouca diferença de desempenho entre os dois, mas eu não acho que você normalmente obtenha ambos de um controlador Raid.

Raid 5 . um pacote muito misturado: para leituras sequenciais, é mais rápido que o raid 1/0, e para leitura aleatória é um pouco mais lento que isso. Note que o desempenho do ataque 5 é muito dependente da velocidade do controlador (por exemplo, você não pode esperar muito no ataque a bordo).

Raid 6 . Redundância aumentada comparada com Raid 5. duas unidades podem falhar a qualquer momento, e quando a reconstrução da matriz após 1 unidade falhar ainda há redundância (observe que quando a unidade raid 5 falhou, a matriz é semelhante a raid 0 - qualquer falha na unidade = perda total ).

JBOD . Nenhuma vantagem que eu possa pensar.

    
por 08.06.2010 / 05:23
2

Como sua pergunta implica, não há realmente uma configuração "melhor" de RAID, apenas melhor para um conjunto particular de circunstâncias, com o custo muitas vezes sendo um dos fatores mais importantes.

Sem entrar nas minúcias de controladores e software, aqui estariam minhas regras práticas.

O RAID 0 é o mais rápido, já que você pode ler e gravar em vários discos de uma só vez, e nenhum espaço é "desperdiçado" para redundância. Perca qualquer disco e você perderá o conjunto, portanto, o RAID 0 só deve ser usado em uma máquina com a qual você não se importa, ou é fácil de restaurar e não contém dados que você valoriza. Uma máquina de jogos pode se encaixar nesse cenário, embora, honestamente, a diferença de velocidade não seja tão perceptível que eu estaria disposto a aceitar o aumento do risco de ter que reconstruir a máquina. Também pode ser útil para áreas de "scratch" realmente rápidas se você tiver um software que precise desse tipo de coisa.

O RAID 1 é a configuração de espelhos muito comum, geralmente de 2 discos. As leituras geralmente são apenas duas vezes mais rápidas que um único disco, enquanto as gravações são um pouco mais lentas que um único disco. Nos servidores, o RAID 1 é uma excelente opção para os arquivos do seu sistema operacional. Também é uma boa escolha quando você precisa de redundância, suas necessidades de armazenamento não são tão grandes a ponto de exigir RAID 5 e você pode se beneficiar da velocidade extra de leitura (os arquivos de log do banco de dados são comumente colocados no RAID 1).

Os RAID 2 a 4 (não estão na questão) geralmente não são utilizados, exceto pelos produtos de certos fornecedores no lado empresarial.

O RAID 5 é um compromisso entre não desperdiçar muito espaço na redundância e ainda obter o desempenho adicional de discos extras. As velocidades de leitura são muito boas, pois todos os discos podem participar. A velocidade de gravação às vezes pode ser um problema com o RAID 5, embora eu ache que isso às vezes é exagerado dependendo da situação. Mesmo com hardware que faz os cálculos de paridade, pequenas gravações aleatórias sofrem com RAID 5, já que cada operação de gravação lógica requer 4 E / Ss (leitura de disco de dados, leitura de disco de paridade, gravação de disco de dados, gravação de disco de paridade). Escolha o RAID 5 quando quiser maximizar a quantidade de armazenamento que você obtém de um conjunto de discos e, ao mesmo tempo, ter um bom grau de segurança. Evite quando seu aplicativo tiver necessidades de alto desempenho e exigir muitas gravações aleatórias pequenas (discos rígidos da máquina virtual, arquivos de dados do banco de dados). Esteja ciente também de que os discos grandes modernos demoram muito tempo para serem recriados quando falham como parte de um conjunto RAID 5, e isso coloca seus dados em risco por mais tempo para uma segunda falha no disco. O RAID 6 pode reduzir esse risco em detrimento de um desempenho de gravação aleatória ainda pior.

RAID 1/0 e 0/1 têm praticamente as mesmas características de desempenho. No entanto, é preferível 1/0 porque uma falha significa reconstruir apenas o par de discos envolvidos em vez de uma faixa inteira de discos. O RAID 1/0 é a configuração de propósito geral mais rápida das mencionadas na pergunta. O desempenho de leitura e gravação é ótimo (as leituras podem acontecer de todos os discos de uma vez, as gravações precisam acontecer em vários discos, mas não são necessários ciclos de leitura / leitura / gravação / gravação, como o RAID 5). RAID 1/0 é (sem surpresa) também o mais caro em quase todos os casos. Ele só deve ser usado quando o desempenho é crítico, os dados são altamente valiosos e o aplicativo não tolera o tempo de inatividade. Frequentemente, os servidores de banco de dados (ou pelo menos seus arquivos de dados) são bons candidatos para o RAID 1/0. Eu também prefiro colocar máquinas virtuais em RAID 1/0 se houver muitas delas ou eles executarem aplicativos intensivos em disco que eu realmente me importo.

Os Solid State Drives podem, de fato, ser colocados em configurações de RAID, principalmente por seu valor de redundância. Muitos SSDs podem superar o barramento (SATA) ao qual estão conectados, especialmente para operações de leitura, portanto, o efeito de desempenho do RAID é menos atraente com SSDs.

    
por 08.06.2010 / 20:09
0

Se você comprar um controlador RAID de hardware, use o RAID5. Ele tem o mínimo de sobrecarga e o controlador de RAID de hardware praticamente eliminará a penalidade de sobrecarga de gravação, já que calcula os bits de paridade no hardware. O Raid5 também lê vários discos, melhorando simultaneamente a velocidade de leitura e gravação.

Sim, isso também se aplica a unidades de estado sólido. Um teste de SSDs em Raid0 mostrou aumentos quase lineares de velocidade.

Raid5 é de longe a tecnologia mais usada no mundo dos servidores, mas apenas para um laptop com apenas 2 discos rígidos eu sugiro que o raid1 seja espelhado.

O JBOD não tem redundância no caso de um disco rígido falhar, mas dependendo das configurações, é possível distribuir os dados para aumentar o desempenho como o raid.

    
por 02.06.2010 / 09:22