Për kernelin Linux është propozuar sistemi i skedarëve DLMPFS

Alexander Aring nga kompania Red Hat, që mbështet nënskemat IEEE 802.15.4, DLM dhe flock/fcntl në kernelin Linux, paraqiti në listën e shpërndarjes për zhvilluesit e kernelit një sistem të specializuar skedari DLMPFS. Sistemi i propozuar i skedarëve ofron një shtresë për bllokimet e skedarëve të shpërndarë të realizuara nga DLM (Menaxheri i Bllokimit të Shpërndarë) dhe ramfs. Realizimi i DLMPFS është i disponueshëm në formën e një grupi patch-e për kernelin Linux 6.19.

DLMPFS lejon punën me një hierarki skedarësh të përbashkët për disa hote, krijimin dhe fshirjen e skedarëve dhe katalogëve, si dhe vendosjen ose heqjen e bllokimeve mbi skedarët përmes funksioneve standarde flock() dhe fcntl(). Në të njëjtën kohë, DLMPFS nuk lejon leximin dhe shkrimin e të dhënave nga skedarët, duke u kufizuar vetëm në operacionet me bllokime. Një kufizim tjetër është mundësia për të përcaktuar gjendjen e bllokimit vetëm duke e njohur plotësisht rrugën e skedarit të bllokuar (DLM kërkon emrin e burimit për të përcaktuar bllokimin).

Me DLMPFS mund të adaptohen lehtësisht aplikacione ekzistuese që varen nga vendosja e bllokimeve përmes API-ve flock/fcntl, për të përdorur bllokime të shpërndara që mbulojnë disa hote në kluster, pa pasur nevojë për angazhim të sistemeve të specializuara të skedarëve të shpërndarë për ruajtjen e të dhënave.

DLMPFS dallohet nga skedari i ngjashëm DLMFS për shkak të përdorimit të API-ve flock/fcntl në vend të API-ve specifike për skedarët OCFS2. Në planet është shtimi i bllokimeve të shpërndara të shënuara në specifikimin POSIX dhe mundësia e lidhjes me backend të ndryshëm për integrimin jo vetëm me DLM, por edhe me menaxherë të tjerë të bllokimeve të shpërndara, si lockd i NFS.

Shembull i përdorimit (në nodin e dytë bllokimi mbi skedarin /mnt/lock do të hiqet pas 20 sekondash): Nodi 1: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'" Nodi 2: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'"

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster