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

bởi | LPI, Ubuntu

Home » LPI » Ubuntu » Cài đặt NFS Server trên Ubuntu 22.04

Khái niệm

– NFS ( Network File System ) là một giao thức dùng để chia sẽ file giữa các máy linux
– Các port NFS sử dụng
+ TCP/111 và UDP/111 – RPC 4.0 Port mapper
+ TCP/2049 và UDP/2049 – NFSD (NFS Server)

Chuẩn bị

– Sơ đồ bài lab

+----------------------+          |          +-------------------------+
| [    NFS Server    ] |10.0.0.8 | 10.0.0.51| [    NFS Client    ]    |
|nfs.dinhducthanh.local+----------+----------+client.dinhducthanh.local|
+----------------------+                     +-------------------------+

– Cấu hình 2 card mạng cho NFS server

root@localhost:~# cat /etc/netplan/01-netcfg.yaml
network:
  ethernets:
    ens33:
      dhcp4: false
      addresses: [192.168.64.8/24]
      routes:
        - to: default
          via: 192.168.64.2
          metric: 100
      nameservers:
        addresses: [192.168.64.3,8.8.8.8]
      dhcp6: false
  version: 2

network:
  ethernets:
    ens37:
      dhcp4: false
      addresses: [10.0.0.8/24]
      nameservers:
         addresses: [10.0.0.3]
      dhcp6: false
  version: 2

– Đổi hostname, time zone

root@localhost:~# hostnamectl set-hostname nfs.dinhducthanh.local
root@localhost:~# timedatectl set-timezone Asia/Ho_Chi_Minh
root@localhost:~# reboot

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

Cài đặt

root@nfs:~# apt -y install nfs-kernel-server

Cấu hình

root@nfs:~# vi /etc/idmapd.conf
# dòng 5 : bỏ comment và thay bằng domain name của bạn
Domain = dinhducthanh.local

Cài đặt NFS Server trên Ubuntu 22.04 idmapd.conf

root@nfs:~# vi /etc/exports
# thêm cài đặt cho NFS exports
# ví dụ này, set [/home/nfsshare] như một NFS share
/home/nfsshare 10.0.0.0/24(rw,no_root_squash)

Cài đặt NFS Server trên Ubuntu 22.04 /etc/exports
– Tạo NFS folder

root@nfs:~# mkdir /home/nfsshare

– Restart dịch vụ

root@nfs:~# systemctl restart nfs-server

Các basic option của các exports

rw: Cho phép cả các request read and write trên một NFS volume.
ro: Cho phép chỉ các request read trên một NFS volume.
sync: Chỉ trả lời các request sau khi các thay đổi đã được chuyển sang bộ nhớ ổn định. (Mặc định)
async: Tùy chọn này cho phép máy chủ NFS vi phạm giao thức NFS và trả lời các request trước khi bất kỳ thay đổi nào được thực hiện bởi request đó đã được đưa vào lưu trữ ổn định.
secure: Tùy chọn này bắt buộc các request bắt nguồn từ port nhỏ hơn IPPORT_RESERVED (1024). (Mặc định)
insecure: Tùy chọn này cho phép tất cả các port.
wdelay: Nó trì hoãn một chút việc thực hiện request write vào đĩa nếu nó nghi ngờ rằng một request write liên quan khác có thể đang được thực hiện hoặc có thể đến sớm. (Mặc định)
no_wdelay: Tùy chọn này không có hiệu lực nếu async cũng được đặt. Máy chủ NFS thường sẽ trì hoãn một chút việc thực hiện request write vào đĩa nếu nó nghi ngờ rằng một request write liên quan khác có thể đang được thực hiện hoặc có thể đến sớm. Điều này cho phép nhiều request write được đưa vào đĩa bằng một thao tác có thể cải thiện hiệu suất. Nếu máy chủ NFS chủ yếu nhận được các request nhỏ không liên quan, hành vi này thực sự có thể làm giảm hiệu suất, do đó, bạn có thể tắt no_wdelay để tắt nó.
subtree_check: Tùy chọn này bật kiểm tra subtree. (Mặc định)
no_subtree_check: Tùy chọn này tắt kiểm tra subtree, có ý nghĩa bảo mật nhẹ, nhưng có thể cải thiện độ tin cậy trong một số trường hợp.
root_squash: Ánh xạ các request từ uid/gid 0 đến các uid/gid ẩn danh. Lưu ý điều này không áp dụng cho bất kỳ uid hoặc gid nào khác.
no_root_squash: Tắt tính năng root squashing. Option này hữu ích cho các máy client không có disk.
all_squash: Điều này maps tất cả các uid and gid tới người dùng ẩn danh. Hữu ích cho NFS tạo các thư mục FTP public, thư mục tin tức tạm thời, etc.
no_all_squash: Nó tắt tất cả squashing. (Mặc định)
anonuid=UID: Tùy chọn này đặt rõ ràng uid và gid của các người dùng ẩn danh. Tùy chọn này chủ yếu hữu ích cho các PC client.
anongid=GID: Tùy chọn này đọc ở tùy chọn trên (anonuid=UID)

Thêm bản ghi vào DNS server

Thêm bản ghi vào DNS server để trỏ IP 10.0.0.8 về domain nfs.dinhducthanh.local. DSN server được cài giống bài: Cài đặt DNS Server trên Ubuntu 22.04: Internal Network

root@dns:~# vi /etc/bind/dinhducthanh.local.lan
# Thêm vào 1 record A
nfs     IN  A       10.0.0.8
root@dns:~# vi /etc/bind/0.0.10.db
# Thêm vào 1 record PTR
8      IN  PTR     nfs.dinhducthanh.local.

– Restart BIND to apply changes.

root@dns:~# systemctl restart named

Tham khảo thêm

Cài đặt ban đầu Ubuntu 22.04: Enable root user

Cài đặt ban đầu Ubuntu 22.04: Network Settings