https://blog.csdn.net/lpp_dd/article/details/78743862
兩台linux服務器之間實現掛載:
服務端:
1、首先需要在主機上設置允許掛載的目錄
(1)修改 /etc/exports,增加共享目錄
這里主機是指服務端(要共享的目錄)
/srv/www/app/wtcms/webroot/upload 10.10.10.*(ro,sync,no_root_squash)
/home/abcd/share *(insecure,rw,async,no_root_squash)
這里的rw表示 讀寫權限 * 表示將當前的目錄共享給任何ip上
/srv/www/app/wtcms/webroot/main 10.10.10.*(ro,sync,no_root_squash)
其中 /srv/www/app/wtcms/webroot/upload /srv/www/app/wtcms/webroot/main是指要共享的目錄 10.10.10.* 客戶端的ip(允許訪問的ip)
3、關閉服務端的防火牆
4、啟動服務:執行
service nfs restart
客戶端:
掛載 執行命令:
1、啟動服務:
service nfs restart
service portmap restart
2、 mount 172.16.203.246:/srv/www/app/wtcms/webroot/main /srv/ww
w/app/wtweb/webroot/main -nolock -t nfs其中172.16.203.246 是服務端的ip
/srv/www/app/wtcms/webroot/main 服務端共享的目錄
/srv/www/app/wtweb/webroot/main 客戶端目錄(一定要有此目錄)
3、取消掛載:
umount /srv/www/app/wtweb/webroot/main 客戶端目錄(一定要有此目錄)
最近由於項目原因需要和其他兩家公司對接,需要取對方服務器中的圖像數據,原本約定是三方都通過http協議來進行通訊,奈何對接方不配合,說文件就在他們服務器放着,怎么取他們不管。所以采取將對方服務器磁盤掛載到本地的方法來獲取。
NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。本文的兩個linux環境分別為CentOS和Ubuntu,其他版本類似。將Ubuntu下的/home/dhcc/nfs掛載到CentOS下/home/shao/nfs。
Ubuntu:
1.安裝配置NFS服務器
sudo apt-get install nfs-kernel-server nfs-common
2.配置參數
vim /etc/exports
文件最后加入一行,注意不要加到注釋
/home/dhcc/nfs *(rw,sync,no_root_squash) #該目錄為nfs服務根目錄,*表示允許所有的網段訪問,也可以使用具體的IP,參數詳解在最后
3.建立nfs目錄(如果配置了已存在的目標可跳過此步)
sudo mkdir /home/dhcc/nfs
4.查看配置是否生效
exportfs -r #更新配置
showmount -e
如果生效會顯示
Export list for Ubuntu:
home/dhcc/nfs
5.重啟nfs服務
/etc/init.d/nfs-kernel-server restart
CentOS:
1.創建掛載目錄(如果已存在請跳過)
mkdir /home/shao/nfs
2.安裝nfs-utils
yum install nfs-utils
2.mount掛載
mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs #Ubuntu的ip為10.18.105.116
3.開機自動掛載
vim /etc/rc.local
添加一行
sudo mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs
如果出現mount.nfs:access denied by server while mounting問題,可通過以下幾種途徑嘗試解決:
1.修改需掛載的nfs目錄權限
chmod 755 /home/dhcc/nfs
2.如果端口號大於1024,則需要將 insecure 選項加入到配置文件(/etc/exports):
vim /etc/exports
文件最后加入一行
/home/dhcc/nfs *(insecure,rw,sync,no_root_squash)
3.修改/etc/sysconfig/nfs文件
# Turn off v2 and v3 protocol support
# RPCNFSDARGS="-N 2 -N 3"
# Turn off v4 protocol support
#RPCNFSDARGS="-N 4" /*把這句話的#號去掉*/
NFS分為三個版本,即NFS-2 NFS-3 NFS-4,該配置文件默認關閉了這三個的NFS版本,我們只需要打開NFS-4即可。
附錄:NFS常用參數如下:
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_squas root用戶具有根目錄的完全管理訪問權限
anonuid=xxx 指定nfs服務器/etc/passwd文件中匿名用戶的UID
anongid=xxx 指定nfs服務器/etc/passwd文件中匿名用戶的GID
