Voor de Linux-kernel is een bestandssysteem DLMPFS voorgesteld.

Alexander Aring van Red Hat, die verantwoordelijk is voor de IEEE 802.15.4, DLM en flock/fcntl subsystems in de Linux-kernel, heeft een gespecialiseerde bestandssysteem DLMPFS voorgesteld op de mailinglijst voor kernelontwikkelaars. Het voorgestelde bestandssysteem biedt een laag voor gedistribueerde bestandsvergrendelingen, gerealiseerd op basis van DLM (Distributed Lock Manager) en ramfs. De implementatie van DLMPFS is beschikbaar in de vorm van een patchset voor de Linux-kernel 6.19.

DLMPFS maakt het mogelijk om te werken met een gedeelde hiƫrarchie van bestanden voor meerdere hosts, om bestanden en mappen aan te maken en te verwijderen, en om vergrendelingen op bestanden in te stellen of op te heffen met behulp van de standaardfuncties flock() en fcntl(). Hierbij laat DLMPFS geen schrijven of lezen van gegevens uit bestanden toe, maar is het beperkt tot operaties met vergrendelingen. Een beperking is ook dat de status van de vergrendeling alleen kan worden bepaald door de volledige bestandsnaam van het vergrendelde bestand te kennen (DLM vereist de naam van de hulpbron om de vergrendeling te bepalen).

Met behulp van DLMPFS kunnen bestaande applicaties die zijn ontworpen voor vergrendelingen via de API flock/fcntl gemakkelijk worden aangepast om gedistribueerde vergrendelingen te gebruiken die meerdere hosts in een cluster bestrijken, zonder dat gespecialiseerde gedistribueerde bestandssystemen voor datadoeleinden nodig zijn.

DLMPFS verschilt van het reeds bestaande vergelijkbare bestandssysteem DLMFS door het gebruik van de API flock/fcntl in plaats van de API die specifiek is voor bestandssysteem OCFS2. Plannen omvatten de toevoeging van gedistribueerde vergrendelingen zoals beschreven in de POSIX-specificatie, en de mogelijkheid om verschillende backends aan te sluiten voor integratie met niet alleen DLM, maar ook andere gedistribueerde vergrendelingsbeheerders, zoals NFS lockd.

Voorbeeld van gebruik (op de tweede node zal de vergrendeling op het bestand /mnt/lock na 20 seconden worden opgeheven): Node 1: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'" Node 2: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'"

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster