Un système de fichiers DLMPFS a été proposé pour le noyau Linux.

Alexander Aring de Red Hat, qui supervise les sous-systèmes IEEE 802.15.4, DLM et flock/fcntl du noyau Linux, a présenté sur la liste de diffusion des développeurs du noyau un système de fichiers spécialisé, DLMPFS. Le système de fichiers proposé fournit une couche pour les verrous de fichiers distribués, réalisée sur la base de DLM (Distributed Lock Manager) et ramfs. L'implémentation de DLMPFS est disponible sous la forme d'un ensemble de correctifs pour le noyau Linux 6.19.

DLMPFS permet de travailler avec une hiérarchie de fichiers partagée entre plusieurs hôtes, de créer et de supprimer des fichiers et des répertoires, et de mettre ou de retirer des verrous sur des fichiers en utilisant les fonctions standard flock() et fcntl(). DLMPFS ne permet cependant pas d'écrire ou de lire des données dans des fichiers, se limitant uniquement aux opérations de verrouillage. Une autre restriction est qu'il est seulement possible de déterminer l'état d'un verrou en connaissant le chemin complet du fichier verrouillé (DLM nécessite le nom de la ressource pour déterminer le verrou).

Avec DLMPFS, il est facile d'adapter les applications existantes qui reposent sur l'établissement de verrous via l'API flock/fcntl, pour utiliser des verrous distribués couvrant plusieurs hôtes dans le cluster, sans avoir besoin d'utiliser des systèmes de fichiers distribués spécialisés pour le stockage des données.

DLMPFS se distingue du système de fichiers similaire existant, DLMFS, en utilisant l'API flock/fcntl au lieu d'une API spécifique au système de fichiers OCFS2. Des plans sont prévus pour ajouter à DLMPFS des verrous distribués conformes à la spécification POSIX, ainsi que la possibilité de connecter différents backends pour s'intégrer non seulement à DLM, mais aussi à d'autres gestionnaires de verrous distribués, tels que NFS lockd.

Exemple d'utilisation (sur le deuxième nœud, le verrou sur le fichier /mnt/lock sera levé dans 20 secondes) : Nœud 1 : mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'" Nœud 2 : mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'"

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster