Trả lời nhanh: Máy trạm Windows dùng SMB vì nó tích hợp sẵn với tài khoản Windows và phân quyền chi tiết. Máy chủ Linux dùng NFS vì nhẹ hơn và ổn định hơn cho kết nối máy chủ tới máy chủ. Một máy lưu trữ có thể bật cả hai trên các thư mục khác nhau, và đó là cấu hình phổ biến nhất.
Hai giao thức này thường được chọn theo thói quen chứ không theo phân tích, và kết quả là nhiều nơi ép máy Linux dùng giao thức của Windows hoặc ngược lại, rồi vướng vào các vấn đề phân quyền khó hiểu. Bài này phân định rõ.
SMB, giao thức của thế giới Windows
Đây là giao thức mà mọi máy Windows dùng khi bạn mở một thư mục mạng. Nó cũng chạy trên macOS và trên Linux thông qua phần mềm tương thích.
Điểm mạnh:
- Tích hợp với danh bạ tài khoản của Windows. Người dùng đăng nhập một lần là mở được thư mục, không phải nhập lại mật khẩu.
- Phân quyền chi tiết theo từng người và từng nhóm, với nhiều mức quyền khác nhau trên cùng một thư mục.
- Có cơ chế khóa tệp khi đang mở, nên hai người không ghi đè lên nhau.
- Người dùng cuối quen thuộc, không cần hướng dẫn gì.
Điểm yếu: giao thức nặng hơn, và với kết nối máy chủ tới máy chủ thì phần lớn tính năng đó là thừa. Các phiên bản cũ của giao thức có lỗ hổng nghiêm trọng, nên phải tắt hẳn chúng và chỉ dùng phiên bản mới.
NFS, giao thức của thế giới Unix
Đây là cách tiêu chuẩn để một máy Linux dùng thư mục nằm trên máy Linux khác.
Điểm mạnh:
- Nhẹ và nhanh cho kết nối máy chủ tới máy chủ, ít chi phí giao thức.
- Ổn định với kết nối lâu dài, phù hợp cho việc gắn cố định trên máy chủ.
- Đơn giản để cấu hình khi cả hai phía đều là Linux.
- Hoạt động tốt làm kho dùng chung cho cụm ảo hóa.
Điểm yếu: mô hình phân quyền dựa trên số định danh người dùng, và các số này phải khớp giữa máy chủ và máy khách. Nếu không khớp, người dùng ở máy này có thể thấy mình là người khác ở máy kia. Các phiên bản cũ cũng gần như không có xác thực, chỉ tin vào địa chỉ máy khách.
Phân quyền, chỗ khác nhau căn bản
Đây là nguồn gốc của phần lớn rắc rối khi trộn hai giao thức.
SMB dùng danh sách kiểm soát truy cập. Mỗi tệp và thư mục có một danh sách ghi rõ từng người và từng nhóm được làm gì, với rất nhiều mức quyền riêng biệt.
NFS truyền thống dùng mô hình chủ sở hữu, nhóm và những người còn lại, mỗi nhóm có ba quyền cơ bản. Đơn giản hơn nhiều nhưng cũng kém linh hoạt hơn.
Khi cùng một thư mục được chia qua cả hai giao thức, hệ thống lưu trữ phải ánh xạ giữa hai mô hình. Việc này làm được nhưng dễ sinh ra tình huống một người thấy quyền khác nhau tùy theo họ vào bằng đường nào.
Lời khuyên thực dụng: nếu phải bật cả hai trên cùng một thư mục, hãy giữ quyền thật đơn giản, chỉ dùng vài nhóm và không dùng các mức quyền tinh vi.
Cấu hình nên dùng
Cấu hình đơn giản nhất và ít rắc rối nhất là tách theo mục đích.
- Thư mục cho nhân viên: chia qua SMB, tích hợp với danh bạ tài khoản. Phân quyền theo nhóm phòng ban.
- Kho cho máy chủ ảo hóa và kho sao lưu: chia qua NFS, giới hạn theo địa chỉ máy chủ.
- Thư mục cần cả hai bên dùng: cân nhắc kỹ. Nếu bắt buộc, giữ quyền đơn giản và ghi rõ cách ánh xạ tài khoản vào tài liệu vận hành.
Về bảo mật, ba việc chung cho cả hai giao thức: không bao giờ mở ra Internet, giới hạn theo địa chỉ hoặc theo tài khoản, và tắt các phiên bản giao thức cũ đã biết có lỗ hổng.
Hiệu năng và các lựa chọn khác
Về hiệu năng, với tệp lớn và mạng tốt thì hai bên gần nhau. NFS thường nhỉnh hơn với tải nhiều tệp nhỏ giữa các máy chủ, nhờ ít chi phí giao thức hơn. SMB phiên bản mới đã cải thiện rất nhiều và hỗ trợ nhiều kênh song song.
Yếu tố ảnh hưởng lớn hơn cả lựa chọn giao thức là ba thứ: tốc độ mạng, tốc độ ổ đĩa ở phía máy chủ, và việc có bật gói tin cỡ lớn hay không.
Các lựa chọn khác đáng biết:
- Chia ổ ở mức khối cho các tải cần kiểm soát ở mức đĩa như cơ sở dữ liệu và máy ảo.
- Kho lưu trữ đối tượng cho dữ liệu ít đọc và cho bản sao lưu, truy cập qua giao diện lập trình thay vì gắn như thư mục.
- Dịch vụ đồng bộ đám mây cho người dùng làm việc từ xa, thay vì mở thư mục nội bộ ra ngoài.
Chọn nhanh theo tình huống
| Tình huống | Giao thức phù hợp | Lý do |
|---|---|---|
| Văn phòng dùng máy tính Windows, cần thư mục chung | Giao thức của thế giới Windows | Phân quyền theo tài khoản miền, người dùng không phải học gì |
| Máy chủ Linux gắn kho lưu trữ để chạy dịch vụ | Giao thức của thế giới Unix | Hiệu năng tốt hơn cho việc này và cấu hình đơn giản hơn |
| Cụm ảo hóa gắn kho chứa ổ đĩa máy ảo | Giao thức của thế giới Unix | Đây là cách dùng phổ biến và được hỗ trợ tốt |
| Vừa có máy Windows vừa có máy Linux cùng dùng chung một thư mục | Cả hai, bật song song | Nhưng phải rất cẩn thận với phân quyền, xem mục dưới |
Vì sao bật cả hai giao thức trên cùng thư mục lại rắc rối
Hai giao thức có mô hình phân quyền khác nhau về căn bản. Một bên mô tả quyền chi tiết theo từng người và từng nhóm, bên kia dùng mô hình đơn giản gồm chủ sở hữu, nhóm và những người còn lại. Khi cùng một thư mục được truy cập theo cả hai đường, việc một bên tạo tệp rồi bên kia không sửa được là chuyện xảy ra thường xuyên và rất khó gỡ. Nếu buộc phải làm, hãy dùng cấu hình ánh xạ tài khoản mà thiết bị lưu trữ cung cấp, và thử kỹ trước khi đưa vào dùng thật.
Cấu hình an toàn cho cả hai
# Voi giao thuc cua the gioi Windows: # 1. TAT hoan toan phien ban giao thuc doi dau# Day la phien ban co lo hong nghiem trong da bi khai thac rong rai# Kiem tra tren may chu Windows:Get-SmbServerConfiguration | Select EnableSMB1Protocol# Ket qua phai la False # 2. Bat ky hoac ma hoa cho ket noi neu di qua mang khong tin cay # Voi giao thuc cua the gioi Unix: # 3. Gioi han dia chi duoc phep gan kho, khong mo cho toan mang# Kiem danh sach dang cho phep:showmount -e dia-chi-may-chu # 4. Dung tuy chon chan viec nang quyen tu may ket noi # Voi ca hai:# 5. TUYET DOI khong mo cong cua hai giao thuc nay ra internet.# Neu can truy cap tu xa: ket noi mang rieng ao vao mang cong ty truoc.# Day la nguyen nhan cua rat nhieu vu ma doc ma hoa du lieu.Câu hỏi thường gặp
Máy Windows dùng NFS được không
Được, Windows có thành phần máy khách cho giao thức này nhưng phải bật thêm và trải nghiệm không mượt bằng SMB, nhất là về phân quyền. Với máy trạm Windows thì SMB gần như luôn là lựa chọn đúng.
Máy Linux dùng SMB được không
Được, có phần mềm tương thích rất trưởng thành. Đây là lựa chọn hợp lý khi máy Linux cần vào thư mục chung của công ty vốn đã dùng danh bạ tài khoản Windows. Với kết nối máy chủ tới máy chủ thì NFS vẫn nhẹ hơn.
Nên tắt phiên bản giao thức cũ nào
Với SMB, phiên bản đầu tiên đã lỗi thời và có lỗ hổng nghiêm trọng, phải tắt hẳn. Với NFS, các phiên bản cũ gần như không có xác thực, nên dùng phiên bản mới nhất mà cả hai phía hỗ trợ.
Thư mục chung có nên cho truy cập từ xa không
Không nên mở thẳng ra Internet trong mọi trường hợp. Nếu cần truy cập từ xa, hãy đi qua đường kết nối riêng tư về mạng công ty, hoặc chuyển phần dữ liệu đó sang một dịch vụ đám mây có phân quyền và có ghi nhật ký.
