1. 程式人生 > >centos 7 安裝nfs 服務

centos 7 安裝nfs 服務

一、安裝

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/