多節(jié)點Tomcat利用NFS實現(xiàn)共享目錄

個人博客地址

第一步:安裝NFS
1、準備(客戶端和服務端)
[root@web1 ~]# cat /etc/redhat-release  # 查看系統(tǒng)版本
CentOS release 6.7 (Final)
[root@web1 ~]# uname -r #查看系統(tǒng)內(nèi)核版本
2.6.32-573.el6.x86_64
[root@web1 ~]# uname -m #查看系統(tǒng)是否64位
x86_64
2、檢測軟件是否安裝
[root@web1 ~]# rpm -qa nfs-utils rpcbind    #檢查安裝的軟件包
rpcbind-0.2.0-13.el6_9.1.x86_64
nfs-utils-1.2.3-75.el6_9.x86_64

若沒有安裝執(zhí)行以下命令進行安裝:

[root@web1 ~]# yum install -y nfs-utils rpcbind #
第二步:配置NFS服務端
1、設(shè)置共享目錄
[root@web1 ~]# vi /etc/exports
/home/tomcat/tomcat7/webapps/aml 172.16.69.121(rw,sync)
#為172.16.69.121讀寫操作source目錄權(quán)限

2、參數(shù)

rw 可讀可寫
ro 只讀
sync 數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中,雖然這樣做效率較低,但可以保證數(shù)據(jù)的一致性(適合于小文件傳輸
async 數(shù)據(jù)先暫時放于內(nèi)存,而非直接寫入硬盤,等到必要時才寫入磁盤(適合于大文件傳輸)
no_root_squash 使用nfs時,如果用戶是root,不進行權(quán)限壓縮,即root用戶在nfs上創(chuàng)建的文件 屬組和屬主仍然是root(不安全,不建議使用)
root_squash 使用nfs時,如果用戶是root,則進行權(quán)限壓縮,即把root用戶在nfs上創(chuàng)建的文件 屬組和屬主修改為nfsnobody
all_squash 所有的普通用戶使用nfs都將使用權(quán)限壓縮,即:將遠程訪問的所有普通用戶及所屬用戶組都映射為匿名用戶或者用戶組(一般均為nfsnobody)
no_all_squash 所有的普通用戶使用nfs都不使用權(quán)限壓縮,即:不將遠程訪問的所有普通用戶及所屬用戶組都映射為匿名用戶或者用戶組(默認設(shè)置)
anonuid=XXX anon即anonymous(匿名者),前面關(guān)于*_squash提到的匿名用戶的uid的設(shè)置值,通常為nobody或者nfsnobody,使用這個參數(shù)可以自行設(shè)定這個uid值,這個uid必須存在 于/etc/passwd
anongid=XXX 將遠程訪問的所有用戶組都映身為匿名用戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=XXX)
insecure 允許客戶端從大于1024的TCP/IP端口連NFS服務器
secure 限制客戶端只能從小于1024的TCP/IP端口連接NFS服務器(默認設(shè)置)
wdelay 檢查是否有相關(guān)的寫操作,如果有則將這些寫操作一起執(zhí)行,這樣可提高效率(默認設(shè)置)
no_wdelay 若有寫操作則立即執(zhí)行(應與sync配置)
subtree_check 若輸出目錄是一個子目錄,則NFSW:務器將檢查其父目錄的權(quán)限(默認設(shè)置)
no_subtree_check 即使輸出目錄是一個子目錄,NFS服務器也不檢查其父目錄的權(quán)限,這樣做可提高效率
第三步:啟動NFS

NFS啟動之前需要先啟動rpcbind。

#啟動rpcbind
[root@web1 ~]# service rpcbind start
#啟動nfs
[root@web1 ~]# service nfs start
#設(shè)置開機啟動
[root@web1 ~]# chkconfig rpcbind on
[root@web1 ~]# chkconfig nfs on
[root@web1~]# lsof -i :111  #查詢rpcbind監(jiān)聽狀態(tài) (111是rpcbind的主端口)
[root@web1~]# netstat -lntup |grep rpcbind #查詢rpcbind服務啟動狀態(tài) (同lsof查詢端口效果一樣)
root@web1~]# rpcinfo -p localhost #查看NFS服務項rpc服務器注冊的端口信息
image.png

上圖是未啟動NFS服務的rpcbind的狀態(tài)

第三步:配置客戶端

1、安裝nfs、rpcbind

[root@web2 ~] # yum install -y nfs-utils rpcbind #

2、掛載

[root@web2 ~] # mount -t nfs  172.16.69.120:/home/tomcat/tomcat7/webapps/aml /home/tomcat/tomcat7/webapps/aml
#查看是否已經(jīng)掛載
[root@web2 ~] # df -h
[root@web2 ~] # mount
[root@web2 ~] # cat /proc/mounts
第四步:配置Tomcat
server.xml中在</Host>前添加:
    <Context path="/home/tomcat/tomcat7/webapps/aml" docBase="/home/tomcat/tomcat7/webapps/aml" reloadable="true"></Context> 

然后訪問路徑就是:172.16.69.120:8080/ 你設(shè)置的路徑/

遇到的問題

1、device is busy
umount卸載時候遇到device is busy

解決:殺進程

[root@web1~] # fuser -m /home/tomcat/tomcat7/webapps/aml
/home/tomcat/tomcat7/webapps/aml        10231c
[root@web1~] # kill -9 10231
[root@web1~] # umount -t nfs 172.16.69.120:/home/tomcat/tomcat7/webapps/aml

2、was not found in /proc/mounts
同樣是umount時候遇到的問題

解決:umount -l來卸載

#查看異常的掛載是否存在
[root@web1~] # cat /proc/mounts
[root@web1~] # umount -l 172.16.69.120:/home/tomcat/tomcat7/webapps/aml
相關(guān)命令
[root@web1~] # service rpcbind start/stop/status        #啟動/關(guān)閉/狀態(tài)rpcbind
[root@web1~] # service nfs start/stop/status            #啟動/關(guān)閉/狀態(tài)nfs
[root@web1~] # showmount -e 127.0.0.1       #查看本機掛載情況
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 《鳥哥Linux私房菜》《老男孩Linux運維》 NFS介紹 NFS維基百科:網(wǎng)絡(luò)文件系統(tǒng)(英語:Network ...
    Zhang21閱讀 4,484評論 0 13
  • 觀其大綱 第1部分Linux的基礎(chǔ)知識第1章Linux概述第2章Linux系統(tǒng)的安裝KickStart開始自動安裝...
    周少言閱讀 1,671評論 1 10
  • 1、NFS服務介紹 NFS:Network File System 網(wǎng)絡(luò)文件系統(tǒng),基于內(nèi)核的文件系統(tǒng)。Sun公司開...
    張大志的博客閱讀 2,728評論 0 1
  • 一、NFS服務簡介 NFS 是Network File System的縮寫,即網(wǎng)絡(luò)文件系統(tǒng)。一種使用于分散...
    指間_流年閱讀 2,069評論 0 3
  • 至深至純,至柔至美。 他筆下的色彩濃郁而絢爛,乍看粗獷,實則每一筆線條都傾注了他對周遭生命的熱愛,那些微小的、卑賤...
    Lily_LJ閱讀 665評論 0 0

友情鏈接更多精彩內(nèi)容