Cos'è NFS? File system di rete. Network File Access Protocol

27/02/2019

Quando si tratta di reti di computer, è spesso possibile sentire la menzione di NFS. Cosa significa questa abbreviazione?

nfs che cos'è

Questo è il protocollo un file system distribuito, originariamente sviluppato da Sun Microsystems nel 1984, che consente a un utente su un computer client di accedere ai file attraverso una rete, in modo simile all'accesso all'archivio locale. NFS, come molti altri protocolli, si basa sul sistema Open Network Computing Remote Procedure Call (ONC RPC).

In altre parole, cos'è NFS? È uno standard aperto, definito in Request for Comments (RFC), che consente a chiunque di implementare un protocollo.

Versioni e variazioni

L'inventore ha usato solo la prima versione per i propri scopi sperimentali. Quando il team di sviluppo ha aggiunto modifiche significative al NFS originale e lo ha rilasciato al di fuori della paternità di Sun, ha designato la nuova versione come v2 in modo da poter verificare l'interazione tra le distribuzioni e creare una versione di backup.

file system

NFS v2

La versione 2 inizialmente funzionava solo su User Datagram Protocol (UDP). I suoi sviluppatori volevano mantenere il lato server senza bloccare, implementato al di fuori del protocollo principale.

L'interfaccia del file system virtuale consente di eseguire un'implementazione modulare, come riportato in un semplice protocollo. Nel febbraio 1986, furono dimostrate soluzioni per sistemi operativi come System V release 2, DOS e VAX / VMS usando Eunice. NFS v2 consentiva solo di leggere i primi 2 GB di file a causa delle restrizioni a 32 bit.

file system di rete

NFS v3

La prima proposta per lo sviluppo di NFS versione 3 in Sun Microsystems è stata annunciata poco dopo l'uscita della seconda distribuzione. La motivazione principale era un tentativo di alleviare il problema delle prestazioni di registrazione sincrona. A partire dal luglio 1992, i miglioramenti pratici hanno permesso di risolvere molte delle carenze di NFS versione 2, lasciando solo un supporto insufficiente per i file (dimensioni dei file a 64 bit e spostamenti di file).

La versione 3 ha aggiunto quanto segue:

  • supporto per dimensioni e offset di file a 64 bit per l'elaborazione di dati superiori a 2 gigabyte (GB);
  • supporto per la scrittura asincrona sul server per prestazioni migliorate;
  • attributi di file aggiuntivi in ​​molte risposte per evitare la necessità di riestrarli;
  • Operazione READDIRPLUS per recuperare dati e attributi insieme ai nomi dei file durante la scansione di una directory;
  • molti altri miglioramenti.

Durante l'introduzione della versione 3, il supporto TCP per il protocollo del livello di trasporto ha iniziato ad aumentare. Usare il TCP come mezzo trasferimento dati eseguito utilizzando NFS su WAN, è diventato possibile trasferire file di grandi dimensioni per la visualizzazione e la registrazione. Grazie a questo, gli sviluppatori sono stati in grado di superare i limiti dei limiti di 8 KB imposti dall'UDP (User Datagram Protocol).

Cos'è NFS v4?

La versione 4, sviluppata sotto l'influenza di Endrese File System (AFS) e Server Message Block (SMB, detto anche CIFS), include prestazioni migliorate, offre una maggiore sicurezza e introduce il protocollo in conformità con le condizioni stabilite.

protocollo di accesso al file system

La versione 4 è stata la prima distribuzione sviluppata da Internet Engineering Task Force (IETF) dopo che Sun Microsystems ha trasferito lo sviluppo di protocolli a specialisti di terze parti.

NFS versione 4.1 è progettato per fornire il supporto del protocollo per le distribuzioni di server cluster, inclusa la possibilità di fornire un accesso parallelo scalabile a file distribuiti su più server (estensione pNFS).

L'ultimo protocollo per il file system, NFS 4.2 (RFC 7862), è stato ufficialmente rilasciato a novembre 2016.

Altre estensioni

Con lo sviluppo dello standard, sono apparsi gli strumenti corrispondenti per lavorare con esso. Ad esempio, WebNFS, un'estensione per le versioni 2 e 3, consente al protocollo di accesso alla rete di file system di integrarsi più facilmente nei browser Web e di attivare il lavoro attraverso i firewall.

server nfs

