Nên dùng NFS hay Samba?


75

Tôi đang thiết lập một hộp để trở thành một máy chủ tập tin tại nhà. Nó chủ yếu sẽ được sử dụng để chia sẻ nhạc, hình ảnh, phim với các hộp linux khác trên mạng và một máy OS X. Từ những gì tôi đã đọc NFS và samba sẽ hoạt động trong tình huống của tôi, và như vậy tôi không chắc nên chọn cái nào. Điều quan trọng với tôi là tốc độ chuyển giữa các hộp và mức độ khó để thiết lập.

Mà bạn muốn giới thiệu và tại sao?

Câu trả lời:


71

Trong một mạng kín (nơi bạn biết mọi thiết bị), NFS là một lựa chọn tốt. Với một mạng tốt, thông lượng nhanh đến mức kinh tởm và đồng thời ít tốn CPU hơn trên máy chủ. Việc cài đặt rất đơn giản và bạn có thể chuyển đổi các readonlychia sẻ mà bạn không cần phải ghi.

Tôi không đồng ý với Anders. v4 có thể chỉ đơn giản như v3. Nó chỉ trở nên phức tạp nếu bạn muốn bắt đầu phân lớp bảo mật thông qua LDAP / gssd. Nó có khả năng cơ chế bảo mật rất phức tạp và đầy đủ ... Nhưng bạn không cần chúng. Họ thực sự bị tắt theo mặc định.

sudo apt-get install nfs-kernel-server

Sau đó chỉnh sửa /etc/exportsđể cấu hình cổ phần của bạn. Đây là một dòng từ phiên bản trực tiếp chia sẻ nhạc của tôi:

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

Điều này chia sẻ đường dẫn đó với bất kỳ ai trên 192.168.0. * Theo cách readonly(chú ý ro).

Khi bạn chỉnh sửa xong, hãy khởi động lại NFS:

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

Để kết nối máy khách, bạn cần các gubbins NFS (không được cài đặt theo mặc định):

sudo apt-get install nfs-common

Và sau đó thêm một dòng vào /etc/fstab

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

Đây thực sự là ứng dụng khách NVSv3 vì tôi lười nhưng nó tương thích trong kịch bản này. 192.168.0.4là máy chủ NFS (máy tính để bàn của tôi trong trường hợp này). Và bạn sẽ cần đảm bảo đường dẫn gắn kết ( /media/musicở đây) tồn tại.


Đối với máy Mac, hãy làm theo điều này: http://www.techrepublic.com/blog/apple-in-the-enterprise/mounting-nfs-volume-in-os-x/

Nó đơn giản hơn nhiều so với một số hướng dẫn cũ hơn bạn có thể tin được.


Nó có thể trông phức tạp hơn thực tế nhưng nó chắc chắn, dễ đoán và nhanh. Một cái gì đó bạn không thể chống lại Samba ... Ít nhất, theo kinh nghiệm của tôi.


Cảm ơn tất cả các chi tiết. Tôi nghĩ rằng tôi đã sẵn sàng để đưa ra một shot vào cuối tuần này bây giờ.
Jacob Schoen

Làm thế nào để bạn có được điều này là bền bỉ (với máy khách) khi khởi động lại máy chủ? Tôi có một thiết lập tương tự hoạt động tốt ( /etc/fstabđược đặt thành mount, trong trường hợp của tôi là thư mục NAS), nhưng khi máy chủ khởi động lại, tôi liên tục đi qua umountvà điều hướng mount -atrong thiết bị đầu cuối để lấy lại mount. Chủ yếu là tốt đối với tôi (ngoại trừ những phiền toái như Picasa xóa DB cục bộ khi thư mục ảnh mạng đột nhiên vắng mặt :(), nhưng điều này đẩy vợ tôi lên tường ...
Russ

@Russ Có vẻ như kết nối mạng của bạn mất nhiều thời gian để bắt đầu. Xem xét thêm auto,_netdevvào đoạn tùy chọn để nó trông giống như: auto,_netdev,ro,hard,intrĐiều này sẽ buộc hệ thống tập tin phải chờ kết nối mạng.
Oli

1
Cảm ơn lời giải thích của bạn! Một số câu hỏi khác: tại sao không sử dụng FTP? Tôi nghe nói rằng các UID phải là duy nhất ... Nghe có vẻ rất phức tạp đối với tôi. NFS xử lý các quyền của tập tin như thế nào?
thắt lưng

@lumbric Trả lời siêu muộn, xin lỗi. FTP là giao dịch và kết quả là thực sự cồng kềnh và chậm chạp. Nó có thông lượng khá tốt nhưng mọi thứ quan trọng trong hệ thống tập tin để sử dụng thực tế (xếp hạng, liệt kê, v.v.) đều tẻ nhạt. Quyền có thể được tùy chỉnh và người dùng được ánh xạ với các cấu hình LDAP / gssd khác nhau nhưng những điều này nằm ngoài nhu cầu của tôi (và hiện tại ngoài tầm hiểu biết của tôi).
Oli

10

Gần đây tôi đã thử nghiệm kết nối qua SMB và NFS đến trạm NAS Synology của tôi. Đối với tôi, kết nối NFS hoạt động nhanh hơn hai lần so với kết nối SMB. Đặc biệt nếu bạn phải xử lý 100 GByte ảnh và tệp nhạc trong 1000 thư mục, bạn sẽ yêu thích tốc độ của NFS.


6

NFS (phiên bản 3) sẽ cho hiệu năng cao hơn và khá dễ cài đặt. Vấn đề chính là thiếu hoàn toàn bảo mật.

NFS (phiên bản 4) cung cấp bảo mật nhưng hầu như không thể thiết lập.

Samba có thể sẽ chậm hơn một chút nhưng dễ sử dụng và cũng sẽ hoạt động với các máy khách windows ..


9
nhưng hầu như không thể thiết lập : Bạn có thể sao lưu điều đó bằng một số bằng chứng hay điều đó chỉ dựa trên cảm giác chủ quan của bạn?
lanoxx 4/11/2015

2
Tôi chưa bao giờ gặp sự cố với v4, vậy vấn đề là gì?
KingCrunch

Tôi không tìm thấy NFSv4 nào khó hơn NFSv3. Tất nhiên, đó là không có Kerberos.
MountainX

4

Gần đây tôi đã thiết lập máy chủ NFS cục bộ trên máy chủ Ubuntu 10.04, nhưng MacBook Pro (OS X 10.6.X) của tôi không thể kết nối. Để Mac có thể kết nối, tôi đã phải thêm không an toàn vào /etc/exports.

Xuất / của tôi:

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

4

Chạy thử nghiệm trong thế giới thực trước khi bạn dành X năm tiếp theo và Y TB cho một giao thức cụ thể không bao giờ nhận ra rằng có một lựa chọn tốt hơn.

Bạn sẽ tìm thấy những ý kiến ​​về việc ai sẽ nhanh hơn với những người Samba tuyên bố rằng họ ngang hàng với NFS. Tùy thuộc vào nhu cầu của bạn, điều tốt nhất cần làm là thiết lập chia sẻ Samba và chia sẻ NFS và chạy các bài kiểm tra đọc / ghi / CPU trong thế giới thực khác nhau trên mạng. Nếu bạn có nhu cầu tương tự như tôi (máy Windows), bạn có thể ngạc nhiên khi biết rằng Samba nhanh hơn 20% so với NFS.

Đi với một trong đó mang lại kết quả tốt nhất trong thiết lập của bạn và bỏ qua những gì mọi người nói là nhanh nhất.


+1 cho riêng điểm "X năm và Y TB"! :-)
kkm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.