6 999
contributi
Nessun oggetto della modifica |
S3v (discussione | contributi) Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Tutte le versioni di Debian|}} | {{Versioni compatibili|Tutte le versioni di Debian|}} | ||
__TOC__ | __TOC__ | ||
=Creare una directory shared tra macchine Linux ( | =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 | 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 = | = 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> | 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> | ||
{{Box | Importante |Per accedere a file con dimensione maggiore di 2 Gb, bisogna installare il pacchetto <code>'''unfs3'''</code> (nfs userspace daemon v3) | {{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>}} | ||
{{Box | Nota |Per impostazione predefinita Portmap è associato solo all'indirizzo di localhost, mentre nell'uso consueto è diretto verso una o più reti | {{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> }} | ||
Un esempio di entry per il file export può essere: | Un esempio di entry per il file export può essere: | ||
Riga 17: | 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: | ||
* <code>'''/mnt/Data/download'''</code> è la directory da esportare | * <code>'''/mnt/Data/download'''</code> è la directory da esportare | ||
* <code>'''192.168.2.3'''</code> è il client che può raggiungere la directory in questione; | * <code>'''192.168.2.3'''</code> è il client che può raggiungere la directory in questione; | ||
Riga 26: | 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 | {{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. | ||
<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. | <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 <code>'''sync'''</code> nelle situazioni di rw, ed <code>'''async'''</code> 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. }} | ||
È 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 <code>'''/etc/fstab'''</code>, aggiungendo una voce relativa alla directory che si vuole raggiungere via | 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: | ||
* '''< | * '''<code>192.168.2.2:/mnt/Data/download</code>''': è la URL completa della directory da raggiungere (sintassi, ip:path); | ||
* '''< | * '''<code>/mnt/nfs</code>''': è la directory dove si vuole montare il device (la directory deve essere stata creata precedentemente); | ||
* '''< | * '''<code>nfs</code>''': indica il tipo di filesystem da usare (in questo caso NFS, filesystem di rete); | ||
* '''< | * '''<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); | ||
* '''< | * '''<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 | per poter usare normalmente la share NFS, come una normale directory del sistema. | ||
In caso di malfunzionamenti inoltre, è possibile controllare lo stato della share | 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. | ||
---- | ---- |
contributi