Differenze tra le versioni di "Old:NFS: Networking FileSystem tramite nfs-user-server"

Da Guide@Debianizzati.Org.
Jump to navigation Jump to search
 
(20 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
==Come creare una directory shared tra macchine linux (nfs, acronimo di Network File System)==
+
{{Old}}
 +
__TOC__
  
 +
==Creare una directory shared tra macchine Linux (NFS: Network File System)==
 
Per far comunicare due macchine Linux si possono utilizzare diversi metodi: il più veloce consiste nell'utilizzare NFS per mettere in condivisione una particolare directory del filesystem, rendendola così disponibile ad altri client.<br>
 
Per far comunicare due macchine Linux si possono utilizzare diversi metodi: il più veloce consiste nell'utilizzare NFS per mettere in condivisione una particolare directory del filesystem, rendendola così disponibile ad altri client.<br>
Di seguito è descritta una semplice procedura per configurare ed avviare il daemon di nfs sul server e per istruire il client a raggiungere la directory esportata. Questa non vuole essere una guida esaustiva ad nfs, ma solo una breve descrizione di come risolvere velocemente lo scambio di dati tra macchiine linux.
+
Di seguito è descritta una semplice procedura per configurare ed avviare il daemon di NFS sul server e per istruire il client a raggiungere la directory esportata. Questa non vuole essere una guida esaustiva ad NFS, ma solo una breve descrizione di come risolvere velocemente lo scambio di dati tra macchine Linux.
  
 +
== Impostazione del Server ==
 +
Dopo aver installato con apt-get i pacchetti <code>'''nfs-user-server'''</code> (un demone Linux che lavora in userspace) e <code>'''portmap'''</code>, bisogna modificare il file <code>'''/etc/exports'''</code> (se non esiste, occorre crearlo) aggiungendo una riga per ognuna delle directory da esportare.<br>
  
=== Impostazione del Server ===
+
{{Box | Importante |Per accedere a file con dimensione maggiore di 2 Gb, bisogna installare il pacchetto <code>'''unfs3'''</code> (nfs userspace daemon v3) anziché <code>nfs-user-server</code>}}
Dopo aver installato con apt-get i pacchetti '''nfs-user-server''' (un linux daemon che lavora in userspace) e '''portmap''', bisogna modificare il file '''/etc/exports''' (se non esiste, occorre crearlo) aggiungendo una riga per ognuna delle directory da esportare.<br>
 
  
{{Box | Importante |Per accedere a file con dimensione maggiore di 2 Gb, bisogna installare il pacchetto '''unfs3''' (nfs userspace daemon v3) anzichè nfs-user-server}}
+
{{Box | Nota |Per impostazione predefinita Portmap è associato solo all'indirizzo di localhost, mentre nell'uso consueto è diretto verso una o più reti LAN. Per permettere alle varie reti di accedere al server è necessario modificare (oppure eliminare, per permettere un accesso completo) il parametro <code>'''OPTIONS'''</code>, presente nel file <code>'''/etc/default/portmap'''</code> }}
 
 
{{Box | Nota |Per impostazione predefinita Portmap è associato solo all'indirizzo di localhost, mentre nell'uso consueto è diretto verso una o più reti lan. Per permettere alle varie reti di accedere al server è necessario modificare (oppure eliminare, per permettere un accesso completo) il parametro '''OPTIONS''', presente nel file '''/etc/default/portmap''' }}
 
  
 
Un esempio di entry per il file export può essere:
 
Un esempio di entry per il file export può essere:
Riga 16: Riga 17:
 
<pre>/mnt/Data/download 192.168.2.3 (rw)</pre>  
 
<pre>/mnt/Data/download 192.168.2.3 (rw)</pre>  
  
in cui
+
in cui:
* '''/mnt/Data/download''' è la directory da esportare
+
* <code>'''/mnt/Data/download'''</code> è la directory da esportare
* '''192.168.2.3'''        è il client che può raggiungere la directory in questione;
+
* <code>'''192.168.2.3'''</code>       è il client che può raggiungere la directory in questione;
* '''(rw)'''              sono le opzioni impostabili ('''rw''':permessi di scrittura/lettura);
+
* <code>'''(rw)'''</code>               sono le opzioni impostabili ('''rw''':permessi di scrittura/lettura);
  
 
Qualora, invece, volessimo esportare la directory a tutte le macchine presenti all'interno di una sottorete:
 
Qualora, invece, volessimo esportare la directory a tutte le macchine presenti all'interno di una sottorete:
Riga 25: Riga 26:
 
<pre>/mnt/Data/download    192.168.0.1/255.255.255.0(rw)</pre>
 
<pre>/mnt/Data/download    192.168.0.1/255.255.255.0(rw)</pre>
  
{{Box | Nota |Nelle nuove versioni di nfs è necessario inserire un flag aggiuntivo ('''sync''' oppure '''async''') per definire la modalità di accesso ed uso dei file.
+
{{Box | Nota |Nelle nuove versioni di NFS è necessario inserire un flag aggiuntivo (<code>'''sync'''</code> oppure <code>'''async'''</code>) per definire la modalità di accesso ed uso dei file.
'''Sync''' forza la scrittura immediata dei dati man mano che questi arrivano al server, mentre '''async''' consente di scrivere tali dati in intervalli successivi, migliorando così le performance del trasferimento.
+
<code>'''Sync'''</code> forza la scrittura immediata dei dati man mano che questi arrivano al server, mentre <code>'''async'''</code> consente di scrivere tali dati in intervalli successivi, migliorando così le performance del trasferimento.
Vista la peculiarità di questo tipo di trasferimento è conveniente usare '''sync''' nelle situazioni di rw, ed '''async''' in quelle di ro, in modo da eliminare il pericolo di dati non salvati correttamente (e quindi persi) durante le fasi di scrittura nel caso di crash del server. }}
+
Vista la peculiarità di questo tipo di trasferimento è conveniente usare <code>'''sync'''</code> nelle situazioni di rw, ed <code>'''async'''</code> in quelle di <code>ro</code>, in modo da eliminare il pericolo di dati non salvati correttamente (e quindi persi) durante le fasi di scrittura nel caso di crash del server. }}
  
E' possibile inoltre definire gli accessi in modo più fine utilizzando i file /etc/host.access e /etc/host.denied, ma per un uso basilare di nfs non è necessario applicare alcuna modifica.
+
È possibile inoltre definire gli accessi in modo più fine utilizzando i file <code>/etc/host.access</code> e <code>/etc/host.denied</code>, ma per un uso basilare di NFS non è necessario applicare alcuna modifica.
  
=== Impostazione del Client ===
+
== Impostazione del Client ==
Bisogna innanzitutto installare '''nfs-common''' con apt-get, e successivamente modificare il proprio '''/etc/fstab''', aggiungendo una voce relativa alla directory che si vuole raggiungere via nfs; ad esempio:
+
Bisogna innanzitutto installare '''nfs-common''' con apt-get, e successivamente modificare il proprio <code>'''/etc/fstab'''</code>, aggiungendo una voce relativa alla directory che si vuole raggiungere via NFS; ad esempio:
  
 
<pre>192.168.2.2:/mnt/Data/download  /mnt/nfs nfs rw,users,noauto  0  0</pre>
 
<pre>192.168.2.2:/mnt/Data/download  /mnt/nfs nfs rw,users,noauto  0  0</pre>
  
in cui
+
in cui:
*    '''<tt>192.168.2.2:/mnt/Data/download</tt>''' &nbsp;&nbsp;&nbsp;  è la url completa della directory da raggiungere (sintassi, ip:path);
+
*    '''<code>192.168.2.2:/mnt/Data/download</code>''': è la URL completa della directory da raggiungere (sintassi, ip:path);
*    '''<tt>/mnt/nfs</tt>''' &nbsp;&nbsp;&nbsp; è la directory dove si vuole montare il device (la directory deve essere stata creata precendentemente);
+
*    '''<code>/mnt/nfs</code>''': è la directory dove si vuole montare il device (la directory deve essere stata creata precedentemente);
*    '''<tt>nfs</tt>''' &nbsp;&nbsp;&nbsp;  indica il tipo di filesystem da usare (in questo caso nfs, filesystem di rete);
+
*    '''<code>nfs</code>''': indica il tipo di filesystem da usare (in questo caso NFS, filesystem di rete);
*    '''<tt>rw,users,noauto</tt>''' &nbsp;&nbsp;&nbsp;  sono i flag di mount del device (rw: permessi di scrittura/lettura, users: device montabile e smontabile dai vari user, noauto: device da non avviare automaticamente al boot del sistema);
+
*    '''<code>rw,users,noauto</code>''': sono i flag di mount del device (rw: permessi di scrittura/lettura, users: device montabile e smontabile dai vari user, noauto: device da non avviare automaticamente al boot del sistema);
*    '''<tt>0 0</tt>''' &nbsp;&nbsp;&nbsp;  sono i flag relativi al check del device da parte dei programmi di controllo della coerenza del filesystem.
+
*    '''<code>0 0</code>''': sono i flag relativi al check del device da parte dei programmi di controllo della coerenza del filesystem.
  
A questo punto basta un semplice
+
A questo punto basta un semplice:
  
 
<pre>$ mount /mnt/nfs</pre>  
 
<pre>$ mount /mnt/nfs</pre>  
  
per poter usare normalmente la share nfs, come una normale directory del sistema.
+
per poter usare normalmente la share NFS, come una normale directory del sistema.
 
 
In caso di malfunzionamenti inoltre, è possibile controllare lo stato della share nfs sia dal client che dal server, utilizzando le applicazioni '''rpcinfo''' e '''nfsstat''' in modo da verificare visualmente le risorse condivise attive nella rete.
 
  
----
+
In caso di malfunzionamenti, inoltre, è possibile controllare lo stato della share NFS sia dal client che dal server, utilizzando le applicazioni '''rpcinfo''' e '''nfsstat''' in modo da verificare visualmente le risorse condivise attive nella rete.
  
[[Utente:Ldonesty|Ldonesty]]
+
{{Autori
[[Categoria:Networking]][[Categoria:Desktop]]
+
| Autore = [[Utente:Ldonesty|Ldonesty]]
 +
}}

Versione attuale delle 13:00, 19 giu 2016

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


Creare una directory shared tra macchine Linux (NFS: Network File System)

Per far comunicare due macchine Linux si possono utilizzare diversi metodi: il più veloce consiste nell'utilizzare NFS per mettere in condivisione una particolare directory del filesystem, rendendola così disponibile ad altri client.
Di seguito è descritta una semplice procedura per configurare ed avviare il daemon di NFS sul server e per istruire il client a raggiungere la directory esportata. Questa non vuole essere una guida esaustiva ad NFS, ma solo una breve descrizione di come risolvere velocemente lo scambio di dati tra macchine Linux.

Impostazione del Server

Dopo aver installato con apt-get i pacchetti nfs-user-server (un demone Linux che lavora in userspace) e portmap, bisogna modificare il file /etc/exports (se non esiste, occorre crearlo) aggiungendo una riga per ognuna delle directory da esportare.

Info.png Importante
Per accedere a file con dimensione maggiore di 2 Gb, bisogna installare il pacchetto unfs3 (nfs userspace daemon v3) anziché nfs-user-server


Info.png Nota
Per impostazione predefinita Portmap è associato solo all'indirizzo di localhost, mentre nell'uso consueto è diretto verso una o più reti LAN. Per permettere alle varie reti di accedere al server è necessario modificare (oppure eliminare, per permettere un accesso completo) il parametro OPTIONS, presente nel file /etc/default/portmap


Un esempio di entry per il file export può essere:

/mnt/Data/download 192.168.2.3 (rw)

in cui:

  • /mnt/Data/download è la directory da esportare
  • 192.168.2.3 è il client che può raggiungere la directory in questione;
  • (rw) sono le opzioni impostabili (rw:permessi di scrittura/lettura);

Qualora, invece, volessimo esportare la directory a tutte le macchine presenti all'interno di una sottorete:

/mnt/Data/download    192.168.0.1/255.255.255.0(rw)
Info.png Nota
Nelle nuove versioni di NFS è necessario inserire un flag aggiuntivo (sync oppure async) per definire la modalità di accesso ed uso dei file.

Sync forza la scrittura immediata dei dati man mano che questi arrivano al server, mentre async consente di scrivere tali dati in intervalli successivi, migliorando così le performance del trasferimento. Vista la peculiarità di questo tipo di trasferimento è conveniente usare sync nelle situazioni di rw, ed async in quelle di ro, in modo da eliminare il pericolo di dati non salvati correttamente (e quindi persi) durante le fasi di scrittura nel caso di crash del server.


È possibile inoltre definire gli accessi in modo più fine utilizzando i file /etc/host.access e /etc/host.denied, ma per un uso basilare di NFS non è necessario applicare alcuna modifica.

Impostazione del Client

Bisogna innanzitutto installare nfs-common con apt-get, e successivamente modificare il proprio /etc/fstab, aggiungendo una voce relativa alla directory che si vuole raggiungere via NFS; ad esempio:

192.168.2.2:/mnt/Data/download  /mnt/nfs nfs rw,users,noauto   0   0

in cui:

  • 192.168.2.2:/mnt/Data/download: è la URL completa della directory da raggiungere (sintassi, ip:path);
  • /mnt/nfs: è la directory dove si vuole montare il device (la directory deve essere stata creata precedentemente);
  • nfs: indica il tipo di filesystem da usare (in questo caso NFS, filesystem di rete);
  • rw,users,noauto: sono i flag di mount del device (rw: permessi di scrittura/lettura, users: device montabile e smontabile dai vari user, noauto: device da non avviare automaticamente al boot del sistema);
  • 0 0: sono i flag relativi al check del device da parte dei programmi di controllo della coerenza del filesystem.

A questo punto basta un semplice:

$ mount /mnt/nfs

per poter usare normalmente la share NFS, come una normale directory del sistema.

In caso di malfunzionamenti, inoltre, è possibile controllare lo stato della share NFS sia dal client che dal server, utilizzando le applicazioni rpcinfo e nfsstat in modo da verificare visualmente le risorse condivise attive nella rete.




Guida scritta da: Ldonesty

Swirl-auth20.png Debianized 20%

Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized