Linux訪問遠端伺服器檔案——NFS+mount掛載
前言
有兩臺伺服器,S1和S2,Linux作業系統,S1和S2IP不同,但是可以相互訪問。
S2需要訪問S1的檔案系統,換言之,S1中有資料夾被分享給S2使用。
準備工作
假設 S1的ip為 192.168.1.2,要分享為公共資料夾的目錄為 /tmp/share
假設 S2的ip為 192.168.1.3,接受上傳檔案的目錄為 /usr/tomcat/here
執行場景
在實際使用中,直接向 192.168.1.3 的 /usr/tomcat/here 中儲存檔案,或者刪除檔案,都相當於在 192.168.1.2 /tmp/share中進行操作
開始實施
1、檢查 S1,即需要提供分享資料夾的伺服器是否具有NFS服務
$ rpm -qa |grep nfs
如果安裝了,則會列印一些資訊,
否則什麼也不會發生,就需要安裝了
使用root許可權
$yum install nfs-utils
2、修改 S1中的/etc/exports
增加語句
/tmp/share 192.168.1.3(rw,no_root_squash,async)
看出來格式了嗎?允許 Ip為192.168.1.3的伺服器訪問本伺服器的/tmp/share資料夾,後面括號裡的內容是必須的,設定了一些操作規則
關於exports 的內容可以參考 http://blog.chinaunix.net/uid-21089721-id-2327441.html
3、重啟NFS服務
$service portmap start
$ service nfs start
或者
$service nfs restart
以上 三步完成了S1的所有設定,S1又被叫做服務端
接下來是S2的設定,就比較簡單了
注意!S2中也必須安裝nfs服務
否則會報錯:wrong fs type, bad option, bad superblock
假設 S2的ip為 192.168.1.3,接受上傳檔案的目錄為 /usr/tomcat/here
這裡 /usr/tomcat/here 是需要存在的,被稱為掛載點
如果不存在可以建立(-p 的意思是如果父目錄不存在則建立)
mkdir -p /usr/tomcat/here
然後執行
$mount -t nfs 192.168.1.2:/tmp/share /usr/tomcat/here
格式上就是,mount -t nfs S1的IP:S1分享的目錄 S2直接操作的目錄
這樣操作S2的這個目錄就相當於直接S1分享的目錄了,當然,操作S1的分享的目錄,這個S2裡的內容也會跟著變
檢視目前客戶端的掛載情況
$ mount | grep nfs
去除客戶端的掛載
$ umount /var/tmp/share
或者
$ umount -l /var/tmp/share
/var/tmp/share 是客戶端的目錄,注意這個是我本地的實驗資料,不要和上面的混淆
其次,這裡命令中加了 -l ,是強制執行的命令,對於出現device is busy 時才可以使用
參考的文章
1、http://zhuang13.blog.51cto.com/3044154/557879
2、http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html
3、http://blog.chinaunix.net/uid-21089721-id-2327441.html
mount掛載永久設定
按照上面的操作,客戶端即S2的目錄掛載是臨時的,伺服器重啟後就失效了,如果需要永久設定另外需要操作。
http://blog.csdn.net/a2683901/article/details/43274991
nfs 伺服器端的其他命令
$ service nfs {start|stop|status|restart|reload|force-reload|condrestart|try-restart|condstop}
nfs服務自動啟動
正常而言,nfs服務需在系統啟動後手動啟動,通過下面的設定可以使nfs服務在系統重啟的時候自動啟動
$ chkconfig --level 345 nfs on
檢查結果
$ chkconfig --list nfs
0:off1:off2:off3:on4:on5:on6:off
命令格式參考
詳解:http://blog.chinaunix.net/uid-22287947-id-1991563.html