NFS

NFS介紹

NFS是Network File System的縮寫vim

NFS最先由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,最新爲4.1版本  NFS數據傳輸基於RPC協議,RPC爲Remote Procedure Call的簡寫。app

NFS應用場景是:A,B,C三臺機器上須要保證被訪問到的文件是同樣的,A共享數據出來,B和C分別去掛載A共享的數據目錄,從而B和C訪問到的數據和A上的一致dom

 


NFS服務端安裝配置

在服務端安裝 nfs-utils、rpcbind  這兩個包   yum install -y nfs-utils rpcbindasync

在客戶端安裝 nfs-utils 這一個包  yum install -y nfs-utils ui

在服務端編輯 /etc/exports 這個文件  vim /etc/exportsspa

寫入 /home/nfstestdir  192.168.130.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)內存

建立須要共享的目錄並給予合適的權限ci

查看服務端監聽端口發現rpcbind服務已啓動 若是沒有啓動用 systemctl start rpcbind 命令來啓動開發

查看客戶端監聽端口發現rpcbind服務已啓動 若是沒有啓動用 systemctl start rpcbind 命令來啓動rpc

啓動服務端nfs服務 systemctl start nfs 

服務端讓nfs服務 開機啓動 systemctl enable nfs


NFS配置選項

rw 讀寫  ro 只讀

sync 同步模式,內存數據實時寫入磁盤

async 非同步模式

no_root_squash 客戶端掛載NFS共享目錄後,root用戶不受約束,權限很大

root_squash 與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶

all_squash 客戶端上全部用戶在使用NFS共享目錄時都被限定爲一個普通用戶

anonuid/anongid 和上面幾個選項搭配使用,定義被限定用戶的uid和gid

關閉服務端和客戶端的防火牆和SELinux    systemctl stop firewalld    setenforce 0

掛載

進入到客戶端mnt目錄並建立一個新的文件

查看服務端/home/nfstestdir/目錄下也有相同的文件 

可是文件的 屬主、屬組 都不同  這是由於咱們配置/etc/exports這個文件時 anonuid=1000,anongid=1000 這兩個參數限定的 

anonuid=1000  限定用戶uid爲1000的用戶

anongid=1000  限定用戶gid爲1000的組

exportfs命令

經常使用選項

-a 所有掛載或者所有卸載

-r 從新掛載

-u 卸載某一個目錄

-v 顯示共享目錄

vim /etc/exports

增長 /tmp/ 192.168.130.116(rw,sync,no_root_squash)   服務端

exportfs -arv  卸載所有並馬上重載    服務端

showmount -e 192.168.130.116   客戶端

mount -t nfs 192.168.130.116:/tmp/  /mnt/    客戶端

客戶端文件屬主屬組nobody

NFS 4版本會有該問題

客戶端掛載共享目錄後,無論是root用戶仍是普通用戶,建立新文件時屬主、屬組爲nobody

客戶端掛載時加上 -o nfsvers=3

客戶端和服務端都須要

vim /etc/idmapd.conf //

把「#Domain = local.domain.edu」 改成 「Domain = xxx.com」 (這裏的xxx.com,隨意定義吧),而後再重啓rpcidmapd服務

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息