一、NFS服務介紹
NFS是 Network File system的縮寫
分為2.3.4三個版本,2和3由sun公司起草開發,4.0開始netapp公司參與并主導開發
NFS資料傳輸基于RPC協定:
應用場景:A,B,C三台機器上需要保證被通路到的檔案是一樣的,A共享資料出來,B和C分别取挂載A共享的資料目錄,進而B和C通路到的資料和A上的一緻。

NFS原理圖:(NFS服務不監聽任何端口,但是RPC服務中的子產品,rpcbind預設監聽111端口,)
二、NFS服務端和用戶端配置
[root@litongyao ~]# yum install -y nfs-utils (用戶端和服務端都要按章這個包)
接下來在服務端編輯:
[root@fuwuduan ~]# vim /etc/exports
/home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
# 第一段來定義共享目錄的絕對路徑 第二段指定ip和一些選項
# rw 讀寫
# ro 隻讀
# sync 同步模式,記憶體資料實時寫入磁盤
# async 非同步模式
# no_root_squash 用戶端挂載NFS共享目錄後,root使用者不受限制,權限很大
# root_squash 與上面選項相對,用戶端上的root使用者收到限制,被限定成某個普通使用者
# all_squash 用戶端上所有使用者在使用NFS共享目錄時都被限定為一個普通使用者
# anonuid/anongid 和上面幾個選項搭配使用,定義被限定使用者的uid和gid
儲存配合檔案以後,因為共享目錄不存在,是以做以下操作。
[root@fuwuduan ~]# mkdir /home/nfstestdir (建立共享目錄)
[root@fuwuduan ~]# chmod 777 /home/nfstestdir/ (權限設定為777)
我們可以看一下監聽的端口
[root@fuwuduan ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4451/rpcbind
rpcbind監聽的111端口。
啟動服務并設定開機啟動:
[root@fuwuduan ~]# systemctl start nfs
[root@fuwuduan ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
檢視程序
[root@fuwuduan ~]# ps ax |grep nfs
6209 ? S< 0:00 [nfsd4_callbacks]
6215 ? S 0:00 [nfsd]
6216 ? S 0:00 [nfsd]
6217 ? S 0:00 [nfsd]
6218 ? S 0:00 [nfsd]
6219 ? S 0:00 [nfsd]
6220 ? S 0:00 [nfsd]
6221 ? S 0:00 [nfsd]
6222 ? S 0:00 [nfsd]
6264 pts/1 R+ 0:00 grep --color=auto nfs
用戶端操作:
[root@kehu ~]# showmount -e 192.168.52.101 (檢視遠端共享資訊)
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
我們發現報錯,這是由于網絡不通造成,是由防火牆導緻我,是以我們把用戶端和服務端的防火牆和selinux關閉
[root@fuwuduan ~]# systemctl stop firewalld
[root@fuwuduan ~]# setenforce 0
下面就可以正常了。
[root@kehu ~]# showmount -e 192.168.52.101 (我們可以看到ip為101的機器上為我們共享的目錄)
Export list for 192.168.52.101:
/home/nfstestdir 192.168.52.100/24
挂載目錄并與遠端共享目錄同步:
[root@kehu ~]# mount -t nfs 192.168.52.101:/home/nfstestdir /mnt/ (指定格式是nfs)
檢視挂載目錄:
[root@kehu ~]# df -h
檔案系統 容量 已用 可用 已用% 挂載點
/dev/sda3 18G 4.7G 14G 27% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 13M 480M 3% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 99M 0 99M 0% /run/user/0
192.168.52.101:/home/nfstestdir 18G 3.6G 15G 20% /mnt
實驗:
在用戶端建立一個檔案,看看服務端有沒有
本文轉自 小新銳 51CTO部落格,原文連結:http://blog.51cto.com/13407306/2061707,如需轉載請自行聯系原作者