NFS介紹、NFS服務端安裝、NFS配置選項

1. NFS介紹:

• NFS是Network File System的縮寫。vim

基於網絡層面,藉助於網絡實現數據同步。安全

NFS服務會常常用到,它用於在網絡上共享存儲。服務器

nfs服務不監聽端口網絡

nfs服務須要藉助於rpcbind通訊app

rpcbind 監聽端口111async

• NFS最先由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,最新爲4.1版本工具

• NFS數據傳輸基於RPC協議,RPC爲Remote Procedure Call的簡寫。測試

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

NFS結構:

NFS原理圖:

2. NFS服務端安裝

在CentOS上使用NFS服務須要安裝兩個包(nfs-utils和rpcbind),不過當使用yum工具安裝nfs-utils時會一併安裝rpcbind。spa

yum install -y nfs-utils rpcbind

以往的CentOS版本是須要安裝portmap包的,從CentOS 6開始,就改成rpcbind包了。配置NFS比較簡單,只須要編輯配置文件/etc/exports。

vim /etc/exports //加入以下內容

/home/nfstestdir 172.20.0.0/16(rw,sync,all_squash,anonuid=1000,anongid=1000)

這個配置文件就一行,共分爲三部分。第一部分是本地要共享出去的目錄。第二部分是容許訪問的主機(能夠是一個ip,也能夠是一個ip段),第三部分就是小括號裏面的一些權限選項。

保存配置文件後,執行以下準備操做

  • mkdir /home/nfstestdir
  • chmod 777 /home/nfstestdir
  • systemctl start rpcbind
  • systemctl start nfs
  • systemctl enable rpcbind //rpcbind開機自動啓動
  • systemctl enable nfs //nfs開機自動啓動

查看服務是否啓動:

netstat -lntp //查看是否監聽111端口

ps aux |grep nfs //查看nfs進程是否起來

ps aux |grep rpc //查看rpc相關服務是否起來

 

3. NFS配置選項:

[root@192-168-89-51 ~]# cat /etc/exports

/home/nfstestdir 172.20.0.0/16(rw,sync,all_squash,anonuid=1000,anongid=1000)

  • rw 讀/寫
  • ro 只讀
  • sync 同步模式,內存數據實時寫入磁盤
  • async 非同步模式,內存中的數據按期寫入磁盤。
  • no_root_squash 客戶端掛載NFS共享目錄後,root用戶對共享的目錄有至高的權限控制,就像是對本機的目錄操做同樣。但這樣安全性下降。
  • root_squash 與no_root_squash選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶
  • all_squash 客戶端上全部用戶在使用NFS共享目錄時都被限定爲一個普通用戶
  • anonuid/anongid 和root_squash以及all_squash選項搭配使用,定義被限定用戶的uid和gid,前提是本機的/etc/passwd中存在相應的uid和gid。

客戶端掛載:

  • yum install -y nfs-utils //安裝nfs服務
  • systemctl start rpcbind //啓動rpcbind服務
  • showmount -e 192.168.89.51 //該ip爲NFS服務端ip
  • mount -t nfs 192.168.89.51:/home/nfstestdir /mnt //把nfs服務器共享的目錄掛載在客戶端/mnt目錄
  • df -h //查看分區信息
  • touch /mnt/test.txt //建立一個測試文件,在服務器上查看是否同步。
  • ls -l /mnt/test.txt //能夠看到文件的屬主和屬組都爲1000

相關文章
相關標籤/搜索