在 UOS ARM 架構系統上安裝和配置 NFS 服務,實現與局域網中其他服務器共享文件夾的步驟如下:
1. 安裝 NFS 服務
首先更新系統并安裝 NFS 服務器組件:
bash
# 更新軟件包列表
sudo apt update# 安裝NFS服務器
sudo apt install nfs-kernel-server -y
2. 創建共享目錄
bash
# 創建要共享的目錄(示例路徑)
sudo mkdir -p /data/nfs_share# 設置適當的權限(根據需求調整)
sudo chmod -R 777 /data/nfs_share
sudo chown -R nobody:nogroup /data/nfs_share
3. 配置共享目錄
編輯 NFS 配置文件/etc/exports
:
bash
sudo nano /etc/exports
添加以下內容(根據實際情況修改):
plaintext
# 允許192.168.1.0/24網段的所有主機訪問
/data/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)# 如果只允許特定IP訪問,例如192.168.1.100
# /data/nfs_share 192.168.1.100(rw,sync,no_subtree_check,no_root_squash)
參數說明:
rw
:讀寫權限sync
:同步寫入磁盤no_subtree_check
:關閉子目錄檢查no_root_squash
:允許 root 用戶操作
4. 生效配置并重啟服務
bash
# 使配置生效
sudo exportfs -a# 重啟NFS服務
sudo systemctl restart nfs-kernel-server# 設置開機自啟
sudo systemctl enable nfs-kernel-server
5. 配置防火墻(如果啟用)
bash
# 允許NFS相關端口
sudo ufw allow from 192.168.1.0/24 to any port nfs
sudo ufw allow mountd
sudo ufw allow rpc-bind
sudo ufw reload
6. 客戶端掛載(其他服務器操作)
在局域網中的其他服務器上執行:
bash
# 安裝NFS客戶端
sudo apt install nfs-common -y# 創建掛載點
sudo mkdir -p /mnt/nfs_client# 掛載共享目錄(替換為NFS服務器IP)
sudo mount -t nfs 192.168.1.10:/data/nfs_share /mnt/nfs_client# 設置開機自動掛載(編輯/etc/fstab)
echo "192.168.1.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0" | sudo tee -a /etc/fstab
完成以上步驟后,局域網中的其他服務器就可以通過掛載點訪問 UOS ARM 服務器上的共享文件夾了。可以通過創建測試文件來驗證共享是否正常工作。
如果服務器更換了網段和ip怎么辦
當 NFS 服務器更換網段或 IP 后,需要同步更新服務器端的配置和客戶端的掛載設置,否則會導致共享連接失敗。以下是具體操作步驟:
一、服務器端(UOS ARM)配置調整
更新 NFS 共享配置(
/etc/exports
)
由于網段或 IP 變更,需修改允許訪問的客戶端范圍:bash
sudo nano /etc/exports
將原配置中的網段 / IP 替換為新的網段 / IP,例如:
- 原配置:
/data/nfs_share 192.168.1.0/24(...)
- 新配置(假設新網段為
192.168.2.0/24
):bash
/data/nfs_share 192.168.2.0/24(rw,sync,no_subtree_check,no_root_squash)
若只允許特定新 IP(如
192.168.2.20
),則改為:bash
/data/nfs_share 192.168.2.20(rw,sync,no_subtree_check,no_root_squash)
- 原配置:
重新加載 NFS 配置
使新的共享規則生效:bash
sudo exportfs -ra # 重新導出所有共享并刷新 sudo systemctl restart nfs-kernel-server # 重啟服務確保生效
更新防火墻規則
若服務器啟用了防火墻(如ufw
),需允許新網段 / IP 訪問 NFS 相關端口:bash
# 先刪除舊規則(假設舊網段為192.168.1.0/24) sudo ufw delete allow from 192.168.1.0/24 to any port nfs # 添加新規則(新網段192.168.2.0/24) sudo ufw allow from 192.168.2.0/24 to any port nfs sudo ufw allow from 192.168.2.0/24 to any port mountd sudo ufw allow from 192.168.2.0/24 to any port rpc-bind sudo ufw reload
二、客戶端(局域網其他服務器)配置調整
先卸載舊的 NFS 掛載(若已掛載)
避免殘留連接導致沖突:bash
sudo umount /mnt/nfs_client # 替換為實際掛載點 或者強制卸載:sudo umount -lf /zkys_data/
更新臨時掛載命令
使用服務器的新 IP重新掛載:bash
# 示例:新IP為192.168.2.10,共享目錄和客戶端掛載點不變 sudo mount -t nfs 192.168.2.10:/data/nfs_share /mnt/nfs_client
更新開機自動掛載配置(
/etc/fstab
)
編輯fstab
文件,替換舊 IP 為新 IP:bash
sudo nano /etc/fstab
找到原 NFS 掛載行并修改:
- 原配置:
192.168.1.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0
- 新配置:
192.168.2.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0
- 原配置:
驗證自動掛載
重新加載fstab
配置并檢查是否生效:bash
sudo mount -a # 加載所有fstab中的掛載 df -h # 查看是否成功掛載(應顯示新IP對應的共享)
三、驗證共享可用性
在服務器端的共享目錄創建測試文件,然后在客戶端掛載點查看是否能正常讀取 / 修改,確認網絡連通性和權限是否正常:
bash
# 服務器端創建測試文件
sudo touch /data/nfs_share/test_after_ip_change# 客戶端檢查
ls -l /mnt/nfs_client/test_after_ip_change # 應能看到文件
通過以上步驟,即可在服務器網段 / IP 變更后重新恢復 NFS 共享功能。核心是確保服務器端的訪問規則、防火墻和客戶端的掛載目標同步更新為新的網絡信息。