# Distributed File System (Microsoft)

Il Distributed File System (in acronimo DFS o Dfs), in italiano file system distribuito, è una tecnologia di Microsoft che permette di raggruppare in un'unica struttura logica di directory più cartelle situate fisicamente su file server diversi. L'utente che accede alla rete utilizzando il protocollo SMB, vedrà cartelle e file come se fossero su un unico server, anche se fisicamente saranno contenuti in server diversi, situati anche in punti distanti tra loro. È inoltre possibile memorizzare copie multiple di un singolo file, e il servizio provvederà a scegliere in modo ottimale il server a cui inoltrare la richiesta.
La tecnologia DFS è disponibile solamente sui sistemi operativi server di Microsoft, quali ad esempio Windows Server 2003. I sistemi operativi client quali Windows 98, XP, Vista o Linux, possono solamente accedere ad una struttura DFS, ma non possono entrare a farne parte con le proprie cartelle locali.
È incompatibile con il file system DCE/DFS di IBM, quasi omonimo ma il cui sviluppo si è interrotto nel 2005.

## Panoramica

Il componente server DFS è stato introdotto con la denominazione "DFS 4.1" come add-on nel sistema operativo Windows NT 4.0, ed è stato incluso come componente standard in tutte le versioni successive dei sistemi operativi di classe server, a partire da Windows 2000 Server. Il supporto client del DFS è stato introdotto dalla Microsoft a partire da Windows 4.0 Workstation.
Una struttura DFS può essere creata solamente con un sistema operativo Microsoft di classe server; i sistemi operativi di classe Enterprise e Datacenter di Microsoft possono ospitare più di una struttura DFS sullo stesso server.
Esistono due modalità di attivazione di DFS su un server:
* DFS standalone: la struttura DFS esiste ed è visibile solamente dal computer locale, quindi non utilizza Active Directory. Questa modalità non offre alcuna fault tolerance e non può essere collegato ad altre strutture DFS. La modalità standalone è l'unica disponibile sul sistema operativo Windows NT 4.0 Server.
* DFS di dominio: sfrutta Active Directory, può contenere le informazioni provenienti dai server che fanno parte del dominio e fornisce il supporto fault tolerance.
La struttura DFS (o le strutture, nel caso di S.O. Enterprise o Datacenter) devono essere ospitate su un controller di dominio per garantire la coerenza nel recupero dei dati all'interno della rete. Tutte le informazioni sulla struttura DFS sono replicate all'interno della rete tramite il "File Replication Service" (FRS) di Microsoft.
A partire dal sistema operativo Microsoft Windows Server 2003 release R2, sono state apportati alcuni miglioramenti a DFS, ad esempio:
* il "File Replication Service" è stato sostituito dal nuovo componente "Replica DFS" anche se il vecchio componente FRS è ancora utilizzato per replicare cartelle particolari quali SYSVOL;
* l'interfaccia utente per la gestione di FRS da parte degli amministratori è stata migliorata: è presente un'interfaccia grafica e a riga di comando.
* è stata ottimizzata la tecnologia di replica per ridurre il consumo di banda: vengono replicati solamente i blocchi modificati dei file.

## Vantaggi

I vantaggi di questa tecnologia sono molteplici:
* gli utenti che accedono da remoto ad un file in rete, non si devono preoccupare della sua posizione "fisica", che può anche variare senza creare problemi;
* ne consegue che l'amministratore può spostare cartelle e file da un server all'altro per ottimizzarne il bilanciamento del carico, senza che per l'utente cambi la visione della struttura delle cartelle;
* sempre per ottimizzare il carico di lavoro, è inoltre possibile aggiungere facilmente e in maniera trasparente nuovi file server;
* tipicamente, specie in ambiti un poco strutturati, il sistemista impone una regola centralizzata di AD (assorbita in automatico dai client durante la login al dominio) per cui in esplora risorse viene mappata un'unità di rete (con una lettera fissa, uguale per tutti). Questa unità, quando serve, è gestita tramite DFS in quanto "simula" un'unica cartella quando, invece, sono N archivi fisici su storage diversi.