Bcachefs es un sistema de archivos de copia en escritura para sistemas operativos basados en Linux
Hace pocod dias, Kent Overstreet (creador de Bcachefs), dio a conocer mediante un anuncio el lanzamiento de la nueva version de Bcachefs 1.37.0, una actualización masiva que no solo prepara a este moderno sistema de archivos (FS) para el futuro soporte del kernel de Linux 7.0, sino que estabiliza arquitecturas de redundancia críticas e inicia una profunda transición de su código base hacia el lenguaje Rust.
La versión se distribuye dividida en los paquetes de herramientas de espacio de usuario y un módulo del kernel compilado dinámicamente (DKMS) compatible con Linux 6.16 en adelante, estando ya empaquetado para Arch Linux y con despliegues inminentes en Debian, Ubuntu, Fedora y NixOS.
Codificación de borrado: El adiós al RAID tradicional
La gran protagonista de esta entrega es la estabilización definitiva de la compatibilidad con códigos de corrección de errores (Erasure Coding). Esta tecnología, que abandona oficialmente su fase experimental para declararse lista para despliegues de producción, funciona como un equivalente avanzado y más flexible a las topologías RAID 5 y RAID 6. Basada en la codificación Reed-Solomon, la arquitectura permite reparar datos corruptos corrigiendo múltiples errores por franja mediante el uso de bloques redundantes.
Otra de las novedades que presenta la nueva version de Bcachefs 1.3.7, es que ahora repara automáticamente los datos degradados en segundo plano y, lo que resulta vital para los administradores de sistemas en crecimiento, permite aplicar esta codificación de recuperación en clústeres heterogéneos que combinan discos duros de diferentes tamaños y capacidades. El algoritmo de asignación se encarga de crear siempre las franjas más grandes posibles, maximizando el espacio útil sin sacrificar la tolerancia a fallos.
Recuperación de desastres
La protección contra apagones repentinos y hardware defectuoso ha sido reescrita para garantizar la integridad absoluta de los datos. La operación de rebobinado del diario (journal rewind) ahora es completamente segura y transaccionalmente consistente. El sistema almacena en un búfer las operaciones de descarte y rastrea con precisión milimétrica hasta qué punto puede retroceder de forma segura en caso de corrupción; si el equipo colapsa en medio de un rebobinado, el sistema recordará el estado de la operación al reiniciar.
Para mitigar los estragos causados por unidades de almacenamiento de baja calidad que no ejecutan correctamente los comandos de vaciado de caché (flush y FUA), Bcachefs 1.37.0 implementa nuevas rutinas de recuperación automática. Tras un apagado anómalo, se activa un mecanismo de depuración dirigida que escanea exclusivamente los datos comprometidos justo antes del colapso. Si las sumas de comprobación fallan (indicando que el disco mintió sobre la escritura de los datos), el sistema orquestará una reparación inmediata utilizando las réplicas disponibles o retrocederá automáticamente al último estado seguro conocido.
Gestión avanzada y control
La administración diaria del volumen se simplifica con la incorporación de nuevos comandos nativos. Los administradores disponen ahora de herramientas para listar subvolúmenes aplicando filtros y ordenamiento dinámico, o para desplegar un árbol visual de instantáneas (snapshots) que detalla el uso real en disco de cada rama.
Destaca especialmente la nueva capacidad de propagación de opciones de enlaces de referencia. Esto permite aplicar atributos específicos de entrada y salida (como algoritmos de compresión, sumas de comprobación o topologías de replicación) directamente a las extensiones de los archivos, implementando banderas de permisos estrictas para evitar que usuarios sin privilegios modifiquen las políticas de datos compartidos.
La experiencia en la terminal también se ha mejardo, pues las herramientas de monitorización integran ahora un modo de interfaz de usuario de texto (TUI) puro, mientras que las salidas tabulares del sistema emplean tabulaciones elásticas para alinear perfectamente las columnas de información, facilitando la lectura de diagnósticos complejos.
La revolución de Rust y la verificación formal
El cambio más profundo de Bcachefs 1.37.0 es invisible a simple vista, pero redefine el futuro del proyecto. Todas las utilidades de espacio de usuario han sido reescritas íntegramente en Rust. Este monumental esfuerzo no solo erradica de raíz familias enteras de vulnerabilidades de memoria comunes en C, sino que dota a las herramientas de mejoras inmediatas en calidad de vida, como el autocompletado nativo en consolas Bash.
Esta reescritura es, en realidad, el campo de pruebas para una ambición mayor: trasladar progresivamente los componentes internos del sistema de archivos a nivel del kernel hacia Rust, un proceso que comenzará en cuanto el soporte de este lenguaje en los kernels de las distribuciones sea lo suficientemente amplio.
Para asegurar que este nuevo código base sea infalible, el equipo de desarrollo ha comenzado a auditar la arquitectura utilizando el kit de herramientas Verus. Mediante esta plataforma, ya han logrado la verificación matemática y formal de más de 124 propiedades críticas del sistema, demostrando con pruebas irrefutables la corrección de operaciones complejas como la construcción de listas de saltos de instantáneas y la conservación de la integridad de las extensiones durante las sobreescrituras.
Finalmente, si estas interesado en poder conocer mas al respecto, puedes consultar los detalles en el siguiente enlace.
Continúar leyendo...