Quale utilizzare NFS o Samba?


75

Sto installando una scatola per essere un file server a casa. Verrà utilizzato principalmente per condividere musica, immagini, film con altri box Linux sulla rete e una macchina OS X. Da quello che ho letto NFS e samba funzionerebbero nella mia situazione, e come tale non sono sicuro di quale scegliere. Ciò che è importante per me sono i trasferimenti di velocità tra le scatole e la difficoltà di installazione.

Quale consiglieresti e perché?

Risposte:


71

In una rete chiusa (dove conosci tutti i dispositivi), NFS è una buona scelta. Con una buona rete, la velocità è disgustosamente veloce e allo stesso tempo meno intensiva della CPU sul server. È molto semplice da configurare e puoi attivare o disattivare le readonlycondivisioni che non devono essere scrivibili.

Non sono d'accordo con Anders. v4 può essere semplice come v3. Diventa complicato solo se vuoi iniziare a stratificare sulla sicurezza tramite LDAP / gssd. È capace di meccanismi di sicurezza molto complessi e completi ... Ma non ne hai bisogno. In realtà sono disattivati ​​per impostazione predefinita.

sudo apt-get install nfs-kernel-server

Quindi modifica /etc/exportsper configurare le tue condivisioni. Ecco una riga della mia versione live che condivide la mia musica:

/media/ned/music        192.168.0.0/255.255.255.0(ro,sync,no_subtree_check)

Questo condivide quel percorso con chiunque su 192.168.0. * In un modo readonly(notare il ro).

Al termine della modifica, riavvia NFS:

sudo /etc/init.d/nfs-kernel-server restart

Per connettere un client, sono necessari i gubbin NFS (non installati per impostazione predefinita):

sudo apt-get install nfs-common

E quindi aggiungi una riga a /etc/fstab

192.168.0.4:/media/ned/music  /media/music  nfs ro,hard,intr 0 0

Questo è in realtà il client NVSv3 ancora perché sono pigro ma è compatibile in questo scenario. 192.168.0.4è il server NFS (il mio desktop in questo caso). E dovrai assicurarti che il percorso di montaggio ( /media/musicqui) esista.


Per un Mac, segui questo: http://www.techrepublic.com/blog/apple-in-the-enterprise/mounting-nfs-volumes-in-os-x/

È molto più semplice di quanto alcuni tutorial più vecchi vorrebbero farti credere.


Potrebbe sembrare più complicato di quanto non sia in realtà, ma è solido, prevedibile e veloce. Qualcosa che non puoi mettere a confronto con Samba ... Almeno, nella mia esperienza.


Grazie per tutti i dettagli Penso di essere pronto a provare questo weekend questo fine settimana.
Jacob Schoen,

Come si ottiene che questo sia persistente (al client) al riavvio del server? Ho una configurazione simile che funziona bene ( /etc/fstabimpostata per montare, nel mio caso, una cartella NAS), ma quando il server si riavvia sto ripetutamente passando umounte mount -agiravolte nel terminale per riavere il mio supporto. Principalmente bene per me (tranne che per i fastidi come Picasa che cancella il DB locale quando la cartella delle foto di rete è improvvisamente assente :(), ma questo spinge mia moglie sul muro ...
Russ

@Russ Sembra che la connessione alla rete richieda molto tempo per iniziare. Prendi in considerazione l'aggiunta auto,_netdeval frammento di opzioni in modo che assomigli a qualcosa del genere: auto,_netdev,ro,hard,intrquesto dovrebbe forzare il filesystem ad attendere una connessione di rete.
Oli

1
Grazie per le tue spiegazioni! Qualche altra domanda: perché non usare FTP? Ho sentito che gli UID devono essere unici ... Sembra davvero complicato per me. In che modo NFS gestisce le autorizzazioni per i file?
lumbric il

@lumbric Risposta in ritardo, scusa. FTP è transazionale e, di conseguenza, è davvero grosso e lento. Ha un throughput piuttosto buono ma tutto ciò che conta in un filesystem per l'uso effettivo (formattazione, elenco, ecc.) È noioso. Le autorizzazioni possono essere personalizzate e gli utenti possono essere mappati con le varie configurazioni LDAP / gssd, ma queste vanno oltre le mie esigenze (e attualmente al di là delle mie conoscenze).
Oli

11

Di recente ho testato la connessione tramite SMB e NFS alla mia stazione Synology NAS. Per me la connessione NFS funziona due volte più veloce della connessione SMB. Soprattutto se hai a che fare con 100 GByte di foto e file musicali in 1000 directory ti piacerà la velocità di NFS.


6

NFS (versione 3) offre prestazioni più elevate ed è abbastanza facile da configurare. Il problema principale è la totale mancanza di sicurezza decente.

NFS (versione 4) offre sicurezza ma è quasi impossibile da configurare.

Samba sarà probabilmente un po 'più lento ma è facile da usare e funzionerà anche con i client Windows.


10
ma è quasi impossibile da impostare : puoi appoggiarlo con qualche prova o è solo basato sul tuo sentimento soggettivo?
lanoxx,

2
Non ho mai avuto problemi con la v4, quindi qual è il problema?
KingCrunch

Non ho trovato NFSv4 più difficile di NFSv3. Certo, questo è senza Kerberos.
MountainX,

4

Di recente ho installato un server NFS locale sul server Ubuntu 10.04, ma il mio MacBook Pro (OS X 10.6.X) non è riuscito a connettersi. Perché il Mac fosse in grado di connettersi, ho dovuto aggiungere insicuro al /etc/exports.

Il mio / etc / export:

/mnt/sdcard *(rw,sync,no_subtree_check,insecure,all_squash)

4

Esegui test nel mondo reale prima di dedicare i prossimi X anni e Y TB a un protocollo particolare, senza mai accorgerti che esisteva un'opzione migliore.

Troverai opinioni ovunque una delle quali è più veloce con le persone di Samba che affermano di essere alla pari con NFS. A seconda delle esigenze, la cosa migliore da fare sarebbe impostare una condivisione Samba e una condivisione NFS ed eseguire vari test di lettura / scrittura / CPU nel mondo reale attraverso la rete. Se hai esigenze simili a me (macchine Windows) potresti essere sorpreso di scoprire che Samba è il 20% più veloce di NFS.

Scegli quello che offre i migliori risultati nella tua configurazione e ignora ciò che la gente dice sia il più veloce.


+1 solo per il punto "X anni e Y TB"! :-)
kkm il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.