實現背景 最近需要把大數據測試環境的虛擬機遷移到另一臺物理機上,其中資料庫文件過大,一般的上傳文件有大小限制不能超過4GB,可以通過NFS共用目錄解決文件上傳問題。 NFS介紹 NFS介紹NFS 即網路文件系統(Network File-System),可以通過網路讓不同機器、不同系統之間可以實現文 ...
實現背景
最近需要把大數據測試環境的虛擬機遷移到另一臺物理機上,其中資料庫文件過大,一般的上傳文件有大小限制不能超過4GB,可以通過NFS共用目錄解決文件上傳問題。
NFS介紹
NFS介紹NFS 即網路文件系統(Network File-System),可以通過網路讓不同機器、不同系統之間可以實現文件共用。通過 NFS,可以訪問遠程共用目錄,就像訪問本地磁碟一樣。NFS 只是一種文件系統,本身並沒有傳輸功能,是基於 RPC(遠程過程調用)協議實現的,採用 C/S 架構。
目標:實現A共用目錄,B訪問A。
前置條件:準備兩台主機A和B,且在同一區域網。
1.A安裝NFS軟體包
sudo yum install nfs-utils
2.配置 NFS 服務端
編輯 /etc/exports 文件,添加需要共用的目錄及其許可權設置。
例如,假設我們需要共用 /mnt/data 目錄,並且允許所有客戶端讀寫訪問:
/mnt/data *(rw,sync,no_root_squash)
其中:
- /mnt/data 是需要共用的目錄。
- ‘* 表示允許所有客戶端訪問。
- rw 表示允許讀寫訪問。
- sync 表示同步寫入磁碟,保證數據的安全性。
- no_root_squash 表示允許 root 用戶訪問共用目錄。
保存修改後,使用以下命令重新載入配置:
sudo exportfs -r
3.啟動 NFS 服務端
使用以下命令啟動 NFS 服務端:
sudo systemctl start nfs-server
可以使用以下命令檢查服務是否已啟動:
sudo systemctl status nfs-server
4.B配置 NFS 客戶端
在B上,安裝 NFS 軟體包:
sudo yum install nfs-utils
然後,使用以下命令掛載共用目錄:
sudo mount server:/mnt/data /mnt/nfs
其中:
- server 是 NFS 服務端的 IP 地址或主機名。
- /mnt/data 是共用的目錄。
- /mnt/nfs 是掛載到客戶端上的目錄。
5.驗證 NFS 服務
可以在客戶端上創建、修改、刪除文件,然後在服務端上查看是否同步更新。
如果需要卸載 NFS 共用目錄,可以使用以下命令:
sudo umount /mnt/nfs
可能出現的問題
mount.nfs: No route to host
這個錯誤通常表示無法到達目標主機。請確保在執行該命令之前,您的機器可以訪問目標機器的 IP 地址,並且目標機器上的 NFS 服務正在運行。
您可以通過以下幾種方法來解決這個問題:
- 檢查網路連接
請檢查您的機器與目標機器之間的網路連接,確保它們可以互相訪問。您可以嘗試使用 ping 命令來測試網路連接,例如:
ping 192.168.2.164
如果無法 ping 通目標機器,可能需要檢查您的網路設置或防火牆配置。
2. 檢查目標機器的 NFS 服務狀態
請確保目標機器上的 NFS 服務正在運行,並且已正確配置共用目錄。您可以嘗試在目標機器上使用以下命令檢查 NFS 服務狀態
3. 檢查目標機器的防火牆設置
如果目標機器的防火牆已啟用,請確保已將 NFS 服務埠添加到防火牆規則中。NFS 預設使用 TCP 和 UDP 埠 2049。您可以嘗試使用以下命令檢查目標機器上的防火牆設置:
firewall-cmd --list-all
如果需要,請添加防火牆規則,例如:
firewall-cmd --add-service=nfs --permanent
firewall-cmd --reload