回到頂部

centos6.x 多服務器文件夾掛載共享服務器nfs配置教程

時間:3個月前   作者:龐順龍   瀏覽:70   [站內原創,轉載請注明出處]

標簽: Linux  

1、服務端客戶端均安裝nfs
yum install rpcbind
yum install nfs-utils
 
2、創建服務端(210.34.215.24)文件夾賦權限
$ chmod 666 /usr/local/whistle/webapps/filesupload

3、修改服務端(210.34.215.24)配置
$ vim /etc/exports
/usr/local/whistle/webapps/filesupload 210.34.215.25(rw,sync,insecure,no_subtree_check,no_root_squash)

4、參數說明
這里配置后邊有很多參數,每個參數有不同的含義,具體可以參考下邊。此處,我配置了將 /data/share 文件目錄設置為允許 IP 為該 10.222.77.0/24 區間的客戶端掛載,當然,如果客戶端 IP 不在該區間也想要掛載的話,可以設置 IP 區間更大或者設置為 * 即允許所有客戶端掛載,例如:/home *(ro,sync,insecure,no_root_squash) 設置 /home 目錄允許所有客戶端只讀掛載。
ro 只讀訪問
rw 讀寫訪問
sync 所有數據在請求時寫入共享
async nfs 在寫入數據前可以響應請求
secure nfs 通過 1024 以下的安全 TCP/IP 端口發送
insecure nfs 通過 1024 以上的端口發送
wdelay 如果多個用戶要寫入 nfs 目錄,則歸組寫入(默認)
no_wdelay 如果多個用戶要寫入 nfs 目錄,則立即寫入,當使用 async 時,無需此設置
hide 在 nfs 共享目錄中不共享其子目錄
no_hide 共享 nfs 目錄的子目錄
subtree_check 如果共享 /usr/bin 之類的子目錄時,強制 nfs 檢查父目錄的權限(默認)
no_subtree_check 不檢查父目錄權限
all_squash 共享文件的 UID 和 GID 映射匿名用戶 anonymous,適合公用目錄
no_all_squash 保留共享文件的 UID 和 GID(默認)
root_squash root 用戶的所有請求映射成如 anonymous 用戶一樣的權限(默認)
no_root_squash root 用戶具有根目錄的完全管理訪問權限
anonuid=xxx 指定 nfs 服務器 /etc/passwd 文件中匿名用戶的 UID
anongid=xxx 指定 nfs 服務器 /etc/passwd 文件中匿名用戶的 GID

5、啟動服務端(210.34.215.24)nfs服務
啟動NFS服務器,為了使NFS服務器能正常工作,需要啟動rpcbind和nfs兩個服務,并且rpcbind一定要先于nfs啟動。
# service rpcbind start
# service nfs start

查詢NFS服務器狀態
# service rpcbind status
# service nfs status

停止NFS服務器,要停止NFS運行時,需要先停止nfs服務再停止rpcbind服務,對于系統中有其他服務(如NIS)需要使用時,不需要停止portmap服務
# service nfs stop
# service rpcbind stop

# 查看 NFS 服務項 rpc 服務器注冊的端口列表
$ rpcinfo -p localhost 

6、配置服務端(210.34.215.24)防火墻端口
/sbin/iptables -I INPUT -p tcp --dport 111 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 111 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 662 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 662 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 875 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 875 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 892 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 892 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 2049 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 2049 -j ACCEPT

/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
netstat -anp

# 啟動 NFS 服務后 rpc 服務已經啟用了對 NFS 的端口映射列表
# rpcinfo -p localhost

7、客戶端掛載對應的nfs目錄到本地
mount -t nfs 210.34.215.24:/usr/local/whistle/webapps/filesupload  /usr/local/whistle/webapps/filesupload

取消掛載(對應的本地路徑)
umount /usr/local/whistle/webapps/filesupload

8、服務端(210.34.215.24)測試
$ showmount -e localhost
Export list for localhost:
/usr/local/whistle/webapps/filesupload 210.34.215.25

9、客戶端(210.34.215.25)測試掛載成功情況
# showmount -e 210.34.215.24
Export list for 210.34.215.24:
/usr/local/whistle/webapps/filesupload 210.34.215.25

10、客戶端(210.34.215.25)測試掛載失敗情況
# showmount -e 210.34.215.24

出現錯誤:clnt_create: RPC: Port mapper failure - Timed out
a、nfs服務器端防火墻端口沒開
b、NFS服務器的hosts文件中的域名和NFS服務器的IP地址不對應造成的(可能原因)

針對b情況查看hosts
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
210.34.215.19 app.xmut.edu.cn
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

查看主機
# hostname
localhost.localdomain

添加hosts記錄

echo "210.34.215.24 localhost.localdomain" >>/etc/hosts

11、設置啟動自動加載, 編輯 /etc/fstab
210.34.215.24:/usr/local/whistle/webapps/filesupload  /usr/local/whistle/webapps/filesupload       nfs     ro              0 0

同時要確保 rpcbind, nfs, netfs 這3個服務是開機自啟動的
chkconfig nfs on
chkconfig rpcbind on
chkconfig netfs on
chkconfig --list

#查看啟動項
ll /etc/init.d/

龐順龍最后編輯于:3個月前

內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。

評論努力加載中...
暫無評論
暫無評論

手機掃碼閱讀

熱門相關

加載中...
關于我們   聯系我們   申請友鏈   贊助記錄   站點地圖
? 2014 - 2017 www.1255315.live All Rights Reserved. 京ICP備14042174號-1
本站遵循 CC BY 4.0 協議,轉載請注明出處 。
辽宁十一选五走实图