一、安裝
yum install -y nfs-utils
二、配置
vim /etc/exports
/data/nfs/ 192.168.56.0/24(rw,sync,no_root_squash,no_all_squash)
三、啓動nfs服務
先爲rpcbind和nfs做開機啓動:(必須先啓動rpcbind服務)
systemctl enable rpcbind.service
systemctl enable nfs-server.service
然後分別啓動rpcbind和nfs服務:
systemctl start rpcbind.service
systemctl start nfs-server.service
確認NFS服務器啓動成功:rpcinfo -p
檢查 NFS 服務器是否掛載我們想共享的目錄 /data/nfs/:exportfs
#使配置生效exportfs -r
可以查看到已經ok
/data/nfs/ 192.168.56.0/24
四、在從機上安裝NFS 客戶端
首先是安裝nfs,同上,然後啓動rpcbind服務yum install -y nfs-utils
先爲rpcbind做開機啓動:
systemctl enable rpcbind.service
然後啓動rpcbind服務:
systemctl start rpcbind.service
注意:客戶端不需要啓動nfs服務
檢查 NFS 服務器端是否有目錄共享:showmount -e nfs服務器的IP
showmount -e 192.168.56.44
Export list for 192.168.56.44:
/data/nfs 192.168.56.0
五 常用命令
1、exportfs
如果我們在啓動了NFS之後又修改了/etc/exports,是不是還要重新啓動nfs呢?這個時候我們就可以用exportfs 命令來使改動立刻生效,該命令格式如下:
exportfs [-aruv]
-a # 全部掛載或卸載 /etc/exports中的內容
-r #重新讀取/etc/exports 中的信息 ,並同步更新/etc/exports、/var/lib/nfs/xtab
-u #卸載單一目錄(和-a一起使用爲卸載所有/etc/exports文件中的目錄)
-v #在export的時候,將詳細的信息輸出到屏幕上。
具體例子:
exportfs -au #卸載所有共享目錄
2、nfsstat
查看NFS的運行狀態,對於調整NFS的運行有很大幫助。
3、rpcinfo
查看rpc執行信息,可以用於檢測rpc運行情況的工具
rpcinfo -p看出RPC開啓的端口所提供的程序有哪些。
4、showmount
-a 顯示已經於客戶端連接上的目錄信息
-e IP或者hostname 顯示此IP地址分享出來的目錄
最後注意兩點,雖然通過權限設置可以讓普通用戶訪問,但是掛載的時候默認情況下只有root可以去掛載,普通用戶可以執行sudo。
NFS server 關機的時候一點要確保NFS服務關閉,沒有客戶端處於連接狀態!通過showmount -a 可以查看,如果有的話用kill killall pkill 來結束,(-9 強制結束
NFS client啓動的時候,如果做了自動掛載,一定要保證NFS server先起來,否則開機會啓動不了
5、防火牆策略
firewall-cmd --permanent --add-service=nfs
systemctl restart firewalld.service
六、權限
讓 nfs client以某個用戶來掛載和訪問nfs server共享的磁盤
nfs server
chown elk.elk /data/nfs/ -R
ll /data/nfs/ -d
drwxr-xr-x 2 elk elk 21 Nov 7 18:13 /data/nfs/
#id elk
uid=1003(elk) gid=1003(elk) groups=1003(elk)
nfs 客戶端
id elk #保證uid還server的保持一致
uid=1003(elk) gid=1003(elk) groups=1003(elk)
mount -t nfs 192.168.56.44:/data/nfs /data/esbackup/