NFS架構搭建及配置

第14章 NFS服務搭建與配置

14.1 NFS介紹

NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它容許網絡中的計算機之間經過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用能夠透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件同樣。NFS的數據傳輸基於RPC(remote procedure call)協議。mysql

應用場景

A,B,C三臺機器上須要被訪問到的文件是同樣的,A共享數據出來,B和C分別取掛載A共享的數據目錄,從而B和C訪問到的數據和A上的一致。sql

14.2 NFS服務端安裝配置

準備兩臺虛擬機,一臺做爲服務端,一臺做爲客戶端。vim

服務端

IP:192.168.8.130服務器

安裝NFS工具:

[root@1 ~]# yum install -y nfs-utils rpcbind

配置

[root@1 ~]# vim /etc/exports
/home/nfstestdir 192.168.8.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
#指定要進行分享的目錄;指定要共享該目錄的機器

建立分享目錄並制定權限:
[root@1 ~]# mkdir /home/nfstestdir
[root@1 ~]# chmod 777 /home/nfstestdir

啓動NFS服務

在yum安裝完成後,系統會自動啓動rpcbind服務(在服務端進程名稱爲systemd),默認監聽的端口時111端口。網絡

[root@1 ~]# systemctl start nfs

將NFS服務加入開機啓動項:  
[root@1 ~]# systemctl enable nfs

客戶端

IP:192.168.8.132app

安裝NFS工具:

[root@1 ~]# yum install -y nfs-utils

客戶端掛載

  • 檢查客戶端是否有權限訪問服務端文件:
[root@1 ~]# showmount -e 192.168.8.130
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

報錯: 沒法鏈接到服務端機器(網絡不通)!
解決辦法:async

  • 檢查服務端NFS服務是否開啓(監聽111端口)
  • 若是確認服務端NFS服務已經開啓,那麼檢查防火牆狀態,關閉服務端和客戶端firewalld和SELinux防火牆

解決完上述錯誤後再次執行命令:工具

[root@1 ~]# showmount -e 192.168.8.130
Export list for 192.168.8.130:
/home/nfstestdir 192.168.8.0/24

即,客戶端能夠正常訪問服務端機器。測試

  • 開始掛載
[root@1 ~]# mount -t nfs 192.168.8.130:/home/nfstestdir /mnt/

[root@1 ~]# df -h
文件系統                        容量  已用  可用 已用% 掛載點
192.168.8.130:/home/nfstestdir   18G  7.5G   11G   42% /mnt

測試

在客戶機掛載目錄建立文件:ui

[root@1 ~]# cd /mnt/
[root@1 mnt]# ll
總用量 0
-rw-r--r-- 1 mysql mysql 0 8月  23 19:50 test123

查看服務端共享目錄:

[root@1 ~]# ll /home/nfstestdir/
總用量 0
-rw-r--r--. 1 mysql mysql 0 8月  23 19:50 test123

即,實現了同步共享!

14.3 NFS配置選項

[root[@localhost](https://my.oschina.net/u/570656) ~]# vim /etc/exports
/home/nfstestdir 192.168.8.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
#指定要進行分享的目錄;指定要共享該目錄的機器
#rw 讀寫;ro 只讀
#sync 同步模式,內存數據實時寫入磁盤
#async 非同步模式
#no_root_squash 客戶端掛載NFS服務後,root用戶不受約束,權限很大
#root_squash 與上面選項相對,客戶端上的root用戶受到約束,被限定成某個普通用戶
#all_squash 客戶端上全部用戶在使用NFS共享目錄時都被限定爲一個普通用戶
#anonuid/anongid 和上面幾個選項搭配使用,定義被限定用戶的uid和gid
相關文章
相關標籤/搜索