Para um Dell R920 com discos de 24 x 1,2 TB (e 1 TB de RAM), pretendo definir uma configuração RAID 5 para E / S rápida. O servidor será usado para hospedar VMs KVM que estarão lendo / gravando arquivos de todos os tamanhos, incluindo arquivos muito grandes. Não estou muito interessado em segurança de dados porque, se o servidor falhar por qualquer motivo, apenas re-provisionaremos o servidor do bare metal após a substituição das peças com falha. Portanto, o desempenho é a principal preocupação. Estamos considerando o RAID 5 porque ele nos permite distribuir dados por vários eixos-árvore e, portanto, nos proporciona melhor desempenho e, embora não seja nossa principal preocupação, também nos oferece alguma proteção de dados. Nossa placa de rede é dupla de 10 Gbps.
Estou limitando esta questão ao RAID 5 apenas porque achamos que isso dará o melhor desempenho. Somente se houver uma razão de desempenho atraente, consideraremos outra coisa. Mas acho que prefiro respostas relacionadas às configurações do RAID 5.
Ok, com o exposto acima, aqui estão nossos pensamentos atuais sobre configuração:
- 24 discos rígidos: RMCP3 : 1.2TB, 10K, 2.5 "6Gbps
- Controladora RAID: H730P, suporte SAS de 12 Gbps, cache NV de 2 GB
- 1 Hot Spare (apenas para nos dar uma vida mais longa se uma unidade falhar)
- 23 unidades de dados (das quais 1 é contabilizada como paridade e 22 restantes para dados)
- Tamanho da faixa: 1 MB (unidades de 1 MB / 22 = ~ 46,5 KB por disco - ou entendo errado o tamanho da faixa)?
- Política de leitura: leitura adaptativa antecipada
- Política de gravação: Write Back
- Diretiva de cache de disco: ativada
Se o tamanho da faixa for o TOTAL entre as unidades de dados, então imaginei que ~ 46,5 KB por unidade nos proporcionará uma taxa de transferência muito boa. Se o tamanho da faixa for por eixo, entendi tudo errado.
O tamanho da faixa também tem o tamanho de um único arquivo? Por exemplo, se houver um arquivo de 2 KB, escolher um tamanho de faixa de 1 MB significa que estamos gastando quase um megabyte inteiro? Ou vários arquivos podem viver dentro de uma faixa?
Por fim, quando instalamos o CentOS 6.5 (ou mais recente), precisamos fazer algo especial para garantir que o sistema de arquivos use o RAID da melhor forma possível? Por exemplo, mkfs.ext4 tem uma opção -E stride que me disseram que deve corresponder à configuração RAID. Mas, durante uma instalação do CentOS, existe alguma maneira de fazer isso?
Muito obrigado por sua opinião sobre o RAID 5 de configuração para E / S rápidas.
Respostas:
Por favor, use RAID 1 + 0 com o seu controlador e configuração de unidade. Se você precisar de mais capacidade, um nível RAID aninhado como o RAID 50/60 pode funcionar . Você pode se safar do RAID 5 em um pequeno número de discos SAS corporativos (8 unidades ou menos) porque os tempos de reconstrução não são ruins. No entanto, 24 unidades é um erro terrível. (Ah, e desative o recurso de armazenamento em cache em disco individual ... perigoso)
Existem muitas facetas no desempenho de E / S e armazenamento local. Existem operações de E / S / segundo, há taxa de transferência, há latência de armazenamento. RAID 1 + 0 é um bom equilíbrio entre eles. Os aspectos positivos aqui são que você está usando discos corporativos, um controlador de hardware capaz e um bom número de discos. Quanta capacidade você precisa?
Você pode ter limites para o número de unidades que você pode usar em um grupo de discos virtuais. Os controladores PERC / LSI tradicionalmente limitavam isso a 16 unidades para níveis únicos de RAID e RAID 1 + 0. O guia do usuário confirma isso . Você não seria capaz de usar todos os 24 discos em um único RAID 5 ou em um único grupo RAID 1 + 0.
Outro aspecto a considerar, dependendo da sua carga de trabalho, é que você pode aproveitar o cache do SSD usando a funcionalidade LSI Cachecade em determinados controladores PERC. Pode não estar disponível para isso, mas entender seus padrões de E / S ajudará a personalizar a solução de armazenamento.
Quanto às opções de criação de sistema de arquivos ext4, grande parte será abstraída pelo seu controlador RAID de hardware. Você deve poder criar um sistema de arquivos sem opções especiais aqui. Os parâmetros aos quais você está se referindo terão mais impacto em uma solução RAID de software.
fonte
RAID 5 would give us some data safety at the expense of effectively 1 hard drive per group, right?
Não, não está certo. Com unidades desse tamanho e com muitos discos em um grupo, o RAID 5 oferece efetivamente 0 segurança de dados. Também pode apenas lançar os discos em duas matrizes RAID 0 de 12 discos.NÃO use uma única matriz RAID 5 em 24 discos de 1 TB! Não me importo muito com o que você prefere limitar as respostas, é uma má ideia e você deve procurar outras opções.
As chances de um disco falhar aumentam com cada disco. O mesmo acontece com o tempo necessário para reconstruir. Quando uma unidade falha, e você a substitui, ela utiliza o máximo de E / S em todos os discos possível para criar os dados para o novo. É muito provável que um dos seus 23 bons discos restantes falhe durante esse processo, forçando você a restaurar o servidor a partir de backups. Você diz que não se importa ... mas está disposto a aceitar isso uma vez por mês? Uma vez por semana? À medida que os discos envelhecem, pode muito bem ficar ruim.
Além disso, se você deseja desempenho, o RAID5 está levando você na direção errada. Em muitos casos, o RAID5 tem desempenho pior do que outras opções, porque precisa calcular a paridade para cada gravação e gravá-la também em uma unidade. O RAID5 não foi projetado para desempenho.
Se você REALMENTE não se importar com seus dados, vá com o RAID 0. Mas, mesmo assim, crie algumas matrizes separadas, e não um RAID 0 gigante de 24 discos.
Se você deseja desempenho e alguma integridade, use RAID10. Você perderá algum espaço em disco, mas obterá um aumento considerável no desempenho.
Ou você pode ver coisas como o ZFS, projetadas desde o início para trabalhar com grandes quantidades de dados em discos.
fonte
Suas opções:
RAID 0 : Isso transforma todos os seus discos em uma única unidade sem redundância. Isso tem o mais alto desempenho de leitura e gravação e o espaço mais utilizável de qualquer uma das opções, mas a perda de um único disco significa a perda de todos os dados.
RAID 1 + 0 : transforma todos os seus discos em uma única unidade, com todos os dados presentes em dois discos. A velocidade de leitura é quase a mesma do RAID 0, a velocidade de gravação é reduzida pela metade (já que você precisa gravar cada pedaço de dados duas vezes) e você tem apenas metade do espaço disponível. A perda de um único disco não afeta a disponibilidade de dados e o impacto mínimo nas velocidades de leitura / gravação.
RAID 5 : Isso transforma todos os seus discos em uma única unidade, com um valor de paridade em um disco. A velocidade de leitura é um pouco menor que o RAID 0, a velocidade de gravação é muito mais lenta, possivelmente mais lenta que a velocidade de gravação de um único disco não RAID (cada gravação requer um ciclo de leitura-modificação-gravação em pelo menos dois discos) e você perca o espaço de um disco para obter informações de paridade. A perda de um único disco pode causar uma grande redução na velocidade de leitura (reconstruir os dados armazenados nele exige a leitura de todos os outros discos), mas não afeta a disponibilidade dos dados.
RAID 6 : possui essencialmente todas as vantagens e desvantagens do RAID 5, exceto que ele armazena uma soma de verificação mais sofisticada, além de um cálculo de paridade, e pode lidar com a perda de dois discos sem perda de dados.
Se a segurança dos dados for realmente irrelevante (isso inclui o tempo gasto para restaurar os dados da fonte original, o que pode levar dias e o tempo perdido ao refazer cálculos interrompidos), recomendo o RAID 0. Caso contrário, se você tiver uma carga de trabalho quase Se você ler exclusivamente e desejar alguma confiabilidade, recomendo o RAID 6 (mas observe que o desempenho sofrerá ao se recuperar de um disco com falha). Se você tiver uma carga de trabalho de leitura e gravação, recomendo o RAID 1 + 0.
Dependendo da natureza precisa da sua carga de trabalho (por exemplo, se uma determinada tarefa acessar um subconjunto bem definido do espaço em disco), você poderá configurar várias matrizes RAID independentes, para que a falha de uma não afete as outras. .
O RAID 5 não oferece benefícios na sua situação. Ele tem uma penalidade de desempenho (especialmente para gravação) em comparação com o RAID 0 e, com o número de discos que você possui, é praticamente certo que um segundo disco falhará durante a recuperação, sem oferecer benefícios à segurança dos dados.
fonte
Ok, apenas uma pergunta clara - tamanho da faixa. O tamanho da faixa maior é melhor, a menos que seu RAID seja estúpido para sempre ler / gravar toda a faixa de dados como o mínimo de E / S.
Por quê? - o tamanho da faixa pequena implica o envolvimento de vários discos em qualquer E / S longa, menor a chance de carregar vários discos com uma E / S lógica. Faixa grande significa mais chances de apenas um disco (ou alguns) estar envolvido na E / S. Isso pode parecer uma deficiência, porque não há aumento em comparação com vários discos, mas sua carga quase aleatória entra em cena e você percebe que a carga seria espalhada por todos os discos de maneira mais ou menos uniforme.
Mais teoria por trás disso pode ser encontrada aqui: http://www.vinumvm.org/vinum/Performance-issues.html
fonte