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

Da Guide@Debianizzati.Org.
Jump to navigation Jump to search
Riga 1: Riga 1:
Beh, non tutti possono fare a meno di
+
==Come creare una directory shared tra macchine linux (nfs, acronimo di Network File System)==
 
 
 
  
 
# Usare il bootloader di Windows, per avviare anche gli altri OS a cui siamo interessati;<br>
 
  
Questo articolo prova a spiegare in modo semplice come impostare ed utilizzare il secondo metodo.<br>
+
Per far comunicare due macchine Linux, è possibile in diversi metodi: il modo più veloce per fare tutto ciò, è utilizzare NFS per mettere in condivisione una particolare directory del filesystem ad altri client.<br>
Lo spunto e le nozioni riportate derivano dall'articolo di '''Rover''' presente a [http://www.littlewhitedog.com/content-52.html questo indirizzo].
+
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.
  
 
 
 
  
Visto che siamo decisi a lasciare al boot loader di Windows l'onere di tutto il , specificando la partizione corrispondente alla / usata per installare Linux.
+
===[Impostazione del Server]===
Ad esempio, nel mio caso ho:
+
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''' (in caso esso non esista, bisogna crearlo) aggiungendo una riga per ogni directory che si vuole esportare.<br>
  
/dev/hda7 ---> /<br>
+
{{Box | Nota |Portmap viene impostato di default ad essere "bindato" sul solo indirizzo di localhost, mentre l'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''' }}
/dev/hda6 ---> /home
 
  
quindi devo scegliere /dev/hda7.<br>
+
Un esempio di entry per il file export può essere:
Una volta completata la procedura di installazione, SENZA riavviare il
 
Dopo aver aperto una shell eseguite questo comando:
 
  
<pre>$ dd if=/dev/hda7 bs=512 count=1 of=/home/USER/linux.bin</pre>
+
<pre>/mnt/Data/download 192.168.2.3 (rw)</pre>  
  
 
 
 
Sempre dalla shell, copiamo '''linux.bin''' su un floppy vuoto, precendentemente inserito nell'apposito lettore con
 
  
<pre>$ mcopy /home/USER/linux.bin a:</pre>
+
in cui
 +
*    '''/mnt/Data/download''' &nbsp;&nbsp;&nbsp; è la directory da esportare
 +
*    '''192.168.2.3'''      &nbsp;&nbsp;&nbsp;è il client che può raggiungere la directory in questione;
 +
*    '''(rw)'''      &nbsp;&nbsp;&nbsp;sono le opzioni impostabili ('''rw''':permessi di scrittura/lettura);
  
NB: '''mcopy''' fa parte del pacchetto degli '''mtools''', nel caso non fosse installato e possibile usare i metodi standard di mount del device e di copia di un file.<br>
 
Nel caso non si disponga di un drive floppy, e possibile usare un qualsiasi supporto utilizzabile in scrittura da Linux (una partizione di fat32, una pen drive, un cdrw, etc etc)<br>
 
 
Una volta loggati come utente Administrator o equivalente, possiamo dedicarci alle modifiche.
 
  
, , come ad esempio c:\ .<br>
+
Qualora, invece, volessimo esportare la directory a tutte le macchine presenti all'interno di una sottorete:
Una volta attivata la '''visualizzazione dei file nascosti''' e quella dei '''file di
 
:
 
  
<pre>   [boot loader]
+
<pre>/mnt/Data/download    192.168.0.1/255.255.255.0(rw)</pre>
    timeout=15
 
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
 
    [operating systems]
 
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect</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.
 +
'''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. }}
  
+
E' possibile inoltre definire gli accessi in modo più granulare utilizzando i file /etc/host.access e /etc/host.denied, ma per un uso basilare di nfs non è necessario applicare alcuna modifica.
  
<pre>c:\linux.bin="Linux"</pre>
+
===[Impostazione del Client]===
 +
Bisogna innanzitutto installare '''nfs-common''' con apt-get, e successivamente modificare il proprio '''/etc/fstab''', aggiungendo una entry relativa alla directory che si vuole raggiungere via nfs; ad esempio:
  
personalizzabile sia nel nome del file (linux.bin) che nell'etichetta da visualizzare (Linux).<br>
+
<pre>192.168.2.2:/mnt/Data/download  /mnt/nfs nfs rw,users,noauto  0  0</pre>
Preleviamo il file '''linux.bin''' che abbiamo prodotto con il comando '''dd''' e copiamolo nella directory c:\ .<br>
 
, ma ci viene proposta anche la scelta di Linux!!!<br>
 
Una volta selezionata quest'ultima voce, ci troviamo davanti il bootloader fornito dall'istallazione di Linux.
 
  
, ma a mio avviso consente di gestire Linux in , visto che quest''MBR per far posto al LILO o grub di turno.<br>
+
 
E, finora, questo metodo non mi ha '''MAI''' abbandonato!<br>
+
in cui
 +
*    '''192.168.2.2:/mnt/Data/download''' &nbsp;&nbsp;&nbsp;  è la url completa della directory da raggiungere (sintassi, ip:path);
 +
*    '''/mnt/nfs''' &nbsp;&nbsp;&nbsp;  è la directory dove si vuole montare il device (la directory deve essere stata creata precendentemente);
 +
*    '''nfs''' &nbsp;&nbsp;&nbsp;  identifica il tipo di filesystem da usare (in questo caso nfs, filesystem di rete);
 +
*    '''rw,users,noauto''' &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);
 +
*    '''0 0''' &nbsp;&nbsp;&nbsp;  sono i flag relativi al check del device da parte dei programmi di controllo della coerenza del filesystem.
 +
 
 +
A questo punto basta un semplice
 +
 
 +
<pre>$mount /mnt/nfs</pre>  
 +
 
 +
per poter usare normalmente la share nfs, come una normale directory del sistema.
  
 
[[Utente:Ldonesty|Ldonesty]]
 
[[Utente:Ldonesty|Ldonesty]]

Versione delle 08:46, 24 set 2005

Come creare una directory shared tra macchine linux (nfs, acronimo di Network File System)

Per far comunicare due macchine Linux, è possibile in diversi metodi: il modo più veloce per fare tutto ciò, è utilizzare NFS per mettere in condivisione una particolare directory del filesystem 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 macchiine linux.


[Impostazione del Server]

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 (in caso esso non esista, bisogna crearlo) aggiungendo una riga per ogni directory che si vuole esportare.

Info.png Nota
Portmap viene impostato di default ad essere "bindato" sul solo indirizzo di localhost, mentre l'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.


E' possibile inoltre definire gli accessi in modo più granulare 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 entry 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 precendentemente);
  • nfs     identifica 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.

Ldonesty