Me pregunto cuál es el propósito de una BBU. Mi primer entendimiento fue que permite que el caché escriba los datos en el disco durante una falla de energía. Pero algunas especificaciones dicen que una BBU puede almacenar sus datos por hasta 72h. Esperaría que los datos se escriban en el disco en milisegundos (dado que el disco todavía tiene energía también).
Entonces, ¿debería una BBU no solo proteger el caché, sino también todo el disco durante algunos segundos? ¿No sería aún más seguro, porque los datos de la memoria caché se escriben en el disco en lugar de estar en la memoria caché y esperar nuevamente la alimentación? Después de un segundo más o menos, el disco podría apagarse.
raid
hardware-raid
controller
bbu
tanascio
fuente
fuente
Respuestas:
No alimenta los discos, solo mantiene los datos en la memoria caché durante (en este caso) hasta 72 horas hasta que vuelva a poner la máquina en línea. Cuando vuelva a encender la máquina, volverá a escribir el contenido de la memoria caché en los discos.
Todo lo que hace es proteger contra una falla de energía. Si (por alguna razón) la máquina pierde energía sin vaciar limpiamente los datos en el 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 externos, o incluso en un circuito de alimentación diferente. Incluso un UPS podría fallar.
fuente
Funciona así:
La mayoría de los sistemas operativos tienen una llamada al sistema que permite una llamada "escritura sincrónica". Esto significa que durante una operación de escritura, si una escritura se ha completado, 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 base de datos, realizan escrituras sincrónicas para datos críticos porque una actualización a medio escribir en caso de una pérdida 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 síncronas. Por esta razón, los controladores RAID-5 están equipados con sus propios cachés.
Lo que hace el controlador RAID es que escribe los datos en su caché y MIENTE al SO, diciéndole que confirmó los datos en el disco, mientras que los datos todavía están en caché RAID.
Pero, ¿qué pasa si se pierde la energía mientras los datos todavía estaban en el búfer del controlador RAID? Tendría datos medio escritos y probablemente inconsistentes en sus discos.
Puede decir que este comportamiento anula el propósito de una escritura síncrona ... si estaba bien tener una escritura en caché, entonces el software de la aplicación no solicitaría una escritura de sincronización en primer lugar.
El compromiso es el siguiente: el controlador RAID todavía le miente al sistema operativo que confirmó los datos en el disco, pero para proteger estos datos críticos en caso de una falla de energía, el controlador RAID tiene una batería que mantiene el caché con vida durante un tiempo hasta que se pueda volver a encender. restaurado
Entonces, después de que vuelve 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 son felices.
Esta es la razón por la cual los controladores RAID generalmente no le permitirán habilitar la caché de escritura a menos que tenga una unidad de batería funcional y cargada.
fuente
proper shutdown
solicitud si RAID le miente cuando se emite una descarga.proper
oimproper
cierre. El sistema operativo emite una señal de apagado y la fuente de alimentación lo hace, después de que se apaga. A medida que se apaga la alimentación, también se pierde la memoria volátil y se pierde todo su contenido.Vale la pena mencionar que algunos controladores de disco más nuevos ahora vienen con caché de flash de alta velocidad que retiene los datos durante mucho más tiempo que las 72 horas típicas, a menudo también es mucho más grande (~ 1 GB). Si necesita detalles de parte, hágamelo saber.
fuente
Piense en ese caché de BBU como un nivel de protección similar al que ofrece un sistema de archivos registrado. Está allí para permitir que las transacciones, escrituras simples en este caso, se completen si son interrumpidas por una falla de energía. Una vez que se corta la energía, el controlador no puede continuar escribiendo, ya que eso daría como resultado resultados completamente impredecibles. En cambio, retiene los datos todo el tiempo que puede y terminará de escribirlos si / cuando se reanuda la energía. Lo que no hace es actuar como un UPS para las unidades.
fuente
Obtener esa batería de $ 100 es imprescindible, especialmente en un servidor de base de datos, a pesar de que las fallas de alimentación son raras. Incluso si tiene las transacciones habilitadas y su servidor pierde energía antes de que esos cambios hayan salido de la memoria caché y se hayan confirmado en el disco, se quedará con una consulta incompleta o datos dañados.
fuente
Si su servidor falla, se cuelga o alguien tira del cable de alimentación, una BBU lo protegerá de datos dañados o perdidos, si está utilizando caché de escritura. Usar un USV solo lo protege de fallas de energía.
Si no desea utilizar el caché de escritura, no necesita una BBU.
fuente
Una tarjeta RAID puede tener 1 GB de caché; a pesar de que generalmente no se usará todo para un caché de escritura, puede suponer que almacenará una cola bastante larga de datos no escritos.
Los sistemas de archivos y las bases de datos suponen que sus escrituras sincrónicas no se reordenan incluso en el caso de una falla de energía. Normalmente, una escritura síncrona solo volverá después de que los datos estén en el disco, pero esto es relativamente lento. Las tarjetas RAID mejoran el rendimiento al agrupar las escrituras más pequeñas y reordenarlas para que sean menos aleatorias.
Si no hubiera BBU, una falla de energía bajo carga tendría resultados desastrosos, con las escrituras que la tarjeta RAID había prometido estar perdida (como en el caso de un sistema de archivos, es posible que tenga referencias a un nuevo archivo o directorio, pero la falta dijo archivo o directorio, a pesar de que el sistema de archivos creó específicamente el nuevo archivo antes de cualquier referencia a él para evitar esto), lo que requiere que restaure de las copias de seguridad o simplemente espere que sus datos no estén demasiado mal. Peor aún, si alguien eliminó un archivo secreto y otra persona creó un archivo legible en todo el mundo, puede suceder que algunos de los contenidos del archivo secreto se encuentren en el archivo legible en todo el mundo. Una vez que rompa los supuestos sobre los que se basa el sistema de archivos, todo es posible.
Asumir que un UPS garantiza energía ininterrumpida es ingenuo; ¿Qué pasa si la máquina falla y necesita tirar del cable de alimentación o alguien se tropieza con ella?
Los discos SATA del consumidor (y SSD) a veces también almacenan en caché las escrituras síncronas, pero sus cachés son mucho más pequeños y el uso del consumidor es menos exigente, por lo que generalmente pueden salirse con la suya.
Los controladores RAID modernos también tienen flash, al que copian el contenido de la memoria caché de escritura en caso de una falla de energía, por lo que la batería no necesita durar más de unos pocos segundos.
fuente