Sử dụng NFS trên máy chủ web sản xuất có hợp lý không?
Liệu NFS có thể được sử dụng hợp lý trên máy chủ sản xuất như một phương tiện kết nối máy chủ tính toán với máy chủ lưu trữ, giả sử kết nối qua mạng LAN 1Gbe hoặc 10Gbe không?
Rõ ràng là có một số chi phí mạng và NFS có vẻ đặc biệt chậm hơn khi ghi nếu bạn đã bật chế độ đồng bộ hóa. Mặt khác, nó có vẻ nhẹ hợp lý và có thể mở rộng quy mô từ những gì tôi có thể nói, nhưng cá nhân tôi có ít kinh nghiệm về nó. Liệu tôi có sai?
Vấn đề là tôi có một máy chủ ngay bây giờ hoạt động như cả máy chủ lưu trữ và máy chủ web nhưng tôi sẽ phải chia cả hai trong tương lai và xem xét một số yêu cầu cần phải chuyển qua lớp ứng dụng web để xác thực trước khi khởi tạo quá trình truyền tệp, nó trở nên phức tạp với phần mềm này. Mạng fs mount là lựa chọn đơn giản nhất mà tôi chỉ .. không biết đó có phải là một lựa chọn tốt không.
Tôi cũng dự định thử sử dụng bộ nhớ đệm cục bộ với NFS sẽ cải thiện hiệu suất một chút, nhưng tôi không chắc liệu điều đó có đủ hay không.
Đối với các lựa chọn thay thế, chỉ có iSCSI mà tôi biết là đối thủ cạnh tranh thực sự và hầu hết mọi người dường như đề xuất NFS hơn bất kỳ cái nào ít được biết đến hơn.
Trả lời
NFS là tốt, ngoại trừ một số tiêu chí cụ thể khác được đáp ứng, cụ thể là:
- Các hệ thống liên quan đều có thể sử dụng NFS nguyên bản. Windows không đếm ở đây, nó loại công trình, nhưng nó có rất nhiều trong những thói quen và thường là một nỗi đau để làm việc với khi giao dịch với NFS trong một môi trường đa nền tảng (và nếu nó chỉ là Windows, sử dụng SMB3, nó giúp loại bỏ hầu hết các các vấn đề khác với NFS). Lưu ý rằng ở phía máy khách, điều này có nghĩa là hỗ trợ mức hạt nhân, bởi vì việc triển khai cấp người dùng hoặc phải giải quyết các vấn đề về hiệu quả vốn có khi sử dụng một cái gì đó như FUSE hoặc nó phải được liên kết trực tiếp với ứng dụng cần truy cập chia sẻ.
- Bạn đã xác minh đúng cách máy khách NFS xử lý khởi động lại máy chủ NFS. Điều này bao gồm cả bản thân hệ điều hành (điều này sẽ ổn trong hầu hết các trường hợp) và phần mềm sẽ truy cập vào phần chia sẻ. Đặc biệt, cần có sự cẩn thận đặc biệt trên một số nền tảng máy khách khi phần mềm sử dụng tính năng chia sẻ giữ tệp mở trong thời gian dài, vì không phải tất cả các triển khai máy khách NFS đều xử lý việc khởi động lại máy chủ một cách rõ ràng bằng cách đếm lại và xác thực lại các khóa và xử lý tệp như chúng nên dẫn đến tất cả các loại vấn đề cho phần mềm khách hàng). Lưu ý rằng bạn nên kiểm tra lại điều này bất cứ khi nào bất kỳ phần nào của ngăn xếp được nâng cấp hoặc cấu hình lại.
- Bạn sẵn sàng thiết lập ánh xạ ID người dùng / nhóm thích hợp. Điều này rất lớn, bởi vì nếu không có nó, bạn cần phải phản chiếu ánh xạ UID / GID giữa các hệ thống (có thể thực hiện được, nhưng tôi sẽ cảnh giác khi thiết lập SSO chống lại mạng nội bộ cho hệ thống giao diện internet) hoặc bạn sẽ gặp phải các tác động bảo mật (cụ thể là những gì bạn thấy trên một hệ thống về quyền không khớp với những gì bạn thấy trên những hệ thống khác).
- Bạn đang hoạt động qua một liên kết mạng bảo mật hoặc sẵn sàng thiết lập xác thực đúng cách cho việc chia sẻ. Không có xác thực, bất kỳ ai trong liên kết đều có thể truy cập vào nó (và một ứng dụng khách độc hại có thể dễ dàng thực hiện các bước điều khiển truy cập tùy ý UNIX cơ bản).
Giả sử bạn đáp ứng tất cả các tiêu chí đó và bạn có một mạng khá nhanh, bạn sẽ ổn. Ngoài ra, nếu bạn có thể chạy các khung jumbo, hãy làm như vậy, chúng sẽ giúp ích rất nhiều cho bất kỳ hệ thống tệp mạng hoặc lưu trữ khối được nối mạng nào.
NFS hoàn toàn ổn và được ưu tiên hơn iSCSI do thực tế NFS dễ quản lý, chia sẻ và sao lưu hơn nhiều.
Chúng tôi đã sử dụng NFS trong nhiều năm để đính kèm SAN vào máy chủ VMware ESXi, chạy hàng trăm máy ảo trên đó. Không có rắc rối nào cả.
Điểm nghẽn là hệ thống lưu trữ hơn là giao thức mạng.
Tất nhiên, kết nối mạng phải đủ nhanh, nghĩa là 10Gb Ethernet hoặc cáp quang. Chúng tôi thậm chí không bận tâm đến một mạng lưu trữ riêng biệt nữa.
iSCSI có thể nhanh hơn một chút ...
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/storage_protocol_comparison-white-paper.pdf
https://www.hyper-v.io/whos-got-bigger-balls-testing-nfs-vs-iscsi-performance-part-3-test-results/
... nhưng NFS giống như bất kỳ trình chuyển hướng mạng nào khác (SMB3, AFS / AFP, v.v.) cho phép đa truy cập đồng thời, điều khó khăn với iSCSI hoặc các giao thức khối khác.
https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392