Se ha propuesto un sistema de archivos DLMPFS para el núcleo Linux

Alexander Aring de la empresa Red Hat, que trabaja en el núcleo de Linux con los subsistemas IEEE 802.15.4, DLM y flock/fcntl, ha presentado en la lista de correo de desarrolladores del núcleo un sistema de archivos especializado llamado DLMPFS. Este sistema de archivos propuesto proporciona una capa para los bloqueos de archivos distribuidos, implementada sobre DLM (Distributed Lock Manager) y ramfs. La implementación de DLMPFS está disponible en forma de un conjunto de parches para el núcleo de Linux 6.19.

DLMPFS permite trabajar con una jerarquía de archivos compartida entre varios hosts, crear y eliminar archivos y directorios, y establecer o liberar bloqueos en archivos utilizando las funciones estándar flock() y fcntl(). Sin embargo, DLMPFS no permite leer ni escribir datos en los archivos, limitándose únicamente a operaciones de bloqueo. Otra restricción es que solo se puede determinar el estado de un bloqueo conociendo la ruta completa al archivo bloqueado (DLM requiere el nombre del recurso para determinar el bloqueo).

Con DLMPFS, es fácil adaptar aplicaciones existentes que dependen del establecimiento de bloqueos a través de la API flock/fcntl para utilizar bloqueos distribuidos que abarcan múltiples hosts en un clúster, sin necesidad de emplear sistemas de archivos distribuidos especializados para el almacenamiento de datos.

DLMPFS se diferencia del sistema de archivos similar existente DLMFS en que utiliza la API flock/fcntl en lugar de la API específica del sistema de archivos OCFS2. En el futuro, se planea añadir bloqueos distribuidos, como se especifica en POSIX, y la posibilidad de conectar diferentes backends para integrarse no solo con DLM, sino también con otros gestores de bloqueos distribuidos, como NFS lockd.

Ejemplo de uso (en el segundo nodo, el bloqueo en el archivo /mnt/lock se levantará después de 20 segundos): Nodo 1: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'" Nodo 2: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'"

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