Como recuperar de uma falha de unidade em uma configuração RAID 5?

15

Esta manhã, uma unidade falhou em nosso servidor de banco de dados. A matriz da unidade (3 discos) é configurada em uma configuração RAID 5.

Enquanto aguardamos a substituição da unidade, estamos nos preparando para uma estratégia de recuperação. Os usuários continuam trabalhando no sistema, embora muito lentamente (não sabem por quê?).

Como se instala a nova unidade - os dados dessa unidade serão reconstruídos automaticamente a partir da paridade ou há outro processo que devemos seguir?

Edit: Este é um controlador RAID de hardware. (Obrigado pelas respostas até agora, apreciado)

Philip Fourie
fonte
4
A propósito, o tempo para decidir o que fazer se uma unidade falhar em um servidor crítico é antes de uma unidade falhar em um servidor crítico.
David Schwartz

Respostas:

15

O sistema está funcionando muito lentamente porque precisa reconstruir os dados ausentes, o que envolve CPU e E / S adicionais.

Se você tiver um disco ausente em uma configuração RAID-5, não terá uma estratégia de recuperação . Se outro disco cair, você perderá seus dados . Corra, não ande, até o fornecedor mais próximo do qual você pode obter uma peça compatível coberta pela garantia do fabricante, enviada por um serviço de entrega urgente no mesmo dia. Se o fornecedor do qual você comprou a matriz já estiver no processo de obter a peça, obtenha as duas peças e guarde a outra como reserva.

Se você tem um RAID-5 em uso em um sistema de produção, considere deixar um disco sobressalente na matriz como sobressalente.

Adicionado - Se seus logs não estiverem em um volume separado (discos fisicamente separados), mova-os para um conjunto separado de discos, mesmo que apenas um par espelhado. Isso também será uma conquista de desempenho se seu banco de dados tiver uma carga significativa, pois a contenção nos volumes de log tem um efeito desproporcionalmente ruim no desempenho.

Se isso for possível, você também pode tornar seu banco de dados mais robusto, fazendo o seguinte:

  1. Encerre o banco de dados.
  2. Faça backup do banco de dados.
  3. Mova os logs para um conjunto de discos fisicamente separados (reconfigure o banco de dados para que ele saiba para onde os logs foram movidos).
  4. Reinicie o banco de dados e o aplicativo.

Se você tiver os logs em um volume separado, poderá restaurar e avançar a partir do backup se e somente se uma falha no disco não comprometer os logs. Os logs do banco de dados devem estar em um volume de disco separado pelos seguintes motivos (entre outros):

  • Os padrões de uso de logs são predominantemente seqüenciais, acrescentando entradas de log ao final do arquivo (o arquivo é, na verdade, um buffer de anel). Isso significa que um grande número de entradas de log pode ser gravado rapidamente, pois há pouca atividade de busca no cabeçote do disco.

  • Se eles estiverem compartilhando discos físicos com uma carga de trabalho de acesso altamente aleatório (por exemplo, tabelas e índices transacionais), eles serão desacelerados desproporcionalmente à medida que a atividade de busca principal interrompe as gravações seqüenciais.

  • Ter os logs em um volume separado é quase sempre uma conquista de desempenho e precisa apenas de um único par espelhado para que os logs suportem uma carga de trabalho bastante pesada. Isso significa que o hardware para fazer isso é bastante barato, portanto, há um pequeno custo para uma grande conquista de desempenho e confiabilidade.

  • Se sua matriz de dados cair, os logs não serão perdidos. Se você tiver uma estratégia de backup adequada, poderá restaurar a partir do backup e avançar dos logs. Isso significa que uma matriz inteira pode ficar inativa no servidor sem ser um único ponto de falha. As matrizes de log e de dados precisam falhar simultaneamente para causar perda de dados.

