Come funziona NFS (Network File System)?
NFS inizia con due o più computer che possono parlare UDP/IP tra loro, su una connessione di rete a bassa latenza come Ethernet. Versioni successive di NFS permettono anche il TCP/IP, buono per reti ad ampio raggio.
Un computer sarà il server NFS, tiene una lista di directory esportabili nel suo file /etc/exports. Questo file elenca anche quali client hanno accesso in lettura-scrittura o in sola lettura.
Gli altri computer saranno client NFS; eseguono richieste di montaggio che sono permesse o negate a seconda della directory richiesta e dell'indirizzo IP del client. Il montaggio si basa sul client e su tutti i suoi utenti; il server dipende dal client per far rispettare le procedure di accesso ai file. Questo richiede che tutte le parti usino lo stesso database di password distribuito per mantenere coerenti gli ID utente.
Quando un client vuole accedere a un particolare file sul server, avrà un data handle opaco per il punto di montaggio, un altro data handle opaco per la directory selezionata, e un nome di file (non un inode) a cui accedere. Nella richiesta sono inclusi anche un offset in byte e una lunghezza per i dati. (Una lseek() implicita viene eseguita per ogni I/O; il server non ha bisogno di tenere traccia della posizione all'interno del file tra le richieste.)
I dati sono impacchettati in formato XDR, che permette ai computer little-endian di parlare con quelli big-endian. La richiesta è avvolta in RPC (remote procedure call). Più demoni NFS (nfsd) in esecuzione sul server gestiscono le richieste dei client. Nessuno stato è memorizzato sul server, quindi una connessione NFS può essere ricreata dalla richiesta del client. Questo permette ad un server di riavviarsi e riprendere a gestire le richieste; il client vede solo una lunga latenza prima di continuare. Questo è meglio del caso di un file server di Windows che va giù e porta tutti i file aperti giù con esso.
Anche incluso con Sun NFS era l'idea della workstation senza disco. Prima che il DHCP fosse formalizzato, si usava il protocollo BOOTP. La workstation trasmetteva "Conosco il mio indirizzo MAC, qualcuno potrebbe dirmi il mio indirizzo IP e il mio nome, e l'indirizzo IP del mio file server e il percorso della mia directory principale". Dai file nella directory principale del client conoscerebbe la netmask, l'indirizzo broadcast e il gateway predefinito. La capacità di essere un client NFS era incorporata nel kernel del client.
Alla McDonnell-Douglas-Tymshare, avevamo workstation epifite (senza root) per client con un singolo disco da 105MB. Root e /usr vivevano sul file server, swap, /tmp e /home vivevano sul disco locale. L'utente aveva una quota disco molto alta per /home.
Articoli simili
- Quali problemi affronteranno i fan della WWE con il WWE Network per gli eventi dal vivo quando il WWE Network passerà a Peacock?
- Ci sono dei buoni social network automobilistici in giro? Cosa renderebbe un buon social network automobilistico?
- Come recuperare il mio database di WhatsApp se è stato accidentalmente cancellato dal mio file system del cellulare Android
- Come guardare film 4k in una smart TV 4k da un dispositivo di archiviazione esterno, dove la smart TV non supporta un file system diverso da FAT32