2019.2.4 nfs原理和安装实验
訪問一個(gè)本地文件還是NFS共享文件對(duì)于客戶端而言都是透明的,當(dāng)文件打開的瞬間,內(nèi)核會(huì)作出一個(gè)決定,如果是本地文件內(nèi)核會(huì)將本地NFS共享文件內(nèi)核會(huì)將NFS共享文件的所有引用傳遞給——》NFS客戶端樞中
NFS客戶端是通過TCP/IP協(xié)議及模塊向NFS服務(wù)器發(fā)送RPC請(qǐng)求,NFS主要是用UDP
NFS服務(wù)器在端口2049接收客戶端請(qǐng)求
當(dāng)NFS共享了一個(gè)本地文件夾,然后NFS服務(wù)器接收到一個(gè)客戶端請(qǐng)求后,NFS會(huì)將整個(gè)請(qǐng)求發(fā)送自身系統(tǒng)的能夠訪問本地文件的進(jìn)程。
1.NFS的工作原理如下圖:
NFS參數(shù)
rw Read-write,表示可讀可寫權(quán)限
ro Read-only,表示只讀權(quán)限
sync (同步,實(shí)時(shí))請(qǐng)求或吸入數(shù)據(jù),數(shù)據(jù)同步到NFS Server的硬盤后才返回
async (異步)寫入時(shí)數(shù)據(jù)會(huì)先寫到內(nèi)存緩沖區(qū),只到硬盤有空檔才會(huì)寫入磁盤,這樣可以提升寫入速率,風(fēng)險(xiǎn)為若服務(wù)器掛掉或不正常關(guān)機(jī),會(huì)損失緩沖區(qū)中未寫入磁盤的數(shù)據(jù)
no_root_squash 訪問NFS Server共享目錄的用戶如果是root,它對(duì)該共享目錄具有root權(quán)限
root_squash 如果訪問目錄是root.則它的權(quán)限將被壓縮成匿名用戶
all_squash 不管訪問共享目錄的用戶身份如何,它的權(quán)限都將被壓縮成匿名用戶。
anonuid 指定共享文件夾里的文件所有者的uid號(hào):
anongid 指定共享文件夾里文件所有者的gid號(hào):例如(rw,squash,anonuid=12306,anongid=12306)
?
RPC服務(wù)
1.NFS服務(wù)是一個(gè)多功能的服務(wù),NFS服務(wù)啟動(dòng)后會(huì)有多個(gè)功能組件一起啟動(dòng),每個(gè)組件都有一個(gè)端口號(hào)
2.RPC主要就是搜集每個(gè)NFS功能組件對(duì)應(yīng)的端口號(hào),并且返回客戶端,讓客戶端想使用對(duì)應(yīng)功能就需要先知道對(duì)應(yīng)功能的端口
3.當(dāng)NFS啟動(dòng)后會(huì)隨機(jī)選用數(shù)個(gè)端口,并主動(dòng)向RPC注冊(cè),因此RPC可以知道每個(gè)端口對(duì)應(yīng)到了NFS黨的每個(gè)功能組件。
4.RPC自己使用111端口來監(jiān)聽客戶端請(qǐng)求,并回報(bào)客戶端想請(qǐng)求那個(gè)功能組件的端口號(hào)
注意:
1.NFS啟動(dòng)之前一定要啟動(dòng)RPC,否則NFS無法向RPC注冊(cè)
2.重啟了RPC后之前所有注冊(cè)的端口都會(huì)不見了,因此RPC啟動(dòng)后所有依賴RPC注冊(cè)端口的服務(wù)
NFS安裝和服務(wù)開啟
yum install nfs-utils
NFS服務(wù)器的啟動(dòng)和停止
#systemctl start/stop/restart redbind.service
systemccetl start/stop/restart nfs.service
NFS自動(dòng)啟動(dòng)
chkconfig --level 35 portmap on
#chkconfig --level 35 nfs on
查看NFS的狀態(tài)
自動(dòng)掛載
將/nfs_folder共享給102.168.1.0/24網(wǎng)段機(jī)器
服務(wù)器端
配置共享目錄 #mkdir /nfs_folder
? #vim /etc/exports
? # nfs_folder 192.168.1.0/24(rw,no_root_squash,no_all_suqash,sync,anonuid)
啟動(dòng)rpc和 nfs服務(wù) #systemctl start/stop/restart rpdind.service
? ? ? ? ? ? ? ? ? ? ? ? ? ? ##### ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #systemctl start/stop/restart nfs.servic?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ##### 導(dǎo)出共享目錄 #exports -r
客戶端
客戶端查看共享目錄有哪些 #showmount -e 查看共享目錄輸出
##### ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #showmount -a 顯示連接上的客戶端信息
客戶端掛載 # mkdir /mnt/nfs
查看端口狀態(tài) #rpcinfo -p
1、進(jìn)行安裝
2、查看是否已經(jīng)安裝
3、先啟動(dòng)rpc服務(wù)和nfs,并查看狀態(tài)
4、編輯導(dǎo)出共享目錄 手動(dòng)添加
5、保證客戶端和服務(wù)器端防火墻和selinux都關(guān)閉,并且網(wǎng)絡(luò)都是通的
6、創(chuàng)建掛載點(diǎn)即可進(jìn)行掛載用mount命令查看就能看到掛載的點(diǎn)
?
7、上面這種掛載方式重啟就會(huì)失效,還可以在/etc/fstab下面修改好,這樣可以開機(jī)就能自動(dòng)掛載
?
8、也可以在客戶端安裝autofs
在vi /etc/auto.master下指定路徑
指定掛載點(diǎn)
?
啟動(dòng)autofs 即可自動(dòng)掛載。
systemctl start autofs.service
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/legenidongma/p/10352390.html
總結(jié)
以上是生活随笔為你收集整理的2019.2.4 nfs原理和安装实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ4912 SDOI2017天才黑
- 下一篇: js操作indexedDB增删改查示例