ConcernedOfTunbridgeWells
fonte
Obrigado pela resposta, explicando especialmente por que o sistema está funcionando lentamente.
Philip Fourie
Spot on. Eu até sugeriria desligá-lo até que você instale a unidade de substituição. Como Nigel diz, você não tem uma estratégia de recuperação. Perda outra unidade, perca tudo.
Stu Thompson
Olá Nigel, obrigado por dedicar seu tempo e compartilhar seus conhecimentos. É realmente um ótimo conselho. Mais tarde, informarei o resultado da recuperação.
Philip Fourie
5

1) Backup.

No momento, nenhum dado foi perdido. Se seus backups não estiverem atualizados agora.

2) Leia o manual, ligue para o fornecedor etc.

Diferentes sistemas RAID têm etapas diferentes para substituir um disco e, se cometidos incorretamente, você corre o risco de destruir toda a matriz. Sem saber que tipo de hardware / software RAID você possui, podemos apenas adivinhar as etapas necessárias.

Além disso, o desempenho lento ocorre porque o RAID 5 em um estado degradado (ou seja: um disco morto) tem um desempenho de leitura horrível. Quão horrível depende de como a paridade é armazenada e qual disco morreu, mas a notícia "boa" é que o desempenho lento com um disco esgotado é um problema conhecido e não causa pânico.

DrStalker
fonte
4

Primeiro, eu leria o manual do hardware / software que você está usando - a seção para recuperação de falhas :)

Porém, deve ser uma simples questão de substituir o disco e reconstruir a matriz.

O ponto mais importante nesses casos é que o disco deve ser substituído o mais rápido possível, pois se outro disco falhar, você provavelmente perderá dados. Além disso, você deve abordar a causa da falha - foi porque o disco estava ficando velho? Você deve substituir os outros também? Ou foi por causa de um aumento de energia, calor ou vibração?


fonte
1
provavelmente perder dados? Definitivamente, perca todos os dados da matriz! Vá para a cadeia, não passe. (backups de lado, é claro).
Stu Thompson
1

Pelo que entendi, o RAID5, quando você substitui a unidade com falha, é reconstruída automaticamente, a partir das informações armazenadas nas outras duas. Se você pode trocar a quente a nova unidade no lugar depende do seu sistema - talvez seja necessário desligar primeiro. De qualquer maneira, considerando o custo relativamente baixo das unidades e a importância dos seus dados (refletida pela sua decisão de usar o RAID5 em primeiro lugar), você realmente deve ter uma unidade sobressalente, sentada em uma gaveta, pronta para essa eventualidade .

Recentemente, criei um novo PC de desenvolvimento e configurei as principais unidades de dados no RAID5. Encomendei mais uma unidade do que o necessário, para que eu tenha o sobressalente pronto para esse momento de emergência (que espero que não aconteça)

Agora que você fez a pergunta, suponho que seria melhor ler mais sobre o assunto.


fonte
Para pequenos volumes de dados, um par espelhado é melhor, pois normalmente possui melhor velocidade de acesso seqüencial do que um pequeno RAID-5. Se você quiser hot-swap, olhar para alguns dos sistemas baía hot-swap em algum lugar como scsi4me.com
ConcernedOfTunbridgeWells
0

Totalmente dependente do sistema. O que dizem os manuais? Seu hardware suporta completamente a conexão de novas unidades do controlador para o compartimento da unidade? Você tem backups recentes?


fonte
0

A publicação do NXC resume bem. Caso você não substitua a unidade defeituosa antes da segunda falha, ainda há uma boa chance de ter quase tudo (às vezes tudo) recuperado pelo serviço de recuperação especializado. Os dados ainda estão disponíveis nos discos, e o disco com falha geralmente pode ser recuperado em laboratório especializado com equipamento adequado. No entanto, o preço deste serviço é bastante alto. Ter um disco sobressalente e backups adequados (conforme sugestão do NXC) é definitivamente o caminho a seguir no futuro.


fonte