Którego użyć NFS lub Samby?

75

Konfiguruję skrzynkę jako serwer plików w domu. Będzie on głównie używany do udostępniania muzyki, zdjęć, filmów innym urządzeniom z linuksem w sieci i jednej maszynie z systemem OS X. Z tego, co przeczytałem, NFS i samba działałyby w mojej sytuacji i jako takie nie jestem pewien, który wybrać. Co jest dla mnie ważne, to szybkość transferu między skrzynkami i to, jak trudne jest ustawienie.

Który poleciłbyś i dlaczego?

Jacob Schoen
źródło

Odpowiedzi:

71

W sieci zamkniętej (gdzie znasz każde urządzenie), NFS jest dobrym wyborem. Przy dobrej sieci przepustowość jest obrzydliwie szybka, a jednocześnie mniej obciążająca procesor na serwerze. Jest bardzo prosty w konfiguracji i możesz przełączać się readonlyna udziałach, których nie musisz zapisywać.

Nie zgadzam się z Anders. Wersja 4 może być tak prosta jak wersja 3. Komplikuje się to tylko wtedy, gdy chcesz rozpocząć nakładanie warstw na zabezpieczenia przez LDAP / gssd. Jest zdolny do bardzo złożonych i kompletnych mechanizmów bezpieczeństwa ... Ale nie potrzebujesz ich. Są faktycznie domyślnie wyłączone.

sudo apt-get install nfs-kernel-server

Następnie edytuj, /etc/exportsaby skonfigurować swoje udziały. Oto wiersz z mojej wersji na żywo, która dzieli moją muzykę:

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

Dzieli tę ścieżkę z kimkolwiek na 192.168.0. * W readonly(zauważ ro) sposób.

Po zakończeniu edycji uruchom ponownie NFS:

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

Do podłączenia klienta potrzebne są gubbiny NFS (domyślnie nie instalowane):

sudo apt-get install nfs-common

A następnie dodaj linię do /etc/fstab

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

To jest właściwie klient NVSv3, ponieważ jestem leniwy, ale jest zgodny w tym scenariuszu. 192.168.0.4to serwer NFS (w tym przypadku mój pulpit). Musisz upewnić się, że ścieżka montowania ( /media/musictutaj) istnieje.


W przypadku komputera Mac wykonaj następujące czynności: http://www.techrepublic.com/blog/apple-in-the-enterprise/mounting-nfs-volumes-in-os-x/

To o wiele prostsze niż w niektórych starszych samouczkach.


Może to wyglądać na bardziej skomplikowane, niż jest w rzeczywistości, ale jest solidne, przewidywalne i szybkie. Coś, czego nie można zrównać z Sambą ... Przynajmniej z mojego doświadczenia.

Oli
źródło
Dziękuję za wszystkie szczegóły. Myślę, że jestem gotowy, aby spróbować tego w ten weekend.
Jacob Schoen,
Jak sprawić, by to trwało (po stronie klienta) po ponownym uruchomieniu serwera? Mam podobną konfigurację, która działa poprawnie ( /etc/fstabw moim przypadku skonfigurowana jest opcja zamontowania folderu NAS), ale gdy serwer ponownie się uruchamia, wielokrotnie przechodzę umounti mount -aobracam się w terminalu, aby odzyskać mocowanie. Przeważnie w porządku dla mnie (z wyjątkiem irytacji, takich jak Picasa wycierający lokalną bazę danych, gdy folder ze zdjęciami sieciowymi nagle jest nieobecny :(), ale to doprowadza moją żonę do ściany ...
Russ 20'11
@Russ Wygląda na to, że połączenie sieciowe trwa długo. Rozważ dodanie auto,_netdevfragmentu opcji, aby wyglądał mniej więcej tak: auto,_netdev,ro,hard,intrPowinno to zmusić system plików do oczekiwania na połączenie sieciowe.
Oli
1
Dziękuję za wyjaśnienia! Kilka dodatkowych pytań: dlaczego nie korzystać z FTP? Słyszałem, że identyfikatory UID muszą być unikalne ... Brzmi dla mnie naprawdę skomplikowanie. Jak NFS radzi sobie z uprawnieniami do plików?
lędźwiowy
@lumbric Bardzo późna odpowiedź, przepraszam. FTP jest transakcyjny i dlatego jest naprawdę niezgrabny i wolny. Ma dość dobrą przepustowość, ale wszystko, co ma znaczenie w systemie plików do faktycznego wykorzystania (statting, listing itp.) Jest uciążliwe. Uprawnienia można dostosowywać, a użytkownicy mapowani przy użyciu różnych konfiguracji LDAP / gssd, ale są one poza moimi potrzebami (i obecnie poza moją wiedzą).
Oli
10

Niedawno przetestowałem połączenie za pośrednictwem SMB i NFS z moją stacją Synology NAS. Dla mnie połączenie NFS działa dwa razy szybciej niż połączenie SMB. Zwłaszcza jeśli masz do czynienia ze 100 GB zdjęć i plików muzycznych w 1000 katalogach, pokochasz szybkość NFS.

Ralf Hersel
źródło
6

NFS (wersja 3) daje wyższą wydajność i jest dość łatwy w konfiguracji. Głównym problemem jest całkowity brak przyzwoitego bezpieczeństwa.

NFS (wersja 4) zapewnia bezpieczeństwo, ale jest prawie niemożliwy do skonfigurowania.

Samba prawdopodobnie będzie nieco wolniejsza, ale jest łatwa w użyciu i będzie działać również z klientami Windows.

Anders Westrup
źródło
9
ale jest prawie niemożliwe do skonfigurowania : czy możesz poprzeć to jakimś dowodem, czy jest to tylko oparte na twoich subiektywnych odczuciach?
lanoxx,
2
Nigdy nie miałem problemu z wersją v4, więc w czym problem?
KingCrunch,
Nie znalazłem NFSv4 trudniejszego niż NFSv3. Oczywiście bez Kerberosa.
MountainX
4

Niedawno skonfigurowałem lokalny serwer NFS na serwerze Ubuntu 10.04, ale mój MacBook Pro (OS X 10.6.X) nie mógł się połączyć. Aby komputer Mac mógł się połączyć, musiałem dodać niepewne do /etc/exports.

Mój / etc / export:

/mnt/sdcard *(rw,sync,no_subtree_check,insecure,all_squash)
Niels van Reijmersdal
źródło
4

Przeprowadź testy w świecie rzeczywistym, zanim poświęcisz następne X lat i Y TB konkretnemu protokołowi, nie zdając sobie sprawy, że jest lepsza opcja.

Znajdziesz opinie, z których jedna jest szybsza z ludźmi Samby twierdzącymi, że są na równi z NFS. W zależności od potrzeb najlepiej jest skonfigurować udział Samba i udział NFS oraz przeprowadzić różne rzeczywiste testy odczytu / zapisu / procesora w sieci. Jeśli masz podobne potrzeby jak ja (maszyny z systemem Windows), możesz być zaskoczony, gdy dowiesz się, że Samba jest o 20% szybsza niż NFS.

Wybierz ten, który daje najlepsze wyniki w twojej konfiguracji i zignoruj ​​to, co ludzie mówią, że jest najszybsze.

Joe
źródło
+1 za sam punkt „X lat i Y TB”! :-)
kkm