web-dev-qa-db-fra.com

Lequel utiliser NFS ou Samba?

Je suis en train de configurer une boîte pour être un serveur de fichiers à la maison. Il sera principalement utilisé pour partager de la musique, des images, des films avec d'autres boîtes Linux sur le réseau et une machine OS X. D'après ce que j'ai lu, NFS et samba fonctionneraient dans ma situation et, en tant que tels, je ne sais pas lequel choisir. Ce qui est important pour moi, c’est la rapidité des transferts entre les boîtes et la difficulté d’installation.

Lequel recommandez vous et pourquoi?

74
Jacob Schoen

Dans un réseau fermé (où vous connaissez tous les périphériques), NFS est un excellent choix. Avec un bon réseau, le débit est démesurément rapide tout en consommant moins de ressources processeur sur le serveur. C'est très simple à configurer et vous pouvez basculer readonlysur des partages pour lesquels vous n'avez pas besoin d'être en écriture.

Je ne suis pas d'accord avec Anders. La v4 peut être aussi simple que la v3. Cela ne devient compliqué que si vous souhaitez commencer à superposer la sécurité via LDAP/gssd. Il est capable de mécanismes de sécurité très complexes et complets ... Mais vous n'en avez pas besoin. Ils sont en fait désactivés par défaut.

Sudo apt-get install nfs-kernel-server

Puis éditez /etc/exports pour configurer vos partages. Voici une ligne de ma version live qui partage ma musique:

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

Cela partage ce chemin avec quiconque sur 192.168.0. * D'une manière readonly(notez roname__).

Une fois les modifications terminées, redémarrez NFS:

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

Pour connecter un client, vous avez besoin des gubbins NFS (non installés par défaut):

Sudo apt-get install nfs-common

Et puis ajoutez une ligne à /etc/fstab

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

Il s’agit encore du client NVSv3 car je suis paresseux, mais il est compatible dans ce scénario. 192.168.0.4 est le serveur NFS (mon bureau dans ce cas). Et vous devrez vous assurer que le chemin de montage (/media/music here) existe.


Pour un Mac, suivez ceci: http://www.techrepublic.com/blog/Apple-in-the-enterprise/mounting-nfs-volumes-in-os-x/

C'est beaucoup plus simple que certains didacticiels plus anciens voudraient vous faire croire.


Cela peut paraître plus compliqué qu’il ne l’est réellement, mais c’est solide, prévisible et rapide. Quelque chose que vous ne pouvez pas égaler contre Samba ... Du moins, d'après mon expérience.

71
Oli

J'ai récemment testé la connexion via SMB et NFS sur ma station Synology NAS. Pour moi, la connexion NFS est deux fois plus rapide que la connexion SMB. Surtout si vous devez gérer 100 Go de photos et de fichiers musicaux dans 1 000 répertoires, vous adorerez la vitesse de NFS.

10
Ralf Hersel

NFS (version 3) donnera de meilleures performances et est assez facile à configurer. Le problème principal est l'absence totale de sécurité décente.

NFS (version 4) sécurise mais est presque impossible à configurer.

Samba sera probablement un peu plus lent mais il est facile à utiliser et fonctionnera aussi avec les clients Windows.

7
Anders Westrup

Exécutez des tests dans le monde réel avant de dédier les X prochaines années et Y TB à un protocole particulier sans jamais vous rendre compte qu'il y avait une meilleure option.

Vous trouverez partout des opinions dont l'une est plus rapide, les gens de Samba affirmant qu'ils sont au même niveau que NFS. En fonction de vos besoins, la meilleure chose à faire est de configurer un partage Samba et un partage NFS et d'exécuter divers tests de lecture/écriture/CPU dans le monde réel sur le réseau. Si vous avez les mêmes besoins que moi (machines Windows), vous serez peut-être surpris de découvrir que Samba est 20% plus rapide que NFS.

Choisissez celui qui donne les meilleurs résultats dans votre configuration et ignorez ce que les gens disent le plus rapide.

4
Joe

J'ai récemment installé un serveur NFS local sur un serveur Ubuntu 10.04, mais mon MacBook Pro (OS X 10.6.X) ne pouvait pas se connecter. Pour que le Mac puisse se connecter, je devais ajouter un code non sécurisé au /etc/exports.

Mon/etc/exports:

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