Dos servidores idénticos, mismo hardware, mismos discos. Uno vuela; el otro se arrastra tanto que los usuarios se quejan. Revisas todo y no encuentras la falla evidente. Nueve de cada diez veces, la respuesta está en una pieza que casi nadie mira: el writeback cache del controlador, y muy probablemente en la batería que lo protege. Es uno de esos detalles invisibles que definen si tu almacenamiento es rápido o penoso.
Writeback vs. writethrough: dos formas de confirmar una escritura
Cuando el servidor manda a guardar un dato, el controlador tiene dos maneras de responder. En writethrough, espera a que el dato quede escrito físicamente en el disco antes de decir "listo": es seguro, pero lento, porque el disco —incluso un SSD— tarda más que la memoria. En writeback, el controlador guarda el dato en su caché de memoria ultrarrápida, responde "listo" de inmediato, y escribe al disco un momento después, en segundo plano. Para las aplicaciones, la diferencia es abismal: el writeback hace que las escrituras se sientan instantáneas. Casi todo el rendimiento de escritura de un buen controlador viene de ahí.
El riesgo, y por qué la caché necesita protección
El writeback tiene un peligro evidente: si el servidor pierde la energía mientras hay datos en la caché que aún no se escribieron al disco, esos datos se esfuman —y peor, pueden dejar el sistema de archivos en un estado inconsistente—. Confirmaste una escritura que nunca llegó al disco. Por eso el writeback no es gratis: exige una forma de proteger la caché ante un corte de luz. Y hay dos maneras clásicas de hacerlo.
- Batería (BBU / BBWC): una pequeña batería recargable mantiene la memoria caché viva durante un apagón —horas o días— hasta que vuelve la energía y los datos pendientes se escriben. Funciona, pero las baterías se degradan y hay que reemplazarlas.
- Supercapacitor + flash (FBWC): el enfoque moderno. Al cortarse la luz, un supercondensador entrega un último golpe de energía justo el tiempo suficiente para volcar el contenido de la caché a una memoria flash no volátil. Cuando vuelve la corriente, se restaura desde el flash. Sin baterías que envejezcan, sin ventana de tiempo limitada.
El writeback confirma en la caché y escribe al disco después; una batería o supercapacitor la protegen. Si fallan, cae a writethrough y todo se arrastra.
Por qué "de repente todo va lentísimo"
Aquí está el fenómeno que da nombre a este artículo, y que hemos visto en campo más veces de las que quisiéramos. Los controladores serios son conservadores por diseño: si detectan que la protección de la caché falló —la batería murió, el supercapacitor no responde—, desactivan automáticamente el writeback y caen a writethrough para no arriesgar tus datos. Es la decisión correcta, pero el efecto secundario es brutal: de un día para otro, sin que nadie tocara nada, el servidor pasa de volar a arrastrarse. La causa no es "el disco", ni "la red", ni "la aplicación": es una batería de caché agotada que hizo su trabajo silenciosamente y disparó el modo seguro. Es el mismo tipo de falla invisible que las baterías de un UPS: no avisa hasta que su ausencia te cuesta.
La lección práctica
Si un servidor con RAID de hardware se vuelve inexplicablemente lento, revisa el estado de la batería o el supercapacitor del controlador antes de perseguir fantasmas. Y en el diseño, prefiere la protección por supercapacitor y flash cuando puedas, e incluye el reemplazo de baterías de caché en tu mantenimiento preventivo —justo la clase de detalle que separa una infraestructura cuidada de una que se degrada sola—.
La idea que se queda
El writeback cache es de dónde sale casi todo el rendimiento de escritura de tu almacenamiento, y su batería o supercapacitor es lo que lo hace seguro. Cuando esa protección falla, el sistema se protege cayendo a writethrough, y tú lo sientes como una lentitud repentina e inexplicable. Saber esto convierte un misterio frustrante en un diagnóstico de dos minutos. Otra pieza del almacenamiento empresarial a fondo.