¿Para qué sirve una BBU (controlador de raid)?

¿Para qué sirve una BBU (controlador de raid)?

Me pregunto cuál es el propósito de una BBU. Lo primero que entendí fue que permite que el caché escriba los datos en el disco durante un corte de energía. Pero algunas especificaciones dicen que una BBU puede conservar sus datos hasta por 72 horas. Esperaría que los datos se escriban en el disco en milisegundos (dado que el disco también tiene energía).

Entonces, ¿una BBU no sólo debería proteger el caché, sino también todo el disco durante unos segundos? ¿No sería eso aún más seguro, porque los datos de la memoria caché se escriben en el disco en lugar de permanecer en la memoria caché esperando que vuelva a recibir energía? Después de aproximadamente un segundo, el disco podría apagarse.

Respuesta1

No alimenta los discos, simplemente mantiene los datos en el caché durante (en este caso) hasta 72 horas hasta que la máquina vuelve a estar en línea. Cuando vuelva a encender la máquina, ésta escribirá el contenido del caché en los discos.

Todo lo que hace es proteger contra un corte de energía. Si (por alguna razón) la máquina pierde energía sin descargar limpiamente los datos al disco, la batería mantiene vivo el contenido de la caché hasta que pueda reiniciar la máquina.

No es un UPS para discos, ya que los discos podrían estar en una matriz de discos externa o incluso en un circuito de alimentación diferente. Incluso un UPS podría fallar.

Respuesta2

Funciona así:

La mayoría de los sistemas operativos tienen una llamada al sistema que permite la llamada "escritura síncrona". Esto significa que durante una operación de escritura, si se completó una escritura, se garantiza que se confirmó en el disco.

Por lo tanto, la escritura síncrona no se almacena en caché. Bloquea la aplicación hasta que se haya completado. Este tipo de operación es obviamente más lenta que la escritura en caché, que mantiene los datos en la memoria del sistema operativo hasta que el disco está lo suficientemente inactivo y luego escribe los datos.

Algunos software críticos, como el software de bases de datos, realizan escrituras sincrónicas para datos críticos porque una actualización a medio escribir en caso de un corte de energía puede ser perjudicial para la integridad de la base de datos.

Los controladores RAID son notoriamente lentos con las escrituras RAID-5, por lo que esto se convierte en un problema si el software de su aplicación utiliza muchas escrituras sincrónicas. Por este motivo, los controladores RAID-5 están equipados con sus propios cachés.

Lo que hace el controlador RAID es escribir los datos en su caché y MIENTE al sistema operativo, diciéndole que ha enviado los datos al disco, mientras que los datos en realidad todavía están en el caché RAID.

Pero, ¿qué pasa si se corta la energía mientras los datos todavía están en el búfer del controlador RAID? Tendría datos a medio escribir y probablemente inconsistentes en sus discos.

Se puede decir que este comportamiento anula el propósito de una escritura sincrónica... si estuviera bien tener una escritura en caché, entonces el software de la aplicación no solicitaría una escritura sincronizada en primer lugar.

El compromiso es el siguiente: el controlador RAID aún depende del sistema operativo que envió los datos al disco, pero para proteger estos datos críticos en caso de un corte de energía, el controlador RAID tiene una batería que mantiene vivo el caché durante algún tiempo hasta que se pueda cortar la energía. restaurado.

Entonces, después de que regresa la energía y los discos giran e inicializan, el controlador todavía tiene esos datos en su caché gracias a la batería y puede terminar de escribir su transacción en el disco.

Todos están felices.

Esta es la razón por la que los controladores RAID generalmente no le permiten habilitar la caché de escritura a menos que tenga una unidad de batería funcional y cargada.

Respuesta3

Vale la pena mencionar que algunos controladores de disco más nuevos ahora vienen con caché flash de alta velocidad que retiene los datos por mucho más tiempo que las típicas 72 horas; a menudo también es mucho más grande (~1 GB). Si necesita detalles de la pieza, hágamelo saber.

Respuesta4

Obtener esa batería de $100 es imprescindible, especialmente en un servidor DB, aunque los cortes de energía son raros.Incluso si tienes transacciones habilitadas, y su servidor se queda sin energía antes de que esos cambios hayan salido de la caché y se hayan confirmado en el disco, quedará una consulta incompleta o datos corruptos.

información relacionada