Sunday, January 19, 2025

Hướng dẫn cài đặt NFS Server trên Ubuntu 20.04

-

NFS (Network File System) là một hệ thống giao thức chia sẻ file phát triển bởi Sun Microsystems từ năm 1984, cho phép một người dùng trên một máy tính khách truy cập tới hệ thống file chia sẻ thông qua một mạng máy tính giống như truy cập trực tiếp trên ổ cứng. Hiện tại có 3 phiên bản NFS là NFSv2, NFSv3, NFSv4.

Hướng dẫn cài đặt NFS Server trên Ubuntu 18.04/20.04/22.04

Trên máy NFS Server

Bước 1: Đầu tiên các bạn update cập nhật lại các package của Ubuntu bằng command sau :

sudo apt update && sudo apt -y upgrade

Bước 2: Cài đặt package nfs-kernel-server trên máy NFS Server

sudo apt install nfs-kernel-server -y

Kiểm tra NFS-Server service đã hoạt động chưa?

$ sudo systemctl status nfs-kernel-server.service
● nfs-server.service - NFS server and services
   Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2022-12-04 16:04:00 UTC; 8s ago
 Main PID: 2429 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/nfs-server.service

Dec 04 16:04:00 webserver-01 systemd[1]: Starting NFS server and services...
Dec 04 16:04:00 webserver-01 systemd[1]: Started NFS server and services.

Bước 3: Tạo thư mục share trên NFS-Server

mkdir -p /nfs-share

Bước 4: Export thư mục share, sửa file /etc/exports thêm record sau

echo '/nfs-share *(rw,sync,fsid=0,no_subtree_check,no_root_squash)' >> /etc/exports

Sau đó restart lại NFS Service

sudo systemctl restart nfs-kernel-server rpcbind

Kiểm tra thư mục share trên NFS Server với lệnh exportfs -v

$ exportfs -v
/nfs-share    	<world>(rw,wdelay,no_root_squash,no_subtree_check,fsid=0,sec=sys,rw,secure,no_root_squash,no_all_squash)

Nếu bạn share nhiều thư mục thì có thể config như sau, hãy thay đổi fsid nhé:

/volumes-ssd *(rw,sync,fsid=1,no_subtree_check,no_root_squash)
/volumes-hdd *(rw,sync,fsid=2,no_subtree_check,no_root_squash)
/nfs-storage/nfs/mariadb-1 *(rw,sync,fsid=3,no_subtree_check,no_root_squash)
/nfs-storage/nfs/mariadb-2 *(rw,sync,fsid=4,no_subtree_check,no_root_squash)
/nfs-storage/nfs/mariadb-3 *(rw,sync,fsid=5,no_subtree_check,no_root_squash)

Sau đó cũng khởi động lại NFS Service.

sudo systemctl restart nfs-kernel-server rpcbind

Kiểm tra thư mục share trên NFS Server với lệnh exportfs -v

/volumes-ssd    <world>(rw,wdelay,no_root_squash,no_subtree_check,fsid=1,sec=sys,rw,secure,no_root_squash,no_all_squash)
/volumes-hdd    <world>(rw,wdelay,no_root_squash,no_subtree_check,fsid=2,sec=sys,rw,secure,no_root_squash,no_all_squash)
/nfs-storage/nfs/mariadb-1
                <world>(rw,wdelay,no_root_squash,no_subtree_check,fsid=3,sec=sys,rw,secure,no_root_squash,no_all_squash)
/nfs-storage/nfs/mariadb-2
                <world>(rw,wdelay,no_root_squash,no_subtree_check,fsid=4,sec=sys,rw,secure,no_root_squash,no_all_squash)
/nfs-storage/nfs/mariadb-3
                <world>(rw,wdelay,no_root_squash,no_subtree_check,fsid=5,sec=sys,rw,secure,no_root_squash,no_all_squash)

Bước 5: Mở tường lửa cho dịch vụ NFS (tùy chọn)

Trường hợp tường lửa đang bật thì bạn cần cập nhật lại rule của tường lửa để cho phép dịch vụ NFS được phép truy cập từ Internet.

sudo ufw allow from <client_ip> to any port nfs

Hoặc cho phép toàn bộ địa chỉ IP có thể truy cập

sudo ufw allow from any to any port nfs

Trên máy NFS-Client

Bước 1: Cài package nfs-common để access tới NFS Server

sudo apt update
sudo apt install nfs-common -y

Bước 2: Tạo thư mục mount_path.

mkdir -p /nfs-share

Bước 2: Mount NFS từ Client (mount NFSv4)

mount <ip_address>:/ <mount_path>

Ví dụ ở trường hợp của mình

mount 192.168.13.231:/nfs-share /nfs-share

Để mount point không bị mất khi restart lại server chúng ta sửa file /etc/fstab và thêm record sau:

<ip_address>:/ <mount_path> nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Ví dụ ở trường hợp của mình

echo '192.168.13.231:/nfs-share /nfs-share nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0' >> /etc/fstab

Sau đó dùng lệnh mount -a để mount toàn bộ các trường đã khai báo trong file /etc/fstab

mount -a

Kết quả sau khi mount

$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
udev                       7.9G     0  7.9G   0% /dev
tmpfs                      1.6G  672K  1.6G   1% /run
/dev/vda1                  194G  1.4G  193G   1% /
tmpfs                      7.9G     0  7.9G   0% /dev/shm
tmpfs                      5.0M     0  5.0M   0% /run/lock
tmpfs                      7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/vda15                 105M  4.4M  100M   5% /boot/efi
tmpfs                      1.6G     0  1.6G   0% /run/user/1000
192.168.13.231:/nfs-share  194G  1.4G  193G   1% /nfs-share

Kết luận

Trên là hướng dẫn xây dựng 1 NFS Server hoàn chỉnh và cách mount từ NFS Client tới, bạn có thể tham khảo bài viết sau để biết thêm 1 số lệnh thường dùng cho dịch vụ nfs.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories