ubuntu 22.04安裝NFS的問題小結(jié)
一、概述
1. 定義
NFS(Network File System)是一種分布式文件系統(tǒng)協(xié)議,最初由 Sun Microsystems 開發(fā),并于1984年發(fā)布。它允許不同主機(jī)通過網(wǎng)絡(luò)共享文件和目錄,就像這些文件和目錄是本地存儲的一部分。
2. 工作原理
客戶端-服務(wù)器架構(gòu):NFS 的核心工作原理是其客戶端-服務(wù)器架構(gòu)。NFS 服務(wù)器提供文件系統(tǒng)資源,客戶端通過網(wǎng)絡(luò)請求訪問這些資源。
遠(yuǎn)程過程調(diào)用(RPC):NFS 依賴于 RPC 機(jī)制來實(shí)現(xiàn)客戶端與服務(wù)器之間的通信。RPC 允許客戶端直接調(diào)用服務(wù)器上的服務(wù)或函數(shù),為文件操作定義標(biāo)準(zhǔn)接口。
端口管理:NFS 在操作期間使用多個(gè)端口,其中端口 111 作為 RPC Portmapper 服務(wù)端口,端口 2049 作為文件系統(tǒng)的標(biāo)準(zhǔn) NFS 服務(wù)端口。
3. 架構(gòu)
NFS 服務(wù)器:負(fù)責(zé)管理遠(yuǎn)程文件系統(tǒng)并將其共享給網(wǎng)絡(luò)中的客戶端。
客戶端:通過掛載遠(yuǎn)程文件系統(tǒng),使得用戶可以像訪問本地文件一樣訪問遠(yuǎn)程文件。
傳輸協(xié)議:NFS 使用 TCP/IP 協(xié)議進(jìn)行通信,并基于 RPC 協(xié)議來傳輸數(shù)據(jù)和控制信息。
4. 版本演進(jìn)
NFSv4.2:當(dāng)前最廣泛使用的版本,結(jié)合了現(xiàn)代網(wǎng)絡(luò)存儲技術(shù)的優(yōu)勢,適用于各種應(yīng)用場景,包括虛擬化和云存儲。
5. 應(yīng)用場景
企業(yè)級文件共享:在企業(yè)環(huán)境中,NFS 用于不同工作站和服務(wù)器之間共享文件和目錄,方便團(tuán)隊(duì)協(xié)作。
虛擬化環(huán)境:在虛擬化平臺中,NFS 可作為存儲后端,提供虛擬機(jī)磁盤映像的存儲和共享。
高性能計(jì)算(HPC):在高性能計(jì)算集群中,NFS 被用作節(jié)點(diǎn)之間的共享文件系統(tǒng),允許計(jì)算節(jié)點(diǎn)訪問共享數(shù)據(jù)集和中間結(jié)果。
數(shù)據(jù)備份和恢復(fù):NFS 可用于集中存儲備份數(shù)據(jù),簡化數(shù)據(jù)備份和恢復(fù)流程。
多平臺數(shù)據(jù)訪問:NFS 支持多種操作系統(tǒng),包括 Unix、Linux 和 Windows,使得不同平臺之間的文件共享變得容易。
媒體和內(nèi)容制作:在視頻編輯和媒體制作領(lǐng)域,NFS 可以用來共享大容量的媒體文件,多個(gè)編輯人員可以同時(shí)訪問和編輯同一素材。
數(shù)據(jù)庫文件存儲:一些數(shù)據(jù)庫系統(tǒng)支持將數(shù)據(jù)庫文件存儲在 NFS 共享中,便于跨多個(gè)數(shù)據(jù)庫實(shí)例和應(yīng)用程序共享數(shù)據(jù)。
6. 優(yōu)勢
簡單易用:NFS 提供了透明的文件訪問方式,用戶可以像訪問本地文件一樣訪問遠(yuǎn)程文件。
跨平臺支持:支持多種操作系統(tǒng),包括 Unix、Linux 和 Windows。
高效的數(shù)據(jù)共享:可以在多個(gè)客戶端之間高效地共享文件,支持大量用戶同時(shí)訪問相同數(shù)據(jù)。
集中管理:通過 NFS,文件可以集中存儲在服務(wù)器上,簡化了備份和管理。
靈活的權(quán)限管理:支持 UNIX 文件權(quán)限模型,允許細(xì)粒度的訪問控制。
良好的擴(kuò)展性:可以輕松擴(kuò)展,以適應(yīng)更多的用戶和更大的數(shù)據(jù)集。
7. 缺點(diǎn)
安全性問題:早期版本的 NFS 在安全性方面存在一些問題,但后續(xù)版本通過引入身份驗(yàn)證和加密機(jī)制有所改善。
性能依賴于網(wǎng)絡(luò):NFS 的性能很大程度上依賴于網(wǎng)絡(luò)的帶寬和延遲。
配置復(fù)雜性:在某些情況下,配置 NFS 可能會比較復(fù)雜,尤其是在涉及多個(gè)客戶端和復(fù)雜權(quán)限管理時(shí)。
文件鎖定問題:在多客戶端同時(shí)訪問同一文件時(shí),可能會出現(xiàn)文件鎖定問題,需要通過鎖管理服務(wù)來解決。
NFS 是一種強(qiáng)大的分布式文件系統(tǒng)協(xié)議,廣泛應(yīng)用于各種場景,從企業(yè)級文件共享到高性能計(jì)算和虛擬化環(huán)境。其靈活性和高效性使其成為現(xiàn)代計(jì)算環(huán)境中的重要工具。
二、安裝
1.安裝 NFS 服務(wù)端
在需要共享文件的服務(wù)器上安裝 NFS 服務(wù)端:
更新列表
sudo apt update
安裝nfs
sudo apt install -y nfs-kernel-server
2. 創(chuàng)建共享目錄
創(chuàng)建一個(gè)目錄作為 NFS 共享目錄(例如/data /nfs_share):
sudo mkdir -p /data/nfs_share
設(shè)置共享目錄的權(quán)限(確保其他用戶可以訪問):
sudo chmod 777 /data/nfs_share
3. 配置 NFS 共享
編輯 NFS 配置文件 /etc/exports,添加共享目錄的配置:
sudo vi /etc/exports
在文件中添加以下內(nèi)容(根據(jù)需要修改):
/data/nfs_share *(rw,sync,no_all_squash,no_root_squash,no_subtree_check)
參數(shù)解釋:
/data/nfs_share:共享的目錄路徑。
*:允許訪問的客戶端 IP 范圍,*表示所有ip(可以根據(jù)實(shí)際情況修改,例如:192.168.1.0/24)。
rw:允許讀寫權(quán)限。
sync:同步寫入磁盤。
no_all_squash,不將所有用戶映射為匿名用戶
no_root_squash,允許客戶端的 root 用戶以 root 身份訪問
no_subtree_check:減少子樹檢查,提高性能。
注意:K8S掛載NFS,請確保no_all_squash,no_root_squash這2個(gè)參數(shù)必須存在?。?!
否則會出現(xiàn)文件無法寫入的情況
4. 導(dǎo)出共享目錄
運(yùn)行以下命令使配置生效:
sudo exportfs -a
5. 啟動(dòng) NFS 服務(wù)
啟動(dòng) NFS 服務(wù)并設(shè)置開機(jī)自啟:
sudo systemctl start nfs-kernel-server sudo systemctl enable nfs-kernel-server
6. 安裝 NFS 客戶端
在需要掛載共享目錄的客戶端上安裝 NFS 客戶端:
sudo apt update sudo apt install -y nfs-common
7. 掛載共享目錄(客戶端)
在客戶端上掛載 NFS 服務(wù)端的共享目錄:
sudo mkdir -p /mnt/nfs_share sudo mount -t nfs 10.0.2.15:/data/nfs_share /mnt/nfs_share
參數(shù)解釋:
10.0.2.15:NFS 服務(wù)端的 IP 地址。
/data/nfs_share:服務(wù)端的共享目錄。
/mnt/nfs_share:客戶端的掛載點(diǎn)。
驗(yàn)證掛載是否成功:
# df -hT|grep nfs 10.0.2.15:/data/nfs_share nfs4 49G 14G 34G 29% /mnt/nfs_share
有一條掛載信息,就說明掛載成功了
查看文件
ls /mnt/nfs_share
8.配置自動(dòng)掛載(可選)
如果希望在客戶端開機(jī)時(shí)自動(dòng)掛載 NFS 共享目錄,可以編輯 /etc/fstab 文件:
sudo vi /etc/fstab
添加以下內(nèi)容:
10.0.2.15:/data/nfs_share /mnt/nfs_share nfs defaults 0 0
保存并退出編輯器。
9. 防火墻配置(可選)
如果服務(wù)端或客戶端啟用了防火墻,需要允許 NFS 服務(wù)通過:
sudo ufw allow nfs
或者手動(dòng)允許 NFS 使用的端口(默認(rèn)是 2049):
sudo ufw allow 2049
10. 測試和驗(yàn)證
在服務(wù)端創(chuàng)建一個(gè)測試文件:
echo "Hello from NFS server" | sudo tee /data/nfs_share/test.txt
在客戶端檢查是否可以訪問該文件:
cat /mnt/nfs_share/test.txt
如果顯示 Hello from NFS server,說明 NFS 配置成功。
常見問題
1.權(quán)限問題:確保共享目錄的權(quán)限設(shè)置正確(如777)。
2.防火墻問題:檢查防火墻是否阻止了 NFS 的端口(2049)。
3.掛載失?。?/p>
檢查服務(wù)端的/etc/exports 配置是否正確,并運(yùn)行sudo exportfs -ra 重新導(dǎo)出。
4.網(wǎng)絡(luò)問題:
確??蛻舳撕头?wù)端的網(wǎng)絡(luò)連接正常。
通過以上步驟,你就可以在 Ubuntu 上成功安裝和配置 NFS 了!
到此這篇關(guān)于ubuntu 22.04安裝NFS的文章就介紹到這了,更多相關(guān)ubuntu 安裝NFS內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
github版本庫使用詳細(xì)圖文教程(命令行及圖形界面版)
今天我們就來學(xué)習(xí)github的使用,我們將用它來管理我們的代碼,你會發(fā)現(xiàn)它的好處的,當(dāng)然是要在本系列教程全部完成之后,所以請緊跟站長的步伐,今天是第一天,我們來學(xué)習(xí)如何在git上建立自己的版本倉庫,并將代碼上傳到倉庫中2015-08-08MyBatisCodeHelper-Pro插件破解版詳細(xì)教程[2.8.2]
MyBatisCodeHelper-Pro是IDEA下的一個(gè)插件,功能類似mybatis plugin。這篇文章給大家介紹MyBatisCodeHelper-Pro插件破解版[2.8.2]的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2020-09-09win10 + anaconda3 + python3.6 安裝tensorflow + keras的步驟詳解
這篇文章主要介紹了win10 + anaconda3 + python3.6 安裝tensorflow + keras的步驟,需要的朋友可以參考下2019-09-09Vscode常用快捷鍵列表、插件安裝、console.log詳解
對于開發(fā)者來說,在開發(fā)過程必須要掌握Vscode常用快捷鍵列表、插件安裝、console.log的相關(guān)知識,今天通過本文實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-05-05chatGPT?deBug解決管理員登入服務(wù)器返回401問題
這篇文章主要介紹了chatGPT?deBug解決管理員登入,服務(wù)器返回401,沒有拿到數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Jebrains付費(fèi)插件Activation code[持續(xù)更新]
這篇文章主要介紹了Jebrains付費(fèi)插件Activation code[持續(xù)更新],使用本Activation code需要jetbrains-agent支持!感興趣的朋友跟隨小編一起看看吧2020-09-09