Com que frequência devo esfregar meu RAID?

13

Em geral, eu gostaria de saber com que frequência uma matriz RAID precisa ser limpa. O que contribui para a necessidade de limpar com mais frequência (leitura de dados ?, gravação de dados ?, desligamentos inesperados ?, idade da unidade ?, tamanho da unidade ?, número de usuários? Etc.)?

Estive lendo o wiki do Arch aqui e tudo o que realmente diz é que a limpeza deve ser feita regularmente. Eu só estava me perguntando com que regularidade é suficiente. Obviamente, isso dependeria, mas qual é um intervalo razoável? Anual? Por mês? Semanal? Diariamente? Muito obrigado por qualquer informação.

Mrfred
fonte
1
Qual é o tamanho da sua matriz? Quanto tempo leva uma limpeza da sua matriz? Matrizes maiores podem levar horas ou dias para uma limpeza completa. Obviamente, você não pode esfregar com mais freqüência do que é necessário para uma única limpeza. O pacote Debian inclui um script cron que roda no primeiro domingo de cada mês.
Zoredache
I depende de como sujo é :)
Metacom
@ Zoredache: Esse é exatamente o tipo de coisa que eu estava procurando. Como matrizes maiores demoram mais, isso diminuiria a frequência que você deve limpar? Aumentar o número de usuários aumentaria essa frequência? Você precisa se esfregar se não estiver realmente escrevendo muitos dados novos?
Mrfred
RAID de software? RAID de hardware? ZFS?
ewwhite

Respostas:

15

A frequência com que você deve digitalizar depende de muitas coisas.

  • Idade dos discos. Quanto mais velhos, maior a probabilidade de conter o mal .
  • A qualidade original dos discos em questão. É provável que as coisas vendidas como 'corporativas' durem sem erros, e os discos com tamanho de 1 + TB de 2014 são muito mais confiáveis ​​do que seus equivalentes em 2009 quando eram enviados.
  • Qual é a sensibilidade da sua E / S de produção para a E / S de limpeza.
  • Quanto do seu conjunto de dados você considera ser o seu conjunto de trabalho.

Os fornecedores de RAID de hardware geralmente incluem um processo de limpeza em segundo plano por esse mesmo motivo, alguns até permitem ajustar a prioridade de E / S do processo de limpeza, o que permite evitar (ou reduzir bastante) a penalidade de E / S de produção para uma limpeza. Obviamente, se a sua prioridade for baixa e a I / O do seu produto executar os discos quase sempre, provavelmente você nunca concluirá uma limpeza e nem perceberá até que ocorra uma falha.

Infelizmente, não sei se o kernel do Linux desvaloriza a E / S de limpeza ou não. De qualquer forma, é uma boa ideia testá-lo com as cargas de produtos para garantir que quaisquer resultados no desempenho sejam aceitáveis. Se é aceitável, bom! Caso contrário, você pode optar por adicionar ou não eixos para permitir a E / S scrub + prod ou apenas aceitar o risco de possíveis falhas de matriz no caminho.

Outra coisa que afeta a frequência de lavagem é o padrão de uso de E / S. Se as cargas de produção atingirem apenas uma minoria dos discos, a única E / S que normalmente encontraria um bloco defeituoso na parte inativa seria sua limpeza; nesse caso, você deseja esfregar com mais frequência. Se a sua produção carrega rotineiramente todo o conjunto de discos (como backups completos diários), a E / S da produção tropeça nos problemas mais cedo e é possível limpar com menos frequência.

Um bom plano de ação seria:

  1. Execute alguns testes para verificar se a depuração atrapalha a produção.
    1. Descobrir quanto tempo leva uma limpeza completa enquanto você faz isso.
  2. Descobrir qual porcentagem do seu conjunto de discos obterá vários acessos em uma determinada semana (inclua E / S de backup, se houver, neste cálculo).
  3. Com base em 1 e 2, decida se você está no campo com menos ou mais frequência.

Depois de ter esses dados ...

  • Se uma varredura completa demorar menos de um dia e não impactar visivelmente a produção, você poderá fazer a mesma frequência uma vez por semana.
  • Se uma verificação completa demorar menos de um dia e afetar a produção, descubra qual parte da semana / mês é menos afetada e tente executá-la.
  • Se uma varredura completa demorar mais de um dia, mas menos de uma semana e não afetar a produção, execute-a sempre que a cada duas semanas ou a cada dois meses.
  • Se uma varredura completa demorar mais de um dia, mas menos de uma semana e afetar a produção, considere adicionar recursos para permitir a execução, exigir que as varreduras sejam executadas durante as janelas de manutenção organizadas ou tirar proveito da capacidade ociosa / de verificação da depuração. ele se encaixa e começa continuamente.
  • Se uma verificação completa demorar mais de uma semana, uma vez por mês é suficiente. Mas se isso afeta a produção, você precisará adicionar recursos para permitir que ela seja concluída.
sysadmin1138
fonte