banner-news

Trong bài này

    NFS là gì? Điều bạn cần biết về Network File System

    01/10/2023

    Để chia sẻ tập tin giữa nhiều máy tính, NFS là một trong những giải pháp phổ biến nhất. Vậy, NFS là gì? Nhiều doanh nghiệp đã sử dụng NFS để chia sẻ dữ liệu cũng như truy cập vào tập tin từ xa qua mạng Internet. Nhìn chung, đây là công cụ lý tưởng để tăng hiệu suất và khả năng cộng tác trong công việc giữa các nhân viên trong doanh nghiệp. Trong bài viết này, cùng tìm hiểu kỹ hơn về khái niệm NFS, các phiên bản cũng như ưu nhược điểm của mô hình này.

    NFS là gì

    NFS là một giao thức được thiết kế nhằm mục đích chia sẻ thông tin dữ liệu qua mạng được Sun Microsystems phát triển vào năm 1984. Cụ thể, với NFS, máy tính này có thể truy cập vào các tập tin lưu trữ trên một máy tính khác trong mạng. Doanh nghiệp có thể truy cập các tệp tin trên máy chủ NFS nếu chúng nằm trong các máy cục bộ của hệ thống.

    Vậy, NFS là viết tắt của cụm từ tiếng Anh nào? Đây là viết tắt của Network File System. Hệ thống này có thể được sử dụng trên nhiều hệ điều hành khác nhau, bao gồm:

    • Windows
    • IBM AIX
    • Linux
    • Microsoft Windows
    • Hewlett Packard Enterprise HP-UX
    • Oracle Solaris

    Các nhà cung cấp giải pháp đám mây cũng triển khai NFS cho dịch vụ lưu trữ đám mây như Amazon Elastic File System. chia sẻ tập tin trong Google Cloud Filestore hoặc Microsoft Azure. 

    Tìm hiểu khái niệm NFS là gì?

    Các phiên bản và mở rộng của NFS là gì 

    Một số phiên bản NFS bao gồm:

    Phiên bản NFSv2 (1989)

    Phiên bản này được chỉ định trong RFC 1094. Các tính năng chính của NFSv2 bao gồm:

    • Sử dụng UDP làm giao thức truyền tải, đảm bảo máy chủ không có trạng thái, việc khóa tệp được thực hiện bên ngoài giao thức lõi.
    • Giới hạn độ lệch tệp trong số lượng 32 bit, khiến kích thước tệp tối đa có thể truy cập là 4,2GB.
    • Kích thước truyền dữ liệu được giới hạn ở mức 8KB. Nó yêu cầu máy chủ NFS cam kết dữ liệu được máy khách ghi vào đĩa hoặc bộ nhớ truy cập ngẫu nhiên cố định (non-volatile random-access memory - NVRAM) trước khi phản hồi.

    Quan trọng: Đến hiện nay, phiên bản NFSv2 đã lỗi thời, không khuyến khích sử dụng.

    Phiên bản NFSv3 (1995)

    Đây là phiên bản được chỉ định trong RFC 1813, với các tính năng mới như sau:

    • Mở rộng độ lệch tệp từ 32 lên 64 bit, không còn giới hạn kích thước tệp ở mức 4,2GB như NFSv2.
    • Không còn quy tắc giới hạn truyền dữ liệu 8KB, cho phép truyền đọc và ghi dữ liệu ở mức lớn hơn.
    • Có thêm giao thức lớp vận chuyển là TCP, giúp sử dụng NFS qua các mạng WAN dễ dàng hơn, tăng cường khả năng truyền tải, đọc và ghi dữ liệu.
    • Có thêm thao tác COMMIT cho phép ghi không đồng bộ và ACCESS RPC giúp hỗ trợ các danh sách kiểm soát truy cập tốt hơn.
    • Máy chủ trả lời WRITE RPC ngay lập tức mà không cần đồng bộ hóa dữ liệu với ổ đĩa hoặc NVRAM. Để đảm bảo dữ liệu được lưu trữ ổn định, chúng ta chỉ cần gửi COMMIT RPC.

    Phiên bản NFSv3 hiện nay vẫn được sử dụng rộng rãi, cho phép tương tác với NFSv4 nhưng không hỗ trợ nhiều tính năng mới.

    Phiên bản mở rộng WebNFS 

    WebNFS là một phần mở rộng của NFSv2 và NFSv3, cho phép hệ thống hoạt động ở sau bức tường lửa mà không bị ảnh hưởng bởi sự phức tạp của các giao thức Portmap và MOUNT. 

    Phiên bản mở rộng WebNFS là gì?

    WebNFS có số cổng TCP/UDP cố định (2049). Thay vì yêu cầu máy khách (Client) tự liên hệ với dịch vụ MOUNT RPC để xác định tước hiệu tệp ban đầu (initial filehandle) của mọi hệ thống tệp, WebNFS đã đưa ra khái niệm về tước hiệu tệp công khai (ký tự rỗng cho NFSv2, độ dài bằng 0 cho NFSv3) cho phép sử dụng làm điểm bắt đầu. Cả hai thay đổi sau đó đã được tích hợp vào NFSv4.

    Phiên bản NFSv4 (2003)

    Bản cập nhật cho NFSv4 đầu tiên được phát hành năm 2000 và ghi lại trong RFC 3010. Đây là phiên bản đầu tiên của NFS mà IETF xuất bản dưới dạng tiêu chuẩn được đề xuất (Proposed Standard); các phiên bản trước đó được xuất bản dưới dạng thông tin.

    Các tính năng mới và cải tiến trong bản cập nhật này bao gồm:

    • Có tính năng xác thực mạnh mẽ, đảm bảo quyền riêng tư.
    • Hỗ trợ bộ nhớ đệm tập tin nâng cao.
    • Hỗ trợ chia sẻ tệp Microsoft Windows, mang đến khả năng tương tác tốt hơn.
    • Hỗ trợ tốt hơn cho khóa tích hợp.
    • Các giao tiếp được xử lý bằng RPC phức hợp và cần phải sử dụng TCP, giúp cải thiện hiệu suất và độ tin cậy.

    Một phiên bản cập nhật khác của NFS với một số thay đổi nhỏ đã được tái bản vào năm 2003 với tên RFC 3530. Phiên bản này có sửa một vài lỗi trong phiên bản đầu tiên và thêm các cải tiến mới cho giao thức.

    Cách hoạt động của Network File System

    Network File System hoạt động theo giao thức Client - Server. Các NFS Server là máy chủ với các yêu cầu sau:

    • Đã cài đặt phần mềm NFS Server
    • Có ít nhất một kết nối mạng để có thể chia sẻ tập tin, tài nguyên NFS
    • Đã được cấu hình để đưa ra phản hồi các yêu cầu NFS thông qua kết nối mạng

    Nếu Client NFS là máy chủ, client NFS cần đáp ứng các yêu cầu sau:

    • Đã cài Client NFS
    • Có thể truy cập vào tài nguyên trên NFS Server
    • Có thể truy cập và kết nối mạng với NFS Server
    • Đã được cấu hình để gửi và nhận yêu cầu NFS thông qua kết nối mạng

    Cách hoạt động của NFS là gì 

    Quá trình hoạt động của NFS gồm 3 bước sau, áp dụng cho cả Client NFS và Server NFS:

    • Xác minh mountd hoặc rpc.mountd đã được cài và hoạt động ổn định. Đây là chương trình lắng nghe các yêu cầu NFS (daemon NFS). 
    • Khởi tạo hoặc lựa chọn một thư mục trên máy chủ, đây là mount point NFS. Hệ thống sẽ sử dụng địa chỉ, mount point hoặc tên Server Host của máy chủ để xác định tài nguyên NFS.
    • Cấu hình quyền của NFS Server, cho phép người dùng được ủy quyền có thể tiến hành đọc, ghi và xử lý các tập tin trong hệ thống tập tin.

    Quá trình thiết lập máy khách truy cập vào NFS Server có thể được thực hiện thủ công thông qua lệnh configuration file — /etc/exports hoặc lệnh mount. Trong đó, mỗi dò