Trang chủTin tứcNFS là gì? Hướng dẫn cấu hình Network File System chi tiết
NFS là gì? Hướng dẫn cấu hình Network File System chi tiết

Tìm hiểu NFS là gì, cũng như các bước cài đặt, cấu hình chi tiết để thiết lập Network File System trên hệ thống của bạn một cách đơn giản, dễ dàng nhất.

Trong bối cảnh công nghệ thông tin hiện nay, việc chia sẻ tài nguyên một cách hiệu quả và an toàn giữa các hệ thống máy tính khác nhau là điều vô cùng cần thiết. Network File System (NFS) ra đời như một giải pháp tối ưu cho vấn đề này. Bài viết này sẽ giúp bạn hiểu rõ hơn NFS là gì và hướng dẫn chi tiết cách cấu hình NFS trên hệ thống Linux. Cùng SunCloud tìm hiểu chi tiết dưới đây nhé.

Hình 1. NFS là gì - Network File System
Hình 1. NFS là gì - Network File System

I. Tổng quan

1. NFS là gì?

Network File System (NFS) là một giao thức cho phép người dùng trên các máy tính khác nhau truy cập các tệp qua mạng như thể chúng được lưu trữ cục bộ. Nghĩa là NFS sẽ cho phép bạn truy cập từ xa đến các tệp tin nằm trên hệ thống khác như thể chúng đang nằm trên máy tính của bạn.

2. Nguyên lý hoạt động của NFS là gì?

NFS hoạt động dựa trên mô hình Client - Server. Máy chủ NFS(NFS Server) sẽ chia sẻ thư mục và tệp tin, trong khi máy khách NFS(NFS Client) sẽ thực hiện gắn kết(mount) và truy cập chúng như thể chúng là một phần của hệ thống tệp tin cục bộ.

RPC (Remote Procedure Call) hay còn gọi mà mô hình kỹ thuật mạng, là phương thức giao tiếp phần mềm mà chương trình nào đó dùng để yêu cầu dịch vụ từ chương trình khác. NFS sử dụng RPC cho việc thực hiện các thao tác đối với tệp tin từ xa.

Hình 2. Mô hình hoạt động của NFS
Hình 2. Mô hình hoạt động của NFS

II. Cài đặt và cấu hình NFS

Để có thể sử dụng được NFS, hệ thống của bạn cần có ít nhất:

- Một máy Linux đóng vai trò làm NFS Server

- Một máy Linux khác đóng vai trò làm NFS Client

- Các gói phần mềm cần thiết cho hệ thống được cài đặt

1. Cài đặt NFS

Đối với các máy thuộc Debian như Ubuntu, bạn sẽ phải cài đặt riêng NFS Server và Client:

Cài đặt NFS Server:

# 2 câu lệnh để cập nhật hệ thống

sudo apt update

sudo apt upgrade

# Câu lệnh cài đặt NFS Server

sudo apt install -y nfs-kernel-server

Cài đặt NFS Client:

# 2 câu lệnh để cập nhật hệ thống

sudo apt update

sudo apt upgrade

# Câu lệnh cài đặt NFS Server

sudo apt install -y nfs-common

Đối với các máy thuộc Red Hat Enterpirse, bạn có thể cài đặt NFS Server và Client trong một gói tin:

# 2 câu lệnh để cập nhật hệ thống

sudo yum update

sudo yum upgrade

# Câu lệnh cài đặt NFS Server

sudo yum install -y nfs-utils

2. Cấu hình NFS

2.1. Cấu hình trên máy Server

Trước tiên, chúng ta cần tạo thư mục để tiến hành chia sẻ, thực hiện cấp quyền cho thư mục đó:

# Tạo thư mực chia sẻ

sudo mkdir -p /mnt/shared

# Thực hiện cấp quyền

sudo chown nobody:nogroup /mnt/shared

sudo chmod 777 /mnt/shared

Sau đó, chúng ta sẽ thực hiện cấu hình ở trong file “/etc/export”. Ví dụ ở đây, bạn chia sẻ thư mục “/mnt/shared” và chia sẻ cho toàn bộ máy trong dải IP nội bộ “172.16.66.0/24” thì sẽ cấu hình như sau:

# Thêm vào file dòng sau:

/mnt/shared 172.16.66.0/24(rw,sync,no_subtree_check)

Giải thích:

- “/mnt/shared”: Đây là đường dẫn tới thư mục bạn muốn chia sẻ

- “192.168.217.0/24”: Đây là dải mạng hoặc địa chỉ IP mà bạn muốn chia sẻ

- “rw”: Cho phép Clients có quyền read và write(đọc và viết)

- “sync”: Đồng bộ dữ liệu giữa Clients và Server

- “no_subtree_check”: Bỏ việc kiểm tra thư mục cây con để tăng hiệu suất

Sau khi thêm, thực hiện lưu file và khởi động cấu hình:

# Câu lệnh để NFS đọc lại file export và áp dụng các thay đổi trong file

sudo exportfs -ra

# Khởi động lại dịch vụ NFS

sudo systemctl restart nfs-kernel-server

# Kiểm tra trạng thái

sudo systemctl status nfs-kernel-server

Các bạn cũng đừng quên cấu hình tường lửa cho phép dịch vụ nfs

sudo ufw allow nfs

2.2. Cấu hình trên máy Client

Ở trên Server, các bạn thực hiện như sau:

# Tạo thư mục mount

sudo mkdir -p /mnt/nfs_shared

# Mount thư mục NFS từ Server

sudo mount 172.16.66.81:/mnt/shared /mnt/nfs_shared

# Kiểm tra việc mount

df -h /mnt/nfs_shared

Kết quả cho kiểm tra việc mount:

root@MANH-U22-client:~# df -h /mnt/nfs_shared

Filesystem                                            Size    Used   Avail   Use%   Mounted on

172.16.66.81:/mnt/shared                14G    6.1G    7.1G    47%     /mnt/nfs_shared

3. Tiến hành kiểm thử

Trước tiên, ở Client, chúng ta thực hiện tạo 1 file “testnfs.txt 

Hình 3. Tạo file kiểm tra NFS
Hình 3. Tạo file kiểm tra NFS

Và sau đó thực hiện Kiểm tra bên phía Server như sau:

# Truy cập vào thư mục trên phía Server

cd /mnt/shared

# Kiểm tra các file trong thư mục

ll 

Kết quả kiểm tra:

Hình 5. Kiểm tra file trên Server
Hình 4. Kiểm tra file trên Server

Như các bạn đã thấy, file được tạo ở máy Client đã ngay lập tức được đưa lên Sever và cũng tương tự khi ta tạo file ở Server, file cũng sẽ được đẩy về phía Client

III. Một số lưu ý khi sử dụng NFS

Có một số lỗi thường gặp khi sử dụng NFS và cách xử lý mà bạn nên biết:

1. Lỗi kết nối

Nguyên nhân thường gặp bao gồm:

  • Máy chủ NFS chưa khởi động.
  • Tường lửa chặn cổng NFS.

Cách khắc phục:

  • Kiểm tra và khởi động lại dịch vụ NFS Server.
  • Cấu hình lại tường lửa để mở cổng nfs.

2. Vấn đề hiệu suất

Hiệu suất NFS có thể bị ảnh hưởng bởi nhiều yếu tố như tốc độ mạng, cấu hình phần cứng và phần mềm.

Cách tối ưu hóa:

  • Sử dụng kết nối mạng tốc độ cao.
  • Cấu hình NFS Server để tối ưu hóa hiệu suất, như sử dụng chế độ async nếu không quá quan trọng về tính nhất quán dữ liệu.

3. Quyền truy cập

Vấn đề về quyền truy cập thường do cấu hình sai quyền trong file /etc/exports

Cách giải quyết:

  • Kiểm tra và cấu hình lại quyền truy cập trong file /etc/exports.
  • Đảm bảo quyền truy cập thư mục trên NFS Server phù hợp với người dùng trên NFS Client.

IV. Tổng kết

Đến đây chắc hẳn bạn đã hiểu rõ NFS là gì cũng như cấu hình vào hệ thống của mình. Network File System (NFS) là một công cụ mạnh mẽ và tiện lợi giúp chia sẻ tài nguyên giữa các hệ thống máy tính trong mạng một cách hiệu quả và dễ dàng. Việc hiểu và áp dụng NFS không chỉ giúp tối ưu hóa việc sử dụng tài nguyên hệ thống mà còn nâng cao hiệu suất làm việc trong môi trường mạng. Với các bước cấu hình đơn giản và các lưu ý về bảo mật, NFS có thể trở thành một giải pháp hữu ích cho việc quản lý và chia sẻ tệp tin trong nhiều tình huống khác nhau. Nắm vững cách thiết lập và xử lý các vấn đề liên quan đến NFS sẽ giúp bạn tận dụng tối đa tiềm năng của công nghệ này.

>>> Có thể bạn quan tâm: Hướng dẫn cài đặt và gỡ bỏ ứng dụng trên hệ điều hành Linux

Tác giả:
author avatar
Mình là Huy, hiện mình đang là kỹ sư hệ thống tại SunCloud. Mình có nhiều năm kinh nghiệm, kiến thức chuyên môn về mạng, hệ thống, điện toán mây và an ninh bảo mật. Mình đã triển khai và vận hành rất nhiều dự án thực tế cho doanh nghiệp, cơ quan. Mình đã đạt được một số chứng chỉ quốc tế như CCNP, LPI, VCP, đồng thời mình vẫn đang tiếp tục học tập để trau dồi kiến thức mỗi ngày. Mình rất yêu thích công nghệ, đam mê chia sẻ những kiến thức, thông tin hữu ích cho mọi người.

Tin tức nổi bật