Anche vari protocolli di gruppi di terze parti sono stati associati a NFS. Di questi, i più famosi sono:

  • Network Lock Manager (NLM) con supporto del protocollo di byte (aggiunto per supportare il blocco API dei file System V UNIX);
  • quota remota (RQUOTAD), che consente agli utenti NFS di visualizzare le quote per l'archiviazione dei dati sui server NFS;
  • NFS su RDMA è un adattamento NFS che utilizza l'accesso remoto diretto alla memoria (RDMA) come mezzo di trasferimento;
  • NFS-Ganesha è un server NFS in esecuzione nello spazio utente e supporta CephFS FSAL (livello di astrazione del file system) utilizzando libcephfs.

piattaforma

Network File System viene spesso utilizzato con sistemi operativi Unix (come Solaris, AIX, HP-UX), MacOS di Apple e sistemi operativi simili a Unix (come Linux e FreeBSD).

È anche disponibile per piattaforme come Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, Novell NetWare e IBM AS / 400.

requisiti di nfs

Altri standard simili

I protocolli alternativi di accesso ai file remoti includono un blocco messaggi del server (SMB, anche chiamato CIFS), Apple Transfer Protocol (AFP), NetWare Base Protocol (NCP) e file system del server OS / 400 (QFileSvr.400).

Ciò è dovuto ai requisiti di NFS, che sono focalizzati principalmente su "shell" di tipo Unix.

In questo caso, i protocolli SMB e NetWare (NCP) vengono utilizzati più spesso di NFS nei sistemi che eseguono Microsoft Windows. AFP è più ampiamente utilizzato su piattaforme Apple Macintosh e QFileSvr.400 è più comunemente trovato su OS / 400.

Implementazione tipica

Supponendo un tipico script in stile Unix, in cui un computer (client) ha bisogno di accedere ai dati memorizzati su un altro (server NFS):

  • Il server implementa i processi del file system di rete, che vengono eseguiti automaticamente come nfsd, per rendere i propri dati pubblicamente disponibili ai client. L'amministratore del server definisce come esportare nomi e parametri di directory, generalmente usando il file di configurazione / etc / exports e il comando exportfs.
  • L'amministrazione della sicurezza del server garantisce che possa riconoscere e convalidare un client fidato. La sua configurazione di rete garantisce che i clienti rilevanti possano negoziare con esso attraverso qualsiasi sistema firewall.
  • La macchina client richiede l'accesso ai dati esportati, di solito mediante l'emissione del comando appropriato. Richiede un server (rpcbind) che utilizza la porta NFS e successivamente si connette ad esso.
  • Se tutto accade senza errori, gli utenti sul computer client potranno visualizzare e interagire con i file system installati sul server all'interno dei parametri consentiti.

Si dovrebbe anche prestare attenzione al fatto che l'automazione del processo del file system di rete può anche avvenire - magari usando etc / fstab e / o altri mezzi simili.

Sviluppo fino ad oggi

Entro il 21 ° secolo, i protocolli concorrenti di DFS e AFS non hanno ottenuto alcun successo commerciale maggiore rispetto al Network File System. IBM, che in precedenza aveva acquisito tutti i diritti commerciali delle tecnologie sopra citate, ha donato la maggior parte del codice sorgente AFS alla comunità di software libero nel 2000. Project Open AFS esiste ai giorni nostri. All'inizio del 2005, IBM ha annunciato il completamento delle vendite di AFS e DFS.

A sua volta, nel gennaio 2010, Panasas ha proposto NFS v 4.1 basato su una tecnologia che consente di migliorare le capacità di accesso ai dati. Il protocollo Network File System v 4.1 definisce un metodo per separare i metadati del file system dalla posizione di file specifici. Quindi, va oltre la semplice separazione di nomi / dati.

Qual è il NFS di questa versione in pratica? La funzione sopra riportata la distingue dal protocollo tradizionale, che contiene i nomi dei file e i loro dati sotto un binding al server. Quando si implementa Network File System v 4.1, alcuni file possono essere distribuiti tra server multi-sito, ma la partecipazione del cliente alla separazione di metadati e dati è limitata.

Quando si implementa la quarta distribuzione del protocollo, il server NFS è un insieme di risorse o componenti del server; si presume che siano controllati dal server di metadati.

Il client accede ancora allo stesso server di metadati per eseguire la ricerca per indicizzazione o interagire con lo spazio dei nomi. Quando sposta file da e verso il server, può interagire direttamente con il set di dati appartenente al gruppo NFS.