Lanzamiento del sistema de archivos Bcachefs 1.33.0.

Kent Overstreet ha publicado la versión 1.33.0 del sistema de archivos Bcachefs. Esta versión incluye dos paquetes: bcachefs-kernel-dkms con el módulo del núcleo, compilado con el sistema DKMS (Dynamic Kernel Module Support), y bcachefs-tools con la utilidad bcachefs que se ejecuta en espacio de usuario, implementando comandos para crear (mkfs), montar, recuperar y verificar el sistema de archivos. Los paquetes están disponibles para Debian, Ubuntu, Fedora, openSUSE, NixOS y Arch Linux. El módulo DKMS es compatible con núcleos de Linux desde 6.16.

La nueva versión incorpora la funcionalidad 'reconcile' (rebalance_v2), considerada el cambio más significativo en el sistema de archivos en los últimos dos años. A diferencia del modo 'rebalance' anteriormente disponible, el mecanismo 'reconcile' permite realizar el rebalanceo no solo de datos (por ejemplo, replicando múltiples copias en diferentes dispositivos de almacenamiento), sino también de metadatos en el sistema de archivos (por ejemplo, para trasladar metadatos después de agregar un nuevo dispositivo al grupo). Además, reconcile ahora se puede aplicar a todas las opciones de entrada/salida, y no solo a las operaciones de copia en segundo plano y compresión. En reconcile, también se tienen en cuenta automáticamente los cambios en las opciones o configuraciones de los dispositivos, re-replicando de inmediato los datos y metadatos degradados.

En reconcile se utilizan índices separados para: operaciones de alta prioridad; optimización del procesamiento de datos en dispositivos de almacenamiento; y datos programados para un procesamiento que aún no se puede realizar (por ejemplo, debido a falta de espacio). Se ha añadido soporte para crear un sistema de archivos en un solo dispositivo en modo de doble replicación (replicas=2); en esta configuración, la adición de un segundo dispositivo resultará en la replicación automática de los datos en el disco añadido, sin necesidad de realizar ninguna acción por parte del usuario.

Entre otros cambios:

  • Se han añadido los comandos 'reconcile status' y 'reconcile wait'. Se han añadido las opciones de montaje 'mount_trusts_udev' y 'writeback_timeout'. Los comandos 'data rereplicate' y 'data job drop_extra_replicas' han sido marcados como obsoletos.
  • Se ha añadido un modo de recuperación 'merge_btree_nodes', que verifica todos los nodos en estructuras btree que están sujetos a operaciones de fusión.
  • Se llevó a cabo la preparación del código para su transición hacia el uso del lenguaje Rust. El número de operaciones goto utilizadas en el código se ha reducido de 2500 a 600. En lugar de vectores codificados directamente, se ha empleado el macro DARRAY(), que proporciona funcionalidad similar a los arreglos dinámicos en C++ y Rust. Para el manejo de errores se ha utilizado el macro try(), tomado de Rust.
  • En el equipo 'bcachefs fs usage', se ha garantizado la correcta notificación sobre datos degradados.
  • Se ha reelaborado el manejo de contadores que se muestran con el comando 'bcachefs fs top'. Se ha simplificado la adición de nuevos contadores y se ha implementado la posibilidad de convertir puntos de seguimiento (tracepoints) en búferes de salida (printbufs).
  • Se ha mejorado la calidad de los mensajes de error, que ahora incluyen información sobre los tipos de fallos (software o hardware), acciones para resolver el error (como iniciar el proceso de recuperación), códigos de error de entrada/salida obtenidos de dispositivos de bloque y dispositivos ausentes. Al escanear estructuras btree, se proporciona información sobre la posibilidad de recuperar nodos problemáticos.
  • Al registrar en el log, se ha añadido la posibilidad de definir límites separados para la intensidad de salida de diferentes tipos de errores. Tales límites ayudan a prevenir la pérdida de mensajes sobre problemas de hardware aislados en medio de una gran cantidad de mensajes sobre errores de software.
  • Se han añadido indicadores de progreso para todas las etapas de recuperación.

El proyecto Bcachefs está desarrollando un sistema de archivos que busca combinar la funcionalidad avanzada propia de Btrfs y ZFS, con el nivel de rendimiento, fiabilidad y escalabilidad característico de XFS. Bcachefs admite características como la inclusión de múltiples dispositivos en una partición, diseños de almacenamiento en capas (con una capa inferior para datos de uso frecuente en SSD rápidos y una capa superior para datos menos demandados en discos duros), replicación (RAID 1/10), almacenamiento en caché, compresión de datos transparente (modos LZ4, gzip y ZSTD), instantáneas, verificación de integridad mediante sumas de verificación, capacidad para almacenar códigos de corrección de errores de Reed-Solomon (RAID 5/6), y almacenamiento de información de forma cifrada (utilizando ChaCha20 y Poly1305). En términos de rendimiento, Bcachefs supera a Btrfs y otros sistemas de archivos basados en Copy-on-Write, mostrando velocidades de operación cercanas a Ext4 y XFS.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster