Consistência de dados com o RAID 5 e o BBWC

3

Eu tenho algumas perguntas sobre RAID 5, BBWC (cache de gravação com bateria), sistema de arquivos (ext3) e, opcionalmente, mysql.

Eu tenho uma hipótese e peço à comunidade do Server Fault para validar ou não esta:

  • O sistema é UP, os aplicativos funcionam com o banco de dados e usam transações
  • O sistema RAID é configurado com RAID5, cache de gravação e bateria (BBWC)

Com esta solução, quando o sistema operacional recebe gravação ACK, os dados possivelmente estão no cache do controlador RAID, e não em uma memória persistente (meu disco de unidades RAID).

Se aparecer uma falha de energia e os dados estiverem no cache do controlador RAID, o BBWC manterá os dados com a bateria. Até lá, tudo está bem.

Mas a bateria tem uma certa capacidade e não é infinita. Se a falha de energia for maior que dois ou três dias, o cache RAID será perdido.

Para mim, é um cenário dramático e provável.

Minhas perguntas são:

  • O ext3 pode resolver esse problema? Provavelmente não
  • É possível corromper o banco de dados mysql?
  • As transações do MySQL são perdidas? Eu acho que sim

Hardware : HP DL380 G7

OS : Centos 5 com ext3

    
por Joris.B 02.08.2012 / 14:39

4 respostas

4

Sim, essa é a limitação de um cache de gravação suportado por bateria - se a bateria acabar, seus dados não gravados serão torrados. É por isso que eu prefiro os mais novos controladores RAID baseados em NVRAM. Sistemas de arquivos não podem ajudá-lo, porque eles acham que os dados foram escritos - na melhor das hipóteses, eles podem fornecer uma visão consistente dos dados, não garantindo que estejam atualizados.

    
por 02.08.2012 / 14:42
2

Quanta falta de energia / interrupção você está esperando? As baterias duram alguns dias. No entanto, desde os servidores G7 ProLiant, o uso de uma unidade de cache em cache flash (FBWC) tornou-se mais popular. É um retrofit direto se o seu controlador Smart Array P410 ainda não tem um. A tecnologia é descrito com mais detalhes aqui . O ponto do supercapacitor na unidade FBWC é fornecer energia suficiente para gravar o conteúdo do cache de gravação na memória flash, onde persistirá até que a energia do sistema seja restaurada. O outro benefício é sem baterias para lidar e descartar. Então, do ponto de vista do fabricante, é vantajoso promover o uso do flash em comparação às baterias antigas.

Eu acho que ter uma queda de energia por tempo suficiente para que a duração da bateria seja uma preocupação também significa que há outros problemas de infraestrutura com os quais se preocupar. A mesma coisa se alguém não estiver disponível no local durante esse período de tempo para fornecer alívio de energia. A recomendação sensata é proteger seus sistemas com uma solução de UPS sólida.

Quanto à quantidade de dados contidos no cache a qualquer momento, ele é tipicamente pequeno. O cache é provavelmente 512MB ou 1024MB no seu caso. As gravações aleatórias e de streaming precisam viver lá por tempo suficiente até serem liberadas para o disco. A qualquer momento, você provavelmente está olhando alguns megabytes de dados. Eu não tive grandes danos após um acidente repentino onde os dados do cache foram perdidos (falha na bateria RAID). Isso provavelmente não será um problema para você, a menos que o padrão de gravação do seu sistema seja anormalmente pesado e você perca energia ao mesmo tempo de maneira inesperada ... (como um relâmpago). O ext3 é bastante resiliente, no entanto.

    
por 02.08.2012 / 14:59
1

Você deve obter um no-break para que o servidor possa ser desligado normalmente e o BBWC não precise ser usado. Mesmo um no-break relativamente pequeno pode fornecer alguns minutos de tempo de desligamento, o que geralmente é suficiente para que esses caches sejam liberados para o disco.

Caches de gravação com back-back em Flash podem ajudar, embora eu ache que a maioria concordaria que um no-break é uma ideia melhor.

Uma opção mais onerosa: você pode querer considerar a possibilidade de obter um gerador, se você costuma experimentar mais de 3 dias de blackouts. Eu descobri que essas ocorrências são muito incomuns, mas vejo que você está do outro lado da lagoa.

    
por 02.08.2012 / 14:52
0

Obrigado pela sua resposta. Eu conheço alternativas, como FBWC, mas minhas perguntas são baseadas no meu cenário:

No meu trabalho, já implantamos essas soluções e tenho que antecipar problemas.

Você achou que o mysql pode ser corrompido e se recusou a começar com o meu cenário?

    
por 02.08.2012 / 15:05