Linux Adictos David Naranjo  

Zonefs FS: el sistema de archivos de Western Digital para unidades zonificadas

ZoneFS

El director de desarrollo de software de Western Digital ha propuesto un nuevo sistema de archivos Zonefs en la lista de correo de desarrolladores de kernel de Linux, con el objetivo de simplificar el trabajo de bajo nivel con dispositivos de almacenamiento por zonas. Zonefs asocia cada zona en la unidad con un archivo separado que puede usarse para almacenar datos en modo sin procesar sin manipulación en el sector y el nivel de bloque.

Zonefs no es un FS compatible con POSIX y está limitado por un alcance bastante limitado que permite a las aplicaciones usar la API de archivo en lugar de acceder directamente a un dispositivo de bloque usando ioctl. Los archivos asociados con zonas requieren operaciones de escritura secuenciales que comienzan desde el final del archivo (escritura en modo de complemento).

Los archivos proporcionados en Zonefs se pueden usar para colocar bases de datos en la parte superior de las unidades zonificadas utilizando estructuras de registro de fusión estructurada de registro (LSM), comenzando por el concepto de un archivo: una zona de almacenamiento.

Por ejemplo, se utilizan estructuras similares en las bases de datos RocksDB y LevelDB. El enfoque propuesto hace posible reducir el costo de portar código que fue diseñado originalmente para manipular archivos en lugar de bloquear dispositivos, así como organizar trabajos de bajo nivel con unidades zonificadas desde aplicaciones en lenguajes de programación que no sean C.

Bajo unidades divididas en zonas destinadas dispositivos para unidades de disco duro o NVMe SSD, espacio de almacenamiento que se divide en zonas, sectores o bloques que constituyen el grupo en el que solo se permite la actualización de datos secuencial además a lo largo de todo el grupo de bloques.

Por ejemplo, la zonificación de grabación se usa en dispositivos con Shingled Magnetic Recording (SMR), en los que el ancho de la pista es menor que el ancho del cabezal magnético, y la grabación se realiza con una superposición parcial de la pista vecina, es decir, cualquier sobrescritura hace necesario sobrescribir todo el grupo de pistas.

Damien Le Moal de Western Digital describe Zonefs como

Zonefs no es un sistema de archivos compatible con POSIX. Su objetivo es simplificar la implementación del soporte de dispositivos de bloque zonificado en aplicaciones reemplazando los accesos de archivos de dispositivos de bloques sin procesar con una API basada en archivos más rica, evitando depender de ioctls de archivos de dispositivos de bloques directos que pueden ser más oscuros para los desarrolladores.

Un ejemplo de este enfoque es la implementación de estructuras de árbol LSM en dispositivos de bloques zonificados permitiendo que las SSTables se almacenen en un archivo de zona de manera similar a un sistema de archivos normal en lugar de una gama de sectores de un dispositivo zonal.

En cuanto a las unidades SSD, inicialmente tienen un enlace a operaciones de escritura secuenciales con limpieza preliminar de datos, pero estas operaciones están ocultas a nivel del controlador y la capa FTL (Capa de traducción Flash). Para aumentar la eficiencia bajo ciertos tipos de carga, NVMe ha estandarizado la interfaz ZNS (Zoned Namespaces), que permite el acceso directo a las zonas sin pasar por la capa FTL.

Linux para discos duros zonificados que comienzan con el núcleo 4.10 ofrece dispositivos de bloque ZBC (SCSI) y ZAC (ATA) y desde la versión 4.13, se ha agregado el módulo dm-zoned, que representa el disco zonificado como un dispositivo de bloque normal, ocultando las restricciones de escritura utilizadas durante el trabajo.

A nivel del sistema de archivos, el soporte de zonificación ya se ha integrado en el sistema de archivos F2FS y se está desarrollando un conjunto de parches para el sistema de archivos Btrfs, cuya adaptación para las unidades zonificadas se simplifica trabajando en modo CoW de copia en escritura. Ext4 y XFS que se ejecutan sobre unidades zonificadas se pueden organizar usando dm-zoned.

Para simplificar la traducción de los sistemas de archivos, se propone la interfaz ZBD, que traduce las operaciones de escritura aleatoria en archivos en secuencias de operaciones de escritura secuencial.

Fuente: https://blog.westerndigital.com

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.