É seguro fazer um instantâneo de um RAID mdadm com apenas xfs_freeze?

2

O mdadm é garantido (e confiável por experiência) como seguro para tirar instantâneos com apenas um xfs_freeze? Eu encontrei alertas vagos sobre o mdadm ainda funcionando em segundo plano, tornando os snapshots inseguros sem desmontar o RAID primeiro, mas eu prefiro evitar ter que passar pela desmontagem / remontagem se possível.

Os instantâneos são em nível de bloco via EBS, mas eu estou menos preocupado com o processo de captura instantânea do que com os dados corretos sendo consistentes quando o instantâneo é tirado.

Opções além do mdadm são bem-vindas se tornarem o processo mais confiável - nós costumávamos usar o striping do LVM, mas mudamos para o mdadm especificamente por causa dos relatórios de snapshots de discos diferentes que não são confiáveis. Também estamos analisando algumas combinações, como o uso de mdadm para striping e uma camada de LVM para snapshots.

A solução ideal seria aquela que evita ter que interromper os serviços que estão sendo executados fora do RAID (neste caso, Mongo) e estaria no formato de dados original para que um novo servidor possa anexar uma matriz dos instantâneos restaurados e não requer etapas adicionais para massificar os dados no lugar. (Nós já temos um código que pode remontar instantâneos em um novo servidor - nós só precisamos criar esses snapshots de forma confiável.)

    
por Jon 25.11.2013 / 20:00

1 resposta

2

até mesmo essa pergunta é antiga Quero dar uma resposta curta para a pergunta se o snapshot de um EBS-RAID é seguro. Estamos trabalhando com o PIOPS EBS-RAID0 e fazemos nossos backups regulares deste RAID com o seguinte procedimento:

  1. Parando o serviço (DB no nosso caso)
  2. fsfreeze o ponto de montagem do RAID (estamos usando o ext4, mas isso deve funcionar com todos os fs que podem congelar)
  3. Chame a API do EC2 para fazer um instantâneo dos dispositivos que fazem parte do RAID
  4. Aguarde o retorno de chamada do instantâneo (você não precisa esperar até que o instantâneo seja finalizado - o retorno de chamada da API é suficiente)
  5. descongelar o RAID
  6. Iniciar o serviço

Todo o procedimento leva cerca de 1 a 2 minutos no nosso caso.

Alteramos nossas instâncias e sistemas com muita freqüência no passado próximo e sempre usamos esses instantâneos para copiar os dados para nossas novas instâncias (e reconstruir o RAID lá) para reduzir o tempo de sincronização entre as réplicas. Nós nunca tivemos nenhum problema com dados corrompidos - o snapshot apenas funciona bem!

Espero que isso ajude alguém que está procurando por uma resposta.

    
por 25.04.2014 / 10:40