Për bërthamën Linux është propozuar një sistem skedarësh DLMPFS

Alexander Aring nga kompania Red Hat, i cili mbështet nënësistemat IEEE 802.15.4, DLM dhe flock/fcntl në bërthamën Linux, paraqiti në listën e email-it të zhvilluesve të bërthamës një sistem të specializuar skedarësh DLMPFS. Sistemi i propozuar ofron një shtresë për bllokimet e skedarëve të shpërndara, të realizuara bazuar në DLM (Menaxheri i Bllokimeve të Shpërndara) dhe ramfs. Implementimi i DLMPFS është i disponueshëm në formën e një grupe patch-e për bërthamën Linux 6.19.

DLMPFS lejon punën me një hierarki skedarësh të përbashkët për disa hoste, të krijoni dhe fshini skedarë dhe katalogë, si dhe të vendosni ose hiqni bllokimet për skedarët duke përdorur funksionet standarde flock() dhe fcntl(). Megjithatë, DLMPFS nuk lejon të shkruani dhe të lexoni të dhëna nga skedarët, duke u kufizuar vetëm në operacionet me bllokime. Një kufizim tjetër është se është e mundur të përcaktoni gjendjen e bllokimit vetëm duke ditur rrugën e plotë të skedarit që duhet bllokuar (DLM kërkon emrin e burimit për të përcaktuar bllokimin).

Me DLMPFS është e lehtë të adaptosh aplikacionet ekzistuese, të lidhura me vendosjen e bllokimeve përmes API-ve flock/fcntl, për të përdorur bllokimet e shpërndara, që mbulojnë disa hoste në një klaster, pa nevojën për të angazhuar sisteme të specializuara të shpërndara për ruajtjen e të dhënave.

DLMPFS dallon nga sistemi i ngjashëm ekzistues DLMFS duke përdorur API'n flock/fcntl në vend të API's specifike për sistemet e skedarëve OCFS2. Në planet është shtimi i bllokimeve të shpërndara, të shënuara në specifikimin POSIX, dhe mundësia e lidhjes së backend-eve të ndryshme për integrim jo vetëm me DLM, por edhe me menaxherë të tjerë bllokimesh të shpërndara, si NFS lockd.

Shembulli i përdorimit (në nyjën e dytë bllokimi për skedarin /mnt/lock do të hiqet pas 20 sekondash): Nyja 1: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'" Nyja 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

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