RAID 1 - Penalidade de gravação IOPS 1 ou 2

RAID 1 - Penalidade de gravação IOPS 1 ou 2

Continuo vendo artigos que descrevem a penalidade de gravação de RAID IOPS para RAID 1 (e RAID 10) como 2. O RAID 0 teria uma penalidade de 1, é claro, já que cada gravação é simplesmente gravada no disco. O RAID 1 é descrito como "exigindo duas gravações", portanto, uma penalidade de 2.

Mas não deveria ser 1, já que os dados são gravados simultaneamente?

Do ponto de vista do aplicativo ou servidor que utiliza o disco, uma matriz RAID 1 deve aparecer como uma unidade única que grava em ambos os discos simultaneamente. Um disco pode ficar atrás do outro, mas um controlador RAID de hardware real deve ser capaz de iniciar a gravação ao mesmo tempo e relatar a operação de gravação como concluída quando o disco mais lento for concluído, o que deve ser apenas marginalmente maior do que em um RAID -0, se houver. Portanto, a penalidade de IOPS deve ser 1 para RAID 1 ou 1,2 no máximo.

Entendo que existem duas operações de gravação, portanto existem 2 "IOPS", mas elas são internas ao controlador RAID.

Estou faltando alguma coisa aqui?

Responder1

Se o RAID 1 fosse apenas uma conexão direta de um cabo, o impacto no desempenho seria nulo (um fator de 1,0), mas o espelhamento do RAID 1 é mais do que apenas uma conexão direta de um cabo -trabalho atualprecisa ser feito para gravar dados em duas unidades e lidar com os resultados dessa gravação em cada unidade.

Esse trabalho extra é o fator sobre o qual eles estão falando no impacto no desempenho. Quer a operação de E/S aconteça em algum lugar do sistema operacional (RAID de software) ou em um coprocessador/controlador dedicado (RAID de hardware), duas gravações ainda precisam ser emitidas para cada dado, e os resultados dessa gravação (sucesso, falha ou on_fire) precisam ser "tratados".


Na pior das hipóteses, você provavelmente encontrará (software RAID-1 implementado no sistema operacional), o que significa que o kernel está fazendo duas gravações e tendo duas conversas com o controlador de disco.
Isso representa uma penalidade de gravação de 2x, já que estamos fazendo o dobro de trabalho em quase toda a pilha.
(Na verdade, provavelmente está mais próximo de 1,9 - afinal, não estamos emitindo duas chamadas write() para o sistema de arquivos - mas vamos apenas arredondar para o pessimismo.)

Na melhor das hipóteses (hardware RAID 1, implementado com um controlador dedicado), o kernel está tendo uma conversa com o controlador, mas o controlador ainda está tendo 2 conversas (uma com cada disco), pois precisa garantir que ambas as unidades recebam o comando, gravar os dados e confirmar que os dados foram gravados (ou lidar com quaisquer condições de erro relatadas pelas unidades).
Isso provavelmente representa uma penalidade de 1,2x para o trabalho extra do controlador, como você supôs em sua pergunta - você está apenas economizando o trabalho extra no kernel (que é muito mais caro do que o que o controlador está fazendo).

Agora, como somos administradores de sistemas e somos pagos para sermos pessimistas, obviamente escolheremos o pior desempenho possível, assim como quando arredondamos o fator de desempenho para RAID de software - então, se alguém perguntar, diremos para eles, há uma penalidade de gravação de 2x, mesmo para seu controlador de hardware sofisticado, e deixe-os ficar felizes quando o sistema funcionar com uma penalidade de apenas 1,5x em média :-)

Responder2

um controlador RAID de hardware real deve ser capaz de iniciar a gravação ao mesmo tempo e relatar a operação de gravação como concluída quando o disco mais lento for concluído, o que deve ser apenas marginalmente maior do que em um RAID-0, se for o caso.

Cada gravação tem metade do desempenho total disponível. No seu exemplo, cada disco do RAID 0 precisa gravar apenas metade do que foi enviado ao controlador RAID. No RAID 1, cada disco precisa gravar tudo.

Isso coloca o RAID 0 duas vezes mais rápido que o RAID 1 para gravações (em um grupo RAID de 2 discos), enquanto eles são iguais em velocidade teórica de leitura.

informação relacionada