NFS on Rocky Linux 8

Linux NFS 安裝步驟

本文將指導讀者如何在 Linux 系統上安裝和配置 NFS。從安裝到設置共享目錄。

什麼是 NFS

NFS (Network File System) 是一種分散式檔案系統協議,用於在網路上共享檔案和資源。

環境設定

id name ip
1 nfs-server 10.250.75.111
2 nfs-client 10.250.75.103

在 NFS Server 上

  1. 安裝 nfs 工具包
dnf -y install nfs-utils
  1. 啟動 nfs server 並且設定開機自動開啟。
systemctl enable --now nfs-server.service
  1. 建立 nfs 目錄
mkdir -p /mnt/nfs_shares
  1. 更改 owner 及設定權限

nobody 使用者是一個系統使用者,不擁有任何特殊權限,且通常用於運行低權限的服務或進程。

chown -R nobody:nobody /mnt/nfs_shares && chmod -R 777 /mnt/nfs_shares
  1. vim /etc/exports

/etc/exports 是在 Linux 系統中用於配置 NFS 的設定檔案。NFS 是一種分散式檔案系統,它允許不同的機器透過網路共享檔案。

rw: 可讀可寫

sync: 寫入後同步

no_all_squash: 禁用 all_squash

root_squash: 被啟用時,NFS 伺服器會將 root 使用者的操作映射為匿名使用者(通常是 nobody 或 nfsnobody)

/mnt/nfs_shares 10.250.75.103(rw,sync,no_all_squash,root_squash)
  1. 重啟 nfs-server
systemctl restart nfs-server.service
  1. 打開防火牆

service 檔案如下:

/usr/lib/firewalld/services/nfs.xml

/usr/lib/firewalld/services/rpc-bind.xml

/usr/lib/firewalld/services/mountd.xml

firewall-cmd --permanent --add-service=nfs --add-service=rpc-bind --add-service=mountd && firewall-cmd --reload
  1. 查看 export directories

-a: Export or unexport all directories.

-r: Reexport all directories

When exporting or unexporting, show what’s going on

exportfs -arv
  1. 查看 export list

-s: Display the current export list suitable for /etc/exports.

exportfs -s

在 NFS Client 上

  1. 檢查 nfs server 有沒有對 client server 開放使用
showmount -e 10.250.75.111
  1. 新增 mount 目錄
mkdir -p /nfs_client
  1. 掛載 nfs
mount -t nfs 10.250.75.111:/mnt/nfs_shares /nfs_client
  1. 查看是否成功
mount | grep nfs
  1. 設定開機時自動 mount

編輯 /etc/fstab

vi /etc/fstab

加入以下內容:

10.250.75.111:/mnt/nfs_shares /nfs_client nfs defaults 0 0

Reference