nfs部署和優化


nfs——網絡文件系統

1、說明:允許一個系統在網絡上與他人共享目錄和文件

2、好處:通過nfs服務,就可以讓這個機器訪問遠程的文件,像訪問自己的文件一樣,屬於cs通信
 
3、原理說明:假設有A,B,C 三台機器,在A上搭建nfs服務,然后把A上的一個目錄(例如mnt)同時共享給B 和 C,接着B和C把A共享的目錄放在自己本地上(掛載,類似磁盤掛載)。 這樣,在用戶看來,A,B,C同時存在一個相同的目錄,有着相同的文件,。只要去改動任意一台機器且在該目錄下的文件,其他兩台機器都會相應同步變化。
  傳統不共享的做法,不但浪費磁盤空間,而且也浪費帶寬資源。
 
一、nfs部署
前期准備工作:
1、准備2台機器
(1)服務器端master:192.168.131.110
安裝兩個包:(a)nfs-utils
      (b)rpcbind(CentOS6開始叫rpcbind,之前的CentOs 叫portmap包)
簡單說說rpcbind(后面會用到 /etc/init.d/ rpcbind start)
rpc服務,主要是在nfs共享時負責通知客戶端、服務端的nfs端口號;簡單理解rpc就是一個中介服務。
 
(2)客戶端slave:192.168.131.131
僅需要安裝:   nfs-utils
 
2、master端
(1)編輯配置文件 /etc/exports,  把mnt目錄共享出去
格式:  共享目錄  允許訪問的主機(ip/IP網段)     權限選項(可讀ro, 可寫rw, sync等)
寫入:  /mnt     192.168.131.131          (rw, sync)
 
權限選項部分說明:
sync:同步模式,內存中數據時時寫入磁盤
async:不同步,內存中數據定期寫入磁盤
no_root_squash: root用戶對共享目錄擁有至高的權限控制,就像是對本機的目錄操作一樣。(不安全,不建議使用)
all_squash:不管使用NFS的用戶是誰,他的身份都會被限定成為一個指定的普通用戶身份(nfsnobody)
anonuid/anongid:要和root_squash及all_squash一同使用,用於指定使用NFS的用戶限定后的uid和gid(前提:主機的/etc/passwd 中存在這個uid和gid)
 
 
(2)啟動rpc服務: /etc/init.d/rpcbind start
(3)啟動nfs服務: /etc/init.d/nfs start
 
3、slave端
(1)查看master端共享出來的目錄
showmount -e 192.168.131.110
(ps:showmount 命令是nfs-utils這個包所帶的)
 
(2)掛載NFS,到opt下
mount -t nfs  192.168.131.110:/mnt   /opt
 
df -h 可以查看NFS共享出來的目錄mnt

 

 4、測試
(1)master查看mnt權限(755)
 

對slave端來說並不可寫(權限不夠)

所以 master 需要授權掛載的目錄mnt
 
(2)master 授權掛載目錄mnt
chmod 777 /mnt/
(3)slave 端 touch 1.txt  ——》 屬主屬組為 nfsnobody
 
 
 
 二、nfs優化
背景:slave 端創建文件時並不想顯示nfsnobody
 
1、slave端查看要映射的user  
cat  /etc/passwd
假設我們要映射屬主屬組號都為500的用戶(user111)

 

 2、master端修改配置文件 /etc/exports
/mnt     192.168.131.131          (rw, sync, all_squash,anonuid=500,anongid=500)
 
3、master端重新加載(重啟也行,但不建議)
exportfs -arv 
參數說明:
-a:全部掛載或卸載
-r:重新掛載
-v:顯示共享的目錄
 
4、slave端卸載並重新掛載
(1)umount -l /opt/    
-l:即使當前在 opt 目錄下,都能夠順利卸載,且解決“device  is busy” 的錯誤
 
(2)重新掛載(一定要加上nfsvers=3這個參數)
mount -t nfs -onolock,  nfsvers=3 192.168.131.110:/mnt  /opt
參數說明:
-t: 指定掛載類型
-o: 后跟掛載選項
nolock: 掛載 nfs 服務時,不加鎖
nfsvers=3:避免權限混亂。指定使用nfsvers 的3版本,不加默認使用nfsvers,
且會導致slave端創建文件時,屬主屬組還是nfsnobody)
 
以上優化是把root都映射為500,如果不對root映射?——看補充
 
 
三、補充
(1)master:  vim  /etc/exports
改成:   no_root_squash
exportfs -arv
 
(2)slave端
umount /opt/
mount -t nfs -onolock,nfsvers=3 192.168.131.110:/mnt /opt
cd /opt/ 創建文件,文件所屬主和組都為root
 
 
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM