CentOS 下實現兩台服務器之間的共享NFS


NFS的安裝配置:
centos 5 :
yum install nfs-utils portmap
centos 6 :
yum install nfs-utils rpcbind

yum install nfs-utils rpcbind

服務器端: 
###(建立掛載的目錄,並且掛載目錄。)

編輯或新建以下文件

 vi /etc/exports

 我就寫了一個/home/jackluo/Downloads *(rw,sync);

配置參數如下

CentOS系統中,當主機名或IP地址為空時,則代表共享給任意客戶機提供服務。
當將同一目錄共享給多個客戶機,但對每個客戶機提供的權限不同時,可以這樣:
[共享的目錄] [主機名1或IP1(參數1,參數2)] [主機名2或IP2(參數3,參數4)]

下面是一些NFS共享的常用參數:

  1. ro          只讀訪問  
  2. rw          讀寫訪問  
  3. sync        所有數據在請求時寫入共享  
  4. async       NFS在寫入數據前可以相應請求  
  5. secure      NFS通過1024以下的安全TCP/IP端口發送  
  6. insecure    NFS通過1024以上的端口發送  
  7. wdelay      如果多個用戶要寫入NFS目錄,則歸組寫入(默認)  
  8. no_wdelay   如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。  
  9. hide        在NFS共享目錄中不共享其子目錄  
  10. no_hide     共享NFS目錄的子目錄  
  11. subtree_check           如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認)  
  12. no_subtree_check        和上面相對,不檢查父目錄權限  
  13. all_squash  共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。  
  14. no_all_squash           保留共享文件的UID和GID(默認)  
  15. root_squash root用戶的所有請求映射成如anonymous用戶一樣的權限(默認)  
  16. no_root_squash          root用戶具有根目錄的完全管理訪問權限  
  17. anonuid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的UID  
  18. anongid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的GID 

配置文件/etc/exports內容如下:
$ cat /etc/exports
/home/share 192.168.102.15(rw,sync) *(ro)

(啟動對應的服務)

chkconfig nfs on 開機啟用

 

/etc/init.d/rpcbind start 

 /etc/init.d/nfs start 啟動

service iptables stop 停用防火牆

也可以

vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1001 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1001 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1002 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1002 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1003 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1003 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1004 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1004 -j ACCEPT

 

/etc/init.d/iptables restart #最后重啟防火牆使配置生效
防火牆端口說明:
portmap或者rpcbind(CentOS 6.x)使用:tcp/udp 111
nfs使用:tcp/udp 2049
mountd使用: TCP/UDP 892
rquotad使用:tcp/udp 875
status使用: TCP/UDP 1001-1004共四個端口
nlockmgr使用:TCP/32803端口 UDP/32769端口

客戶端:

 

yum install nfs-utils rpcbind

service iptables stop

 

showmount -e 192.168.1.168 測試一下是否可用

mount -t nfs 192.168.1.168:/opt/centos6/  /opt/centos6/ 掛載

ls -a

ok

可能會報的錯

服務端啟動的時候 Starting NFS quotas: rpc.rquotad: Cannot bind to given address: Address already in use

客戶端 mount.nfs: access denied by server while mounting 192.168.3.12:/home/lzgonline/rootfs

比較簡單的解決辦法 

/etc/init.d/rpcbind stop 先停掉

再service nfs restart 肯定報錯

再/etc/init.d/rpcbind start 開啟

service nfs start

---------

ok

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM