Trong môi trường công nghiệp và doanh nghiệp ngày nay, việc chia sẻ tài nguyên và lưu trữ dữ liệu trở nên ngày càng quan trọng. NFS, viết tắt của Network File System, là một giao thức cho phép các máy tính trong mạng chia sẻ và truy cập các tệp tin và thư mục qua mạng.
Trong bài viết này, cùng InterData tìm hiểu chi tiết về NFS là gì, cách hoạt động, ưu điểm, nhược điểm và cách cài đặt NFS mới nhất. Hãy cùng tìm hiểu ngay nhé!
Khái quát NFS là gì?
NFS là một giao thức mạng cho phép các máy tính trong mạng chia sẻ tệp tin và thư mục với nhau. Đây là một phương tiện hiệu quả để truy cập dữ liệu từ xa và chia sẻ tài nguyên giữa các máy tính trong mạng LAN hoặc WAN.
Giúp người dùng dễ dàng truy cập vào các tệp từ máy chủ NFS như thể chúng đang tồn tại trên máy tính cá nhân của họ. NFS được sử dụng để chia sẻ dữ liệu giữa các máy trong cùng một mạng hoặc giữa các máy tính trong hệ thống phân tán.
Giao thức này có thể hoạt động trên nhiều hệ điều hành khác nhau, bao gồm: Linux, Unix và Windows, Microsoft Windows, Hewlett Packard Enterprise HP-UX, Oracle Solaris
Các phiên bản của NFS
Dưới đây là một số phiên bản của NFS được thu thập. NFS có 4 phiên bản mở rộng gồm:
Phiên bản NFSv2 (1989)
Phiên bản này được định rõ trong RFC 1094. NFSv2 có những tính năng chính sau:
- Sử dụng UDP làm giao thức truyền tải, không yêu cầu máy chủ phải duy trì trạng thái, và việc khóa tệp được quản lý bên ngoài giao thức lõi.
- Giới hạn độ lệch tệp chỉ đến 32 bit, hạn chế kích thước tối đa của mỗi tệp được truy cập chỉ là 4,2GB.
- Kích thước truyền dữ liệu giới hạn ở mức 8KB, và yêu cầu máy chủ NFS đảm bảo dữ liệu được cam kết trước khi phản hồi, tránh mất mát dữ liệu.
Tuy nhiên, điều rất quan trọng phải nhấn mạnh đó là phiên bản NFSv2 đã lỗi thời và không còn được khuyến khích sử dụng trong môi trường hiện đại.
Phiên bản NFSv3 (1995)
Phiên bản này được đề cập trong RFC 1813, với những 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 hạn chế về kích thước tệp như NFSv2, cho phép làm việc với các tệp có kích thước lớn hơn.
- Không còn quy định giới hạn truyền dữ liệu 8KB, giúp truyền đọc và ghi dữ liệu ở mức lớn hơn, nâng cao hiệu suất truy cập.
- Có thêm giao thức lớp vận chuyển là TCP, tạo điều kiện thuận lợi hơn cho việc sử dụng NFS qua các mạng WAN, cung cấp khả năng truyền tải dữ liệu tốt hơn, đặc biệt là trong việc đọc và ghi dữ liệu.
- Phiên bản NFSv3 có thêm thao tác COMMIT cho phép ghi dữ liệu không đồng bộ và ACCESS RPC giúp quản lý danh sách kiểm soát truy cập một cách hiệu quả hơn.
- Khi máy chủ nhận được yêu cầu WRITE RPC, nó sẽ phản hồi 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, ta chỉ cần gửi yêu cầu COMMIT RPC.
Mặc dù đã xuất hiện phiên bản NFSv4, nhưng NFSv3 vẫn được sử dụng rộng rãi với khả năng tương tác với NFSv4, tuy nhiên phiên bản này không hỗ trợ nhiều tính năng mới.
Phiên bản mở rộng WebNFS
WebNFS là một tiện ích mở rộng của NFSv2 và NFSv3, giúp hệ thống hoạt động mượt mà ngay cả khi đặt sau tường lửa, mà không cần phải lo lắng về sự phức tạp của các giao thức Portmap và MOUNT.
WebNFS sử dụng một số cổng TCP/UDP cố định (2049). Thay vì yêu cầu máy khách (Client) phải 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 đã giới thiệu khái niệm về tước hiệu tệp công khai (trống cho NFSv2, độ dài bằng 0 cho NFSv3) để làm điểm khởi đầu.
Cả hai thay đổi trên sau đó đã được tích hợp vào NFSv4.
Phiên bản NFSv4 (2003)
Phiên bản cập nhật đầu tiên cho NFSv4 được phát hành vào năm 2000 và được 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.
Bản cập nhật này mang lại nhiều tính năng mới và cải tiến bao gồm:
- Tính năng xác thực mạnh mẽ, đảm bảo bảo mật và quyền riêng tư cho dữ liệu.
- Hỗ trợ bộ nhớ đệm tập tin nâng cao.
- Khả năng chia sẻ tệp với Microsoft Windows, cải thiện khả năng tương tác giữa các hệ thống.
- Hỗ trợ khóa tích hợp tốt hơn.
- Sử dụng giao thức RPC phức tạp và hỗ trợ TCP, giúp cải thiện hiệu suất và độ tin cậy trong quá trình truyền tải dữ liệu.
Năm 2003, NFS đã trải qua một phiên bản cập nhật khác với một số thay đổi nhỏ, được gọi là RFC 3530. Phiên bản này đã sửa một số lỗi trong phiên bản trước và đồng thời thêm vào các cải tiến mới cho giao thức.
Sau khi hiểu được NFS là gì và các phiên bản NFS là gì, cùng nhau tìm hiểu hoạt động của NFS như thế nào nhé!
NFS hoạt động như thế nào?
NFS hoạt động bằng cách cho phép máy khách kết nối với máy chủ và giao tiếp với nó thông qua giao thức NFS. Khi máy khách muốn truy cập một tập tin trên máy chủ, nó sẽ gửi yêu cầu tới máy chủ qua giao thức NFS.
Máy chủ sẽ kiểm tra xem người dùng có quyền truy cập vào tập tin đó không, và nếu có, máy chủ sẽ trả về tập tin đó cho máy khách.
NFS có thể được thiết lập để cho phép máy khách ghi dữ liệu vào tập tin trên máy chủ, tuy nhiên điều này phụ thuộc vào cấu hình cụ thể của máy chủ. Ngoài ra, NFS cũng có thể được cấu hình để sử dụng mã hóa để bảo vệ tính an toàn của thông tin khi giao tiếp giữa máy khách và máy chủ.
Quá trình hoạt động của NFS bao gồm 3 bước cơ bản, được áp dụng cho cả Client NFS và Server NFS:
- Xác minh rằng chương trình mountd hoặc rpc.mountd đã được cài đặt và hoạt động một cách ổn định. Đây là phần mềm 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ủ, đó là mount point. Hệ thống sẽ sử dụng địa chỉ, mount point hoặc Server Host để xác định tài nguyên NFS.
- Cấu hình quyền truy cập của NFS Server, cho phép người dùng được ủy quyền để đọc, ghi và thực hiện các thao tác trên các tập tin trong hệ thống tập tin.
Để thiết lập máy khách kết nối với NFS Server, có thể thực hiện một cách thủ công thông qua lệnh configuration file — /etc/exports hoặc lệnh mount. \
Trong file configuration metadata NFS, mỗi dòng sẽ chứa địa chỉ IP, mount point và tên miền của máy chủ lưu trữ hoặc bất kỳ thông tin nào cần thiết để truy cập vào hệ thống tập tin.
Ưu điểm và nhược điểm của NFS là gì?
Ưu điểm
NFS đem lại nhiều ưu điểm đáng chú ý như:
- Truy cập từ xa thuận tiện: NFS cho phép người dùng truy cập và sử dụng các tập tin trên máy chủ từ xa mà không cần phải sao chép chúng xuống máy tính cụ bộ của họ.
- Giảm sự phụ thuộc vào máy cục bộ: Bằng cách cho phép truy cập vào các tập tin từ bất kỳ máy tính nào trong mạng lưới, NFS giúp giảm thiểu sự phụ thuộc vào máy tính cá nhân để lưu trữ tập tin.
- Tiết kiệm không gian lưu trữ: NFS giúp tiết kiệm không gian lưu trữ trên máy tính cá nhân bằng cách ngăn chặn việc phải sao chép tập tin từ máy chủ xuống máy cục bộ để sử dụng.
- Quản lý từ xa dễ dàng: NFS cho phép người quản trị hệ thống quản lý tập tin và thư mục trên máy chủ từ xa một cách thuận tiện. Điều này giúp họ có thể thực hiện các công việc quản lý mà không cần phải truy cập trực tiếp vào máy chủ, từ đó tiết kiệm thời gian và nâng cao hiệu quả làm việc.
- Bảo mật thông tin: NFS cung cấp khả năng mã hóa để bảo vệ các giao tiếp giữa máy khách và máy chủ, đảm bảo an toàn cho dữ liệu khỏi việc truy cập trái phép và lộ thông tin quan trọng.
- Tiết kiệm chi phí: Bằng cách sử dụng NFS, doanh nghiệp có thể tiết kiệm chi phí về việc mua thêm không gian lưu trữ trên máy tính cục bộ cho các nhân viên.
Nhược điểm
Mặc dù NFS mang lại nhiều ưu điểm cho người dùng và doanh nghiệp, nhưng cũng tồn tại một số hạn chế như sau:
- Bảo mật không cao: NFS không hỗ trợ xác thực người dùng, điều này có nghĩa là bất kỳ người dùng nào cũng có thể truy cập vào các tập tin trên máy chủ mà không cần phải xác thực tài khoản của họ.
- Độ trễ cao: NFS phụ thuộc vào mạng để truy cập vào tập tin trên máy chủ, điều này có nghĩa là việc truy cập vào tập tin có thể chậm hơn so với việc truy cập trực tiếp vào tập tin trên máy tính cục bộ.
- Hacker có thể mạo danh tên của máy chủ NFS.
Cách cài đặt NFS trên CentOS, Almalinux và Ubuntu/Debian
NFS được ứng dụng trên nhiều OS Linux, và trong bài viết này Thuê VPS giá rẻ sẽ hướng dẫn bạn cài đặt trên CentOS,Almalinux và Ubuntu/Debian nhanh nhất.
Hướng dẫn cài đặt NFS Server trên CentOS/Almalinux
Bạn nên cài đặt bằng lệnh sau khi đang trên hệ điều hành CentOS.
yum install nfs-utils -y
Khi bạn đã hoàn tất việc cài đặt, bạn có thể sử dụng các lệnh sau để kích hoạt và khởi động:
systemctl enable nfs-server
systemctl start nfs-server
systemctl status nfs-server
Hướng dẫn cài đặt NFS Server trên Ubuntu/Debian
Để cài đặt NFS trên Ubuntu/Debian, bạn có thể sử dụng lệnh sau. Chỉ cần sao chép và thực thi nó trong cửa sổ Terminal là bạn có thể tiến hành cài đặt:
apt-get update -y
apt-get install nfs-kernel-server -y
apt-get install nfs-common -y
Khi bạn đã hoàn tất việc cài đặt, bạn có thể sử dụng các lệnh sau để kích hoạt và khởi động:
systemctl enable nfs-kernel-server
systemctl start nfs-kernel-server
systemctl status nfs-kernel-server
Như vậy, NFS (Network File System) là một giao thức quan trọng trong việc chia sẻ tài nguyên và truy cập dữ liệu từ xa trong môi trường mạng. Với ưu điểm về tính dễ sử dụng, hiệu suất cao và tính linh hoạt, NFS là một lựa chọn phổ biến cho các tổ chức và doanh nghiệp.
Tuy nhiên, việc triển khai và quản lý NFS cần được thực hiện cẩn thận để đảm bảo tính bảo mật và hiệu suất của hệ thống. Điều này đòi hỏi sự hiểu biết sâu rộng về cách hoạt động của NFS cũng như các biện pháp bảo mật và quản lý phù hợp.
Bài viết trên, InterData cũng đã giúp bạn có nhìn nhận tổng quan hơn về NFS là gì, cách hoạt động và ưu nhược điểm của NFS. Qua đó, bài viết cũng đã hướng dẫn chi tiết cách cài đặt NFS đơn giản nhất để giúp bạn hoàn thành công việc của mình một cách nhanh chóng.