亞寵展、全球?qū)櫸锂a(chǎn)業(yè)風(fēng)向標(biāo)——亞洲寵物展覽會(huì)深度解析
1344
2022-05-28
=================================
/*
* @系統(tǒng):CEntOS8 | Ubuntu 20.04.4 LTS
*?@描述:NFS是當(dāng)前主流異構(gòu)平臺(tái)共享文件系統(tǒng)之一。
*/
=================================
一、介紹
網(wǎng)絡(luò)文件系統(tǒng),英文Network File System(NFS),是由SUN公司研制的UNIX表示層協(xié)議(presentation layer protocol),能使使用者訪問(wèn)網(wǎng)絡(luò)上別處的文件就像在使用自己的計(jì)算機(jī)一樣。
基于RPC(Remote Procedure Call Protocol 遠(yuǎn)程過(guò)程調(diào)用)實(shí)現(xiàn)。RPC采用C/S模式。
NFS工作原理簡(jiǎn)圖
二、安裝NFS
# yum install -y nfs-utils
三、說(shuō)明
軟件包:nfs-utils(包含服務(wù)端和客戶端的相關(guān)工具)
相關(guān)軟件包:rpcbind(必須)
kernel支持:nfs.ko
端口:2049(nfsd),其它端口由rpcbind(111)分配
進(jìn)程:自CentOS 6開(kāi)始,portmap進(jìn)程由rpcbind代替
rpc.nfsd:最主要的NFS進(jìn)程,管理客戶端是否可登錄
rpc.mountd:掛載和卸載NFS文件系統(tǒng),包括權(quán)限管理
rpc.lockd:非必要,管理文件鎖,避免同時(shí)寫(xiě)錯(cuò)
rpc.statd:非必要,檢查文件一致性,可修復(fù)文件
日志:/var/lib/nfs/
配置文件:/etc/exports #相當(dāng)于總配置文件 |? /etc/exports.d/*.exports #自定義配置文件存放位置
四、參數(shù)說(shuō)明
ro:只讀訪問(wèn) rw:讀寫(xiě)訪問(wèn) sync:同步,所有數(shù)據(jù)在請(qǐng)求時(shí)立即寫(xiě)入共享存儲(chǔ)磁盤(pán) async:異步,數(shù)據(jù)變化后不立即寫(xiě)入磁盤(pán),先寫(xiě)入緩沖區(qū),過(guò)一段時(shí)間再寫(xiě)入磁盤(pán),性能高 all_squash:共享文件的UID和GID映射用戶nobody,適合公用目錄。 no_all_squash:保留共享文件的UID和GID(默認(rèn)) root_squash:root用戶的所有請(qǐng)求映射成如nobody用戶一樣的權(quán)限(默認(rèn)) no_root_squash:root用戶具有根目錄的完全管理訪問(wèn)權(quán)限 anonuid=xxx:指定nfs服務(wù)器/etc/passwd文件中匿名用戶的UID anongid=xxx:指定nfs服務(wù)器/etc/passwd文件中匿名用戶的GID
五、實(shí)戰(zhàn)
1. 實(shí)驗(yàn)環(huán)境
機(jī)器準(zhǔn)備 服務(wù)端:CentOS 8 客戶端:Ubuntu 20.04 客戶端:Windows 10 企業(yè)版(注意系統(tǒng)版本,有些系統(tǒng)不支持NFS) # 服務(wù)端防火墻操作 # firewall-cmd --zone=public --add-service=nfs-server --permanent # firewall-cmd --zone=public --add-port=111/tcp --permanent # firewall-cmd --zone=public --add-port=2049/tcp --permanent # firewall-cmd --reload # Ubuntu客戶端防火墻操作 $ sudo ufw allow nfs-server $ sudo ufw allow 2049 $ sudo ufw allow 111
2.?實(shí)驗(yàn)步驟
① Linux系統(tǒng)安裝NFS服務(wù)端和客戶端
# yum install -y nfs-utils rpcbind # 服務(wù)端安裝,rpcbind默認(rèn)CentOS7以下版本不安裝 $ sudo apt-get install -y nfs-kernel-server # 客戶端Ubuntu
② windows10安裝NFS客戶端
在電腦桌面左下角(開(kāi)始按鈕)右鍵單擊,選擇“設(shè)置->應(yīng)用選項(xiàng)->右側(cè)“程序和功能”->啟用或關(guān)閉windows功能->NFS服務(wù)->NFS客戶端(這個(gè)是最小化安裝,而管理工具是圖形化界面),完成后立即重啟”。
③ 創(chuàng)建和共享目錄
# mkdir -p /home/share # 位置自定義 # vim /etc/exports # 編輯NFS主配置文件(格式:共享目錄 主機(jī)1[權(quán)限,權(quán)限...] 主機(jī)2[權(quán)限,權(quán)限...]) ====content==== /home/share 192.168.11.0/24(rw,all_squash) ====end==== # 注:192.168.11.0/24 :這里指的是共享給192.168.11整個(gè)網(wǎng)段 # all_squash : 將所有用戶都映射為NFS系統(tǒng)用戶(nfsnobody or nobody)
④?啟動(dòng)服務(wù)
# systemctl start nfs-server # 啟動(dòng)服務(wù) # systemctl restart nfs-server # 重啟服務(wù) # systemctl stop nfs-server # 停止服務(wù) # systemctl status nfs-server # 查看狀態(tài)
⑤ 掛載
# Linux客戶端創(chuàng)建掛載點(diǎn) $ sudo apt-get install -y nfs-kernel-server # 安裝NFS服務(wù) $ mkdir /mnt/nfsshare $ sudo mount -t nfs 192.168.11.31:/home/share /mnt/nfsshare/ # 自動(dòng)掛載 # yum install -y autofs # cd /net/192.168.11.31/home/share # df 192.168.11.31:/home/share 33321088 265344 33055744 1% /net/192.168.11.31/home/share # 設(shè)置開(kāi)機(jī)自動(dòng)掛載 # CentOS7 # vim /etc/fstab ====content==== 192.168.11.31:/home/share /mnt/nfsshare nfs _netdev 0 0 ====end==== $ sudo mount -a # 注:_netdev : 無(wú)網(wǎng)絡(luò)不掛載 # Ubuntu $ sudo vim /etc/fstab ====content==== 192.168.11.31:/home/share /mnt/nfsshare nfs _netdev 0 0 ====end==== $ sudo mount -a # windows10掛載(CMD/命令行界面) >showmount -e 192.168.11.31 導(dǎo)出列表在 192.168.11.31: /home/share 192.168.11.0/24 >mount \\192.168.11.31\home/share X: # 映射到某個(gè)具體的磁盤(pán)(盤(pán)符未使用) X: 現(xiàn)已成功連接到 \\192.168.11.31\home/share 命令已成功完成。 # 效果如下圖
⑥ 授權(quán)
# setfacl -m u:nobody:rwx /home/share #給nobody用戶賦權(quán) # 注:給nobody用戶授權(quán)時(shí),注意系統(tǒng)版本,CentOS8是nobody,其它系統(tǒng)可能是nfsnobody
⑦?重載配置文件(推薦使用)
# exportfs -r #在服務(wù)啟動(dòng)后,可以不需重啟服務(wù)來(lái)完成配置文件重載
3. 測(cè)試
# ubuntu 系統(tǒng)測(cè)試 $ cd /mnt/nfsshare/ $ touch nfstest.txt $ ls nfstest.txt # windows10 測(cè)試 略...
-本篇完-
=推薦閱讀=
=================================
Linux防火墻操作
=================================
CentOS Ubuntu 網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。