Chuyên mục
Linux

Cài đặt NFS Server và NFS Client trên Ubuntu 22.04

Sau một thời gian chỉ biết sử dụng SMB/CIFS để chia sẻ file qua mạng, gần đây mình đã dành thời gian nghiên cứu về NFS – giao thức chia sẻ của Linux. Khi đã biết cách cài đặt NFS Server, mình sẽ dễ dàng các cấu hình ổ cứng mạng nâng cao trên các nền tảng ảo hóa như ESXi, Proxmox, XCP-ng.

Bài viết hôm nay sẽ là hướng dẫn cách cài đặt NFS Server trên máy chủ và cách cấu hình NFS Client trên máy trạm để kết nối đển NFS Server.

I. Chuẩn bị

Để thực hiện các bước hướng dẫn trong bài viết, cần chuẩn bị hệ thống như sau:

  • Hai máy ảo cài đặt Ubuntu Server 22.04 kết nối thông qua mạng nội bộ.
  • Máy ảo cài NFS Server sẽ được gọi là máy chủ. IP máy chủ: 192.168.0.50
  • Máy ảo cài NFS Client sẽ được gọi là máy trạm. IP máy trạm: 192.168.0.100

Mình chọn sử dụng Ubuntu 22.04 để làm quen với hệ điều hành mới này. Bạn có thể áp dụng hướng dẫn dưới đây trên bất kỳ bản Linux nào đều được.

II. Cài đặt NFS Server lên máy chủ

Phần này sẽ được thao tác trên máy chủ.

1. Cài đặt NFS Kerner Server

Trên máy chủ, cài đặt package nfs-kernel-server

sudo apt update
sudo apt install nfs-kernel-server

2. Tạo thư mục chia sẻ

Tạo thư mục mới để chia sẻ thông qua NFS

sudo mkdir /mnt/nfs -p

Tiếp theo, loại bỏ tất cả phân quyền cho thư mục này để các máy trạm có thể truy cập và tạo file.

sudo chown nobody:nogroup /mnt/nfs/
sudo chmod 777 /mnt/nfs/

3. Cấu hình NFS Server

Next, we’ll dive into the NFS configuration file to set up the sharing of these resources.

Tiếp theo, chỉnh sửa file cấu hình của NFS Server để thiết lập chia sẻ cho máy trạm.

sudo nano /etc/exports

Thêm vào nội dung với cú pháp directory_to_share client(share_option1,…,share_optionN), ví dụ như sau

/mnt/nfs 192.168.0.0/24(rw,sync,no_subtree_check)

Giải thích các thông số

  • 192.168.0.0/24: Dãy IP của máy trạm được quyền truy cập vào thư mục chia sẻ.
  • rw: Cấp quyền đọc và ghi cho máy trạm lên thư mục chia sẻ. (Luôn dùng).
  • ro: Cấp quyền đọc, không cho chỉnh sửa.
  • sync: Thực hiện ghi lại những thay đổi lên đĩa cứng trước khi xác nhận. (Luôn dùng)
  • no_subtree_check: tắt tính năng subtree checking. (Luôn dùng)
  • no_root_squash: Máy trạm sẽ được truy cập vào thư mục chia sẻ dưới quyền root của máy chủ. (Không nên dùng)

Kích hoạt lại NFS server để áp dụng những thay đổi trên

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

NFS Server đã sẵn sàng chờ kết nối.

III. Kết nối NFS Share trên máy trạm

Phần này sẽ được chuyển qua thực hiện trên máy trạm.

1. Cài đặt NFS client

Cài đặt package nfs-common

sudo apt update
sudo apt install nfs-common

2. Tạo thư mục mount

Tạo thư mục mới để kết nối với NFS Share trên máy chủ.

sudo mkdir /mnt/nfs_client

3. Kết nối với NFS Share

Kết nối với NFS Share trên máy chủ và mount vào thư mục vừa tạo trên máy trạm bằng lệnh sau

sudo mount 192.168.0.50:/mnt/nfs  /mnt/nfs_client

Truy cập vào thư mục /mnt/nfs_client và tạo thử 1 file

cd /mnt/nfs_client
touch thuanbuidepchai.txt

Chuyển qua máy chủ, kiểm tra xem trong thư mục /mnt/nfs có xuất hiện file thuanbuidepchai.txt không

ls -l /mnt/nfs

File thuanbuidepchai.txt đã hiện ra. Kết nối NFS đã hoạt động ngon lành.

4. Tự động kết nối khi khởi động

Để máy trạm tự động kết nối vào ổ đĩa mạng NFS mỗi khi khởi động, mình sẽ chỉnh sửa file /etc/fstab

sudo nano /etc/fstab

Thêm vào nội dung sau và lưu lại

192.168.0.50:/mnt/nfs/    /mnt/nfs_client   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Khởi động lại máy trạm, ổ đĩa mạng NFS sẽ được tự động kết nối vào thư mục /mnt/nfs_client.

Vậy là xong. Chúc bạn thực hiện thành công.

Tham khảo: DigitalOcean,thuanbui.