Eu sempre achei o seguinte uma regra geral para o RAID:
- RAID 0: Melhor desempenho para leitura e gravação de remoção, maior risco
- RAID 1: Redundante, decente para READ (acredito que possa ler partes diferentes de um arquivo em diferentes discos rígidos), não é o melhor para WRITE
- RAID 0 + 1 (01): combina redundância de RAID 1 com desempenho de 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
Esta suposição está correta? (e como eles se comparam a uma configuração JBOD para desempenho de E / S de R / W)
Certas 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?
Respostas:
Invasão 0 . Ótima velocidade de leitura e gravação. O risco de falha aumentou à medida que o número de discos membros aumentou. Sem paridade.
Invasão 1 . Ótima velocidade de leitura somente se o driver for implementado corretamente - Se você usar controladores de ataque Areca e LSI, eles poderão oferecer quase a mesma capacidade de leitura para conjuntos de Raid 1 que conjuntos de Raid 0 (dentro de 10%). Observe que, para soluções de invasão de software, existem dois tipos, software SO e software Motherboard.
A maioria do Raid do tipo placa-mãe não oferece um bom desempenho de leitura do Raid 1. Na última vez que verifiquei o Windows e o Linux, também não havia uma boa implementação das leituras do Raid 1. O BSD tinha uma implementação Raid 1 corretamente implementada que usa o método de leitura roundrobin.
Em resumo, use o Raid 1 para redundância e para velocidade de leitura se você usar controladores avançados.
Invasão 1/0 e Invasão 0/1 . Isso é uma coisa de combinação. Digamos que você tenha 10 discos. O Raid 1/0 é que há espelho em cada conjunto: Conjunto A (1 + 2), Conjunto B (3 + 4), Conjunto C (5 + 6), Conjunto D (7 + 8), Conjunto E (9+ 10), então Faça um conjunto de tiras nos 5 conjuntos (AE). Dessa forma, cada um dos conjuntos pode ter uma falha na unidade, mas se duas unidades falharem no mesmo conjunto, você estará pronto.
O Raid 0/1 é que ter o conjunto de faixas A (1 + 2 + 3 + 4 + 5) e o conjunto B (6 + 7 + 8 + 9 + 10) e espelhar os dois conjuntos. Dessa forma, se as unidades 2 e 9 falharem, a maioria dos controladores considerará isso uma falha total (que, na verdade, você ainda possui todos os dados).
Há pouca diferença de desempenho entre os dois, mas eu não acho que você normalmente obtenha os dois de um controlador Raid.
Invasão 5 . um pacote muito misto: para leituras sequenciais, é mais rápido que o raid 1/0, e para leituras aleatórias é um pouco mais lento que isso. Observe que o desempenho do RAID 5 depende muito da velocidade do controlador (por exemplo, você não pode esperar muito em ataques internos).
Invasão 6 . A redundância aumentou em comparação com o Raid 5. duas unidades podem falhar a qualquer momento e, ao reconstruir a matriz após uma falha de uma unidade, ainda há redundância (observe que quando a unidade do raid 5 falhou, a matriz é semelhante ao ataque 0 - qualquer falha na unidade = perda total )
JBOD . Nenhuma vantagem que eu possa pensar.
fonte
Como sua pergunta indica, não há realmente uma "melhor" configuração de RAID, apenas a melhor para um conjunto específico de circunstâncias, com o custo geralmente 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, pois você pode ler e gravar em vários discos ao mesmo tempo, e nenhum espaço é "desperdiçado" para redundância. Como você perde um disco e perde o conjunto, o RAID 0 deve ser usado apenas em uma máquina que você não gosta, 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 "rápidas" muito rápidas, se você tiver um software que precise desse tipo de coisa.
O RAID 1 é a configuração de espelho muito comum, geralmente de 2 discos. Geralmente, as leituras 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 sistema operacional. Também é uma boa opção quando você precisa de redundância, suas necessidades de armazenamento não são tão grandes que exigem o RAID 5 e você pode se beneficiar da velocidade extra de leitura (os arquivos de log do banco de dados geralmente são colocados no RAID 1).
Os RAID 2 a 4 (que não estão em questão) geralmente não são utilizados, exceto pelos produtos de certos fornecedores no lado corporativo.
O RAID 5 é um compromisso entre não desperdiçar muito espaço em 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. Às vezes, a velocidade de gravação pode ser um problema com o RAID 5, embora eu pense que isso às vezes seja exagerado, dependendo da situação. Mesmo com o hardware que faz os cálculos de paridade, pequenas gravações aleatórias sofrem no RAID 5, pois cada operação de gravação lógica requer 4 E / S (leitura do disco de dados, leitura do disco de paridade, gravação de disco de dados, gravação de disco de paridade). Escolha o RAID 5 quando desejar maximizar a quantidade de armazenamento que sai de um conjunto de discos enquanto ainda possui 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 de máquinas virtuais, arquivos de dados do banco de dados). Lembre-se também de que os grandes discos modernos demoram muito tempo para serem reconstruídos quando falham como parte de um conjunto RAID 5, e isso coloca seus dados em risco por mais uma segunda falha no disco. O RAID 6 pode reduzir esse risco à custa 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. 1/0 é preferível, 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 é excelente (as leituras podem acontecer de todos os discos ao mesmo tempo, essencialmente, as gravações precisam acontecer em vários discos, mas não é necessário um ciclo de leitura / leitura / gravação / gravação como o RAID 5), embora o RAID 5 possa vencer em determinadas circunstâncias. O RAID 1/0 é (sem surpresa) também o mais caro em quase todos os casos. Ele deve ser usado apenas quando o desempenho é crítico, os dados são altamente valiosos e o aplicativo não tem tolerância para o tempo de inatividade. Geralmente, os servidores de banco de dados (ou pelo menos seus arquivos de dados) são bons candidatos ao RAID 1/0.
As unidades de estado sólido podem realmente ser colocadas em configurações RAID, principalmente por seu valor de redundância. Muitos SSDs podem ter desempenho superior ao barramento (SATA) ao qual estão conectados, especialmente para operações de leitura, portanto o efeito de desempenho do RAID é menos atraente com os SSDs.
fonte
Se você adquirir um controlador de RAID por hardware, vá com o RAID5. Ele tem o mínimo de sobrecarga e o controlador de invasão de hardware quase eliminará a penalidade de sobrecarga de gravação, pois calcula os bits de paridade no hardware. O Raid5 também lê vários discos simultaneamente, melhorando a velocidade de leitura e gravação.
Sim, isso também se aplica a unidades de estado sólido. Um teste de SSDs no Raid0 mostrou aumentos de velocidade quase lineares.
O Raid5 é de longe a tecnologia mais usada no mundo dos servidores, mas para apenas um laptop com apenas 2 discos rígidos, sugiro que o raid1 seja espelhado.
O JBOD não possui redundância no caso de um disco rígido falhar, mas, dependendo das configurações, os dados podem ser distribuídos para aumentar o desempenho como invasão.
fonte