NFS是NetworkFileSystem的縮寫,即網(wǎng)絡(luò)文件系統(tǒng)。一種使用于分散式文件系統(tǒng)的協(xié)定,由Sun公司開發(fā),于1984年向外公布。功能是通過網(wǎng)絡(luò)讓不同的機(jī)器、不同的操作系統(tǒng)能夠彼此分享個(gè)別的數(shù)據(jù),讓應(yīng)用程序在客戶端通過網(wǎng)絡(luò)訪問位于服務(wù)器磁盤中的數(shù)據(jù),是在類Unix系統(tǒng)間實(shí)現(xiàn)磁盤文件共享的一種方法。
NFS的基本原則是“容許不同的客戶端及服務(wù)端通過一組RPC分享相同的文件系統(tǒng)”,它是獨(dú)立于操作系統(tǒng),容許不同硬件及操作系統(tǒng)的系統(tǒng)共同進(jìn)行文件的分享。
NFS在文件傳送或信息傳送過程中依賴于RPC協(xié)議。RPC,遠(yuǎn)程過程調(diào)用(RemoteProcedure Call)是能使客戶端執(zhí)行其他系統(tǒng)中程序的一種機(jī)制。NFS本身是沒有提供信息傳輸?shù)膮f(xié)議和功能的,但NFS卻能讓我們通過網(wǎng)絡(luò)進(jìn)行資料的分享,這是因?yàn)?/span>NFS使用了一些其它的傳輸協(xié)議。而這些傳輸協(xié)議用到這個(gè)RPC功能的??梢哉fNFS本身就是使用RPC的一個(gè)程序?;蛘哒fNFS也是一個(gè)RPCSERVER。所以只要用到NFS的地方都要啟動RPC服務(wù),不論是NFSSERVER或者NFSCLIENT。這樣SERVER和CLIENT才能通過RPC來實(shí)現(xiàn)PROGRAMPORT的對應(yīng)。可以這么理解RPC和NFS的關(guān)系:NFS是一個(gè)文件系統(tǒng),而RPC是負(fù)責(zé)負(fù)責(zé)信息的傳輸。
yum install nfs-utils rpcbind
NFS常用目錄
/etc/exports NFS服務(wù)的主要配置文件
/usr/sbin/exportfs NFS服務(wù)的管理命令
/usr/sbin/showmount 客戶端的查看命令
/var/lib/nfs/etab 記錄NFS分享出來的目錄的完整權(quán)限設(shè)定值
/var/lib/nfs/xtab 記錄曾經(jīng)登陸過的客戶端信息
主配置文件/etc/exports內(nèi)容格式
<輸出目錄>[客戶端1選項(xiàng)(訪問權(quán)限,用戶映射,其他)][客戶端2選項(xiàng)(訪問權(quán)限,用戶映射,其他)]
輸出目錄:指NFS系統(tǒng)中需要共享給客戶端使用的目錄
客戶端:網(wǎng)絡(luò)中可以訪問這個(gè)NFS輸出目錄的計(jì)算機(jī)
客戶端常用的指定方式:
指定ip地址的主機(jī):10.10.10.251
指定子網(wǎng)中的所有主機(jī):10.10.10.0/24 10.10.10.0/255.255.255.0
指定域名的主機(jī):node1.hbecoop.com
指定域中的所有主機(jī):*.hbecoop.com
所有主機(jī):*
NFS主要的3類選項(xiàng):
NFS選項(xiàng) | 功能描述 |
訪問權(quán)限 | |
ro | 只讀共享 |
rw | 可讀可寫共享 |
用戶映射 | |
root_squash | 屏蔽遠(yuǎn)程root權(quán)限(默認(rèn)) |
no_root_squash | 不屏蔽遠(yuǎn)程root權(quán)限 |
all_squash | 屏蔽所有的遠(yuǎn)程用戶權(quán)限 |
no_all_squash | 不屏蔽所有的遠(yuǎn)程用戶權(quán)限(默認(rèn)) |
anonuid=xxx | 將遠(yuǎn)程訪問的所有用戶都映射為匿名用戶,并指定該用戶為本地用戶(UID=xxx); |
anongid=xxx | 將遠(yuǎn)程訪問的所有用戶組都映射為匿名用戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx) |
其他選項(xiàng) | |
secure | 限制客戶端只能從小魚1024的tcp/ip端口連接nfs服務(wù)器(默認(rèn)) |
insecure | 允許客戶端從大于1024的tcp/ip端口連接nfs服務(wù)器 |
sync | 同步寫操作 |
async | 異步寫操作 |
wdelay | 延遲寫操作 |
no_wdelay | 若有寫操作則立即執(zhí)行,應(yīng)與sync配合使用 |
subtree | 若輸出目錄是一個(gè)子目錄,則nfs服務(wù)器將檢查其父目錄的權(quán)限(默認(rèn)設(shè)置) |
no_subtree | 即使輸出目錄是一個(gè)子目錄,nfs服務(wù)器也不檢查其父目錄的權(quán)限,這樣可以提高效率 |
Eg:#vi /etc/exports
/var/web/ 192.168.0.240(rw,async)
NFS服務(wù)的啟動與停止
A)啟動NFS服務(wù)器。為了使NFS服務(wù)器能正常工作,需要啟動rpcbind和nfs兩個(gè)服務(wù),并且rpcbind一定要先于nfs啟動。
#service rpcbind start/status/stop
#service nfs start/status/stop
B)停止NFS服務(wù)器。要停止NFS運(yùn)行時(shí),需要先停止nfs服務(wù)再停止rpcbind服務(wù),對于系統(tǒng)中有其他服務(wù)(如NIS)需要使用時(shí),不需要停止rpcbind服務(wù)
NFS端口
NFS端口號:2049
Rpcbind端口號:111
相關(guān)命令
exportfs:啟動了NFS之后又修改了/etc/exports,不用重啟服務(wù)
-a 全部掛載或卸載/etc/exports中的內(nèi)容
-r 重新讀取/etc/exports中的信息,并同步更新/etc/exports,/var/lib/nfs/xtab
-u 卸載單一目錄(和-a一起使用為卸載所有/etc/exports文件中的目錄)
-v 在export的時(shí)候,將詳細(xì)信息輸出到屏幕上
nfsstat:查看NFS運(yùn)行狀態(tài)
rpcinfo:查看rpc執(zhí)行信息,可以用于檢測rpc運(yùn)行情況的工具,利用rpcinfo-p 可以查看出RPC開啟的端口所提供的程序有哪些
showmount:
-a顯示已經(jīng)于客戶端連接上的目錄信息
-eIP或者hostname顯示此IP地址分享出來的目錄
最后注意事項(xiàng)
可以查看出nfs服務(wù)開啟的端口,其中nfs開啟的是2049,portmap開啟的是111,其余則是rpc開啟的。
最后注意兩點(diǎn),雖然通過權(quán)限設(shè)置可以讓普通用戶訪問,但是掛載的時(shí)候默認(rèn)情況下只有root可以去掛載,普通用戶可以執(zhí)行sudo。
NFSserver 關(guān)機(jī)的時(shí)候一點(diǎn)要確保NFS服務(wù)關(guān)閉,沒有客戶端處于連接狀態(tài)!通過showmount-a 可以查看,如果有的話用killkillall pkill 來結(jié)束,(-9強(qiáng)制結(jié)束)
安裝
查看NFS的共享狀態(tài)
#showmount-e 10.10.10.250
掛載NFS服務(wù)器的共享目錄
#mountNFS服務(wù)器IP:共享目錄本地掛載點(diǎn)目錄
#mount10.10.10.250:/home/zmj/home/zmj/test(將NFS服務(wù)的/home/zmj目錄掛載到本地的/home/zmj/test目錄上)
開機(jī)自動掛載NFS文件系統(tǒng)
格式:
#vi/etc/fstab
10.10.10.250:/home/zmj /home/zmj/test nfs defaults 00
卸載一掛載的NFS共享目錄
#umount/home/zmj/test
刪除/etc/fstab中添加的nfs文件系統(tǒng)配置
強(qiáng)制卸載無法訪問的nfs文件系統(tǒng)
#umount-f /home/zmj/test
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129951.html
摘要:三私有代碼庫阿里云使用引言使用肯定離不開和代碼的集成。本著代碼可靠性,服務(wù)器穩(wěn)定性,功能擴(kuò)展性綜合對比,我們選擇使用阿里云的庫。 來自用戶的DevOps實(shí)踐分享,分享從開發(fā)代碼到生產(chǎn)環(huán)境部署的一條龍操作的實(shí)踐及經(jīng)驗(yàn), 包含工具技術(shù)的選型及考量、私有代碼庫與私有鏡像庫的應(yīng)用等。 (一)容器服務(wù)的Rancher選型 1、為什么說是下一代核心技術(shù) 從互聯(lián)網(wǎng)的多次變革說起,早期的C/S架構(gòu),到...
摘要:在共享目錄中不共享其子目錄共享目錄的子目錄如果共享之類的子目錄時(shí),強(qiáng)制檢查父目錄的權(quán)限默認(rèn)和上面相對,不檢查父目錄權(quán)限共享文件的和映射匿名用戶,適合公用目錄。 簡介nfs nfs網(wǎng)絡(luò)文件系統(tǒng)常用于共享音視頻,圖片等靜態(tài)資源。將需要共享的資源放到NFS里的共享目錄,通過服務(wù)器掛載實(shí)現(xiàn)訪問。 服務(wù)端安裝: yum install -y nfs-utils rpcbind 或者 yum in...
摘要:警告因?yàn)槭堑囊粋€(gè)較新的服務(wù),它只能在有限的幾個(gè)位置上使用?,F(xiàn)在你可以開始從視圖中手動創(chuàng)建一個(gè)卷,或干脆創(chuàng)建一個(gè)使用和卷名的服務(wù)。我非常期待看到和中的共享卷會有什么下一步的發(fā)展。 如果你用過Docker你就會知道,共享卷和跨主機(jī)的數(shù)據(jù)訪問是個(gè)非常棘手的問題。雖然Docker的生態(tài)系統(tǒng)在逐漸走向成熟,但對大多數(shù)人來說,在不同環(huán)境中實(shí)現(xiàn)持久化存儲還是很麻煩的。幸運(yùn)的是,Rancher一直在研...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20