Para que serve um BBU (controlador de ataque)?

Para que serve um BBU (controlador de ataque)?

Estou me perguntando qual é o propósito de um BBU. Meu primeiro entendimento foi que ele permite que o cache grave os dados no disco durante uma falha de energia. Mas algumas especificações dizem que uma BBU pode reter seus dados por até 72h. Eu esperaria que os dados fossem gravados no disco em milissegundos (dado que o disco também ainda tem energia).

Então, uma BBU deveria proteger não apenas o cache, mas também todo o disco por alguns segundos? Isso não seria ainda mais seguro, porque os dados do cache são gravados no disco em vez de ficarem no cache e esperarem pela energia novamente? Depois de um segundo ou mais, o disco pode ser desligado.

Responder1

Ele não alimenta os discos, apenas mantém os dados no cache por (neste caso) até 72 horas até que a máquina fique on-line novamente. Quando você liga novamente a máquina, ela grava o conteúdo do cache de volta nos discos.

Tudo o que faz é proteger contra falhas de energia. Se (por algum motivo) a máquina perder energia sem liberar corretamente os dados para o disco, a bateria manterá o conteúdo do cache ativo até que você possa reiniciar a máquina.

Não é um UPS para discos, pois os discos podem estar em uma matriz de discos externa ou mesmo em um circuito de alimentação diferente. Até mesmo um UPS pode falhar.

Responder2

Funciona assim:

A maioria dos sistemas operacionais possui uma chamada de sistema que permite a chamada "gravação síncrona". Isso significa que durante uma operação de gravação, se uma gravação for concluída, é garantido que ela foi confirmada no disco.

A gravação síncrona, portanto, não é armazenada em cache. Ele bloqueia o aplicativo até que seja concluído. Esse tipo de operação é obviamente mais lenta que a gravação em cache, que mantém os dados na memória do sistema operacional até que o disco esteja ocioso o suficiente e então grava os dados.

Alguns softwares críticos, como software de banco de dados, executam gravações síncronas para dados críticos porque uma atualização escrita pela metade em caso de queda de energia pode ser prejudicial à integridade do banco de dados.

Os controladores RAID são notoriamente lentos com gravações RAID-5, então isso se torna um problema se o software do seu aplicativo usar muitas gravações síncronas. Por esse motivo, os controladores RAID-5 são equipados com caches próprios.

O que o controlador RAID faz é gravar os dados em seu cache e mentir para o sistema operacional, informando que ele enviou os dados para o disco, enquanto os dados ainda estão no cache RAID.

Mas e se a energia fosse perdida enquanto os dados ainda estivessem no buffer do controlador RAID? Você teria dados meio escritos e provavelmente inconsistentes em seus discos.

Você pode dizer que esse comportamento anula o propósito de uma gravação síncrona... se não houvesse problema em ter uma gravação em cache, o software do aplicativo não solicitaria uma gravação sincronizada em primeiro lugar.

O compromisso é este: o controlador RAID ainda mente para o sistema operacional que comprometeu os dados no disco, mas para proteger esses dados críticos em caso de falha de energia, o controlador RAID possui uma bateria que mantém o cache ativo por algum tempo até que a energia possa ser restaurado.

Assim, depois que a energia voltar e os discos girarem e inicializarem, o controlador ainda terá esses dados em seu cache graças à bateria e poderá terminar de gravar sua transação no disco.

Todos estão felizes.

É por isso que os controladores RAID geralmente não permitem ativar o cache de gravação, a menos que você tenha uma bateria funcional e carregada.

Responder3

Vale a pena mencionar que alguns controladores de disco mais recentes agora vêm com cache flash de alta velocidade que retém os dados por muito mais tempo do que as 72 horas típicas, muitas vezes também é muito maior (~ 1 GB). Se precisar de detalhes da peça me avise.

Responder4

Conseguir aquela bateria de US$ 100 é obrigatório, especialmente em um servidor de banco de dados, embora falhas de energia sejam raras.Mesmo se você tiver transações habilitadas, e seu servidor perder energia antes que essas alterações saiam do cache e sejam confirmadas no disco, você ficará com uma consulta incompleta ou com dados corrompidos.

informação relacionada