Capitolo 8.   Samba e DFS

Il DFS (Distributed File System), introdotto con MS-Windows 2000, permette di organizzare le condivisioni di rete in una struttura ad albero svincolando gli utenti di tali risorse dalla conoscenza della reale collocazione delle stesse sui vari serventi. Con MS-Windows 95/98/NT è invece necessario, quando si deve connettere una risorsa, conoscere esattamente la sua collocazione in rete; si può ovviare in parte a questo inconveniente connettendo permanentemente la risorsa all'avvio dell'elaboratore cliente, ma in caso di spostamento della risorsa il problema si ripresenta.

Con il DFS si vengono a creare dei «volumi di rete» che possono essere ispezionati come fossero residenti fisicamente su un solo servente. La struttura può poi essere duplicata, tutta o in parte, per ottenere maggiori garanzie contro le perdite di dati accidentali.

Ogni struttura DFS ha una radice comune a tutte le condivisioni e numerose diramazioni (foglie), tutte di primo livello. Un servente può ospitare una sola radice mentre le foglie possono anche essere ospitate su macchine diverse. Sarebbe anche possibile ottenere strutture più complesse annidando radici di DFS come foglie di altri DFS ma qui non si considera tale possibilità.

Samba può assumere il ruolo di servente DFS e ospitare una radice di un volume DFS grazie alla seguente direttiva nella sezione global:

   host msdfs = yes

e alla definizione di questa nuova sezione:

[dfs]
   path = /dir-expo/dfs
   msdfs root = yes

Nella directory /dir-expo/dfs del servente GNU/Linux si dovranno poi impostare i collegamenti simbolici agli altri serventi della rete procedendo come nell'esempio seguente:

cd /dir-expo/dfs

chown root /dir-expo/dfs

chmod 755 /dir-expo/dfs

ln -s msdfs:servA\\shareA coll-a

ln -s msdfs:servB\\shareBC,servC\\shareBC coll-bc

Il secondo collegamento dell'esempio associa a un solo nome di risorsa DFS, due condivisioni: queste saranno in fault tolerance tra di loro e l'allineamento dei dati al loro interno sarà assicurato dal servente DFS.

Grazie alla definizione dei collegamenti simbolici, quando un cliente si collega a una risorsa DFS, viene ridiretto, in modo del tutto trasparente e automatico, verso la macchina che ospita fisicamente i dati condivisi.