Per il kernel Linux è proposta un file system DLMPFS

Alexander Aring di Red Hat, responsabile delle sottosistemi IEEE 802.15.4, DLM e flock/fcntl nel kernel Linux, ha presentato nella mailing list degli sviluppatori del kernel un file system specializzato chiamato DLMPFS. Il file system proposto fornisce uno strato per i blocchi distribuiti dei file, realizzato sulla base di DLM (Distributed Lock Manager) e ramfs. L'implementazione di DLMPFS è disponibile sotto forma di un insieme di patch per il kernel Linux 6.19.

DLMPFS consente di lavorare con una gerarchia di file condivisa tra più host, di creare e rimuovere file e directory, e di impostare o sollevare blocchi sui file utilizzando le funzioni standard flock() e fcntl(). Tuttavia, DLMPFS non consente di leggere e scrivere dati dai file, limitandosi solo alle operazioni sui blocchi. Un ulteriore limite è che è possibile determinare lo stato del blocco solo conoscendo il percorso completo del file da bloccare (DLM richiede il nome della risorsa per definire il blocco).

Con DLMPFS è possibile adattare facilmente le applicazioni esistenti che utilizzano il locking tramite API flock/fcntl, per utilizzare i locking distribuiti che coprono più host in un cluster, senza la necessità di utilizzare un file system distribuito specializzato per la memorizzazione dei dati.

DLMPFS si distingue dal già esistente file system simile DLMFS per l'utilizzo delle API flock/fcntl invece delle API specifiche per il file system OCFS2. Nei piani c'è l'aggiunta a DLMPFS di locking distribuiti, come indicato nella specifica POSIX, e la possibilità di connettere diversi backend per integrare non solo con DLM, ma anche con altri gestori di locking distribuiti, come NFS lockd.

Esempio di utilizzo (sul secondo nodo, il lock sul file /mnt/lock verrà rilasciato dopo 20 secondi): 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'"

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster