CentOS 7.4
ip:172.16.0.1
共享/tmp目錄
共享/data目錄給172.16.0.2
安裝nfs
# yum install rpcbind
# yum install nfs-utils
# service rpcbind start
# service nfs start
設定rpcbind和nfs服務開機啟動
# chkconfig nfs on
# chkconfig rpcbind on
也可以設定rpcbind和nfs服務只在系統執行級別3和5自動啟動。
# chkconfig --level 35 rpcbind on
# chkconfig --level 35 nfs on
配置共享資料夾
在/etc/exports新增:
/data 172.16.0.2(rw) #對指定ip共享共享/data目錄
也可以用共享給所有IP
/data *(rw,sync,no_root_squash) #共享/data目錄
|引數|作用|
|--|--|
|ro|只讀模式|
|rw|讀寫模式|
|root_squash|當NFS客戶端使用root使用者訪問時,對映為NFS服務端的匿名使用者|
|no_root_squash|當NFS客戶端使用root使用者訪問時,對映為NFS服務端的root使用者|
|sync|同時講資料寫入到記憶體與硬碟中,保證不丟失資料|
|async|優先將資料儲存到記憶體,然後再寫入硬碟,效率更高,但可能造成資料丟失|
修改後不用重啟nfs,執行以下命令生效:
# exportfs -a
新增讀寫許可權
chmod -R 666 /data
防火牆中開放埠
RedHat在7中更改了系統軟體,不再使用iptables作為系統的防火牆,而是使用了FirewallD,但是為了相容過去的命令也可以使用iptables來設定防護規則。
需要開放rpc(111埠),nfs(2049埠),nfs掛載埠(892埠),其中111和892是tcp,udp都用。
# iptables -I INPUT -p tcp -m multiport --dports 111,892,2049 -j ACCEPT
# iptables -I INPUT -p udp -m multiport --dports 111,892 -j ACCEPT
上述配置系統重啟後失效,要永久有效,需要修改/etc/sysconfig/iptables-config配置檔案,詳細請baidu
使用firewall,使用permanent引數,系統重啟後依然有效
# firewall-cmd --zone=public --add-port=111/tcp --permanent
# firewall-cmd --zone=public --add-port=111/udp --permanent
# firewall-cmd --zone=public --add-port=892/tcp --permanent
# firewall-cmd --zone=public --add-port=892/ucp --permanent
# firewall-cmd --zone=public --add-port=2049/tcp --permanent
# systemctl restart firewalld.service //重啟防火牆
# firewall-cmd --zone=dmz --list-ports //檢視開放的埠
重啟nfs
# service rpcbind restart
# service nfs restart
# showmount -e //檢視自己共享的目錄
客戶端
ip:172.16.0.2
掛載172.16.0.1:/data到本地/data目錄
# mount -t nfs 172.16.0.1:/data /data
開機自動掛載
在/etc/fstab中新增
172.16.0.1:/data /data nfs defaults 0 0
如果還是出現其他許可權問題,比如Permission denied等,可以修改資料夾的所有者為nfsnobody
chown nfsnobody.nfsnobody -R /data
CentOS 7.4
ip:172.16.0.1
共享/tmp目錄
共享/data目錄給172.16.0.2
安裝nfs
# yum install rpcbind
# yum install nfs-utils
# service rpcbind start
# service nfs start
設定rpcbind和nfs服務開機啟動
# chkconfig nfs on
# chkconfig rpcbind on
也可以設定rpcbind和nfs服務只在系統執行級別3和5自動啟動。
# chkconfig --level 35 rpcbind on
# chkconfig --level 35 nfs on
配置共享資料夾
在/etc/exports新增:
/data 172.16.0.2(rw) #對指定ip共享共享/data目錄
也可以用共享給所有IP
/data *(rw,sync,no_root_squash) #共享/data目錄
|引數|作用|
|--|--|
|ro|只讀模式|
|rw|讀寫模式|
|root_squash|當NFS客戶端使用root使用者訪問時,對映為NFS服務端的匿名使用者|
|no_root_squash|當NFS客戶端使用root使用者訪問時,對映為NFS服務端的root使用者|
|sync|同時講資料寫入到記憶體與硬碟中,保證不丟失資料|
|async|優先將資料儲存到記憶體,然後再寫入硬碟,效率更高,但可能造成資料丟失|
修改後不用重啟nfs,執行以下命令生效:
# exportfs -a
新增讀寫許可權
chmod -R 666 /data
防火牆中開放埠
RedHat在7中更改了系統軟體,不再使用iptables作為系統的防火牆,而是使用了FirewallD,但是為了相容過去的命令也可以使用iptables來設定防護規則。
需要開放rpc(111埠),nfs(2049埠),nfs掛載埠(892埠),其中111和892是tcp,udp都用。
# iptables -I INPUT -p tcp -m multiport --dports 111,892,2049 -j ACCEPT
# iptables -I INPUT -p udp -m multiport --dports 111,892 -j ACCEPT
上述配置系統重啟後失效,要永久有效,需要修改/etc/sysconfig/iptables-config配置檔案,詳細請baidu
使用firewall,使用permanent引數,系統重啟後依然有效
# firewall-cmd --zone=public --add-port=111/tcp --permanent
# firewall-cmd --zone=public --add-port=111/udp --permanent
# firewall-cmd --zone=public --add-port=892/tcp --permanent
# firewall-cmd --zone=public --add-port=892/ucp --permanent
# firewall-cmd --zone=public --add-port=2049/tcp --permanent
# systemctl restart firewalld.service //重啟防火牆
# firewall-cmd --zone=dmz --list-ports //檢視開放的埠
重啟nfs
# service rpcbind restart
# service nfs restart
# showmount -e //檢視自己共享的目錄
客戶端
CentOS 7.4
ip:172.16.0.2
掛載172.16.0.1:/data到本地/data目錄
# mount -t nfs 172.16.0.1:/data /data
開機自動掛載
在/etc/fstab中新增
172.16.0.1:/data /data nfs defaults 0 0
新增讀寫許可權
chmod -R 666 /data
如果還是出現其他許可權問題,比如Permission denied等,可以修改資料夾的所有者為nfsnobody
chown nfsnobody.nfsnobody -R /data