NFS(網絡文件系統)部署和優化:
首先:什么是NFS?
NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。
原理說明:假設有A,B,C 三台機器,在A上搭建nfs服務,然后把A上的一個目錄(例如NFSlist)同時共享給B 和 C,接着B和C把A共享的目錄放在自己本地上(掛載,類似磁盤掛載)。 這樣,在用戶看來,A,B,C同時存在一個相同的目錄,有着相同的文件,只要去改動任意一台機器且在該目錄下的文件,其他兩台機器都會相應同步變化。
一、NFS前期部署工作
搭建環境:虛擬機(用Vmware Workstation創建2台虛擬主機)
LINUX版本:RHEL6.6(本教程只針對6.X以上)
(1)用做NFS服務器的電腦、主機名設置為Sever IP地址: 192.168.202.66
查詢該主機是否安裝rpcbind和nfs,下圖是已經安裝就緒。
RHEL6.X系統已經預裝此兩種服務,如果未安裝請在光盤的Package文件安裝rpcbind和nfs。
安裝方法:# yum install rpcbind*
# yum install nfs*
(配置yum源自己度娘,也可以掛載本地iso鏡像用rpm安裝)
(2)用做訪問NFS服務器的客戶機,主機名為Clinet IP地址:192.168.202.11
確保客戶機安裝了nfs服務
二、設置參數
(1)主機Sever(192.168.202.66),設置NFS配置參數。用vim編輯 /etc/exports
說明:
cd : 回到root家目錄
mkdir /NFSlist: 在根目錄(/)創建NFSlist文件夾,(B,C主機掛載時就是用此目錄)
chmod -R 777 /NFSlist: 將NFSlist目錄的權限完全開放,客戶機掛載后即可寫入數據
vim /etc/exports: 設置NFS文件參數,注意: 192.168.202.11和(rw,sync) 之間不能有空格,【舉個錯誤例子:192.168.202.11 (rw,sync) 這樣設置會出錯】。rw是客戶機可讀寫,ro為只讀。
(2)重啟主機名Sever(192.168.202.66)的rpcbind 和 nfs服務(注意啟動順序有嚴格要求,先啟動rpcbind,再啟動nfs,不然會報錯)
方法一:
方法二:
(3)客戶機Clinet(192.168.202.11)的nfs也重啟下
三、客戶機掛載NFS服務器的文件,並寫入和刪除數據
(1)客戶機Clinet(192.168.202.11)上查詢NFS服務器掛載的目錄
showmount -e 192.168.202.66: 查詢該NFS服務器共享目錄信息
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host): NFS服務器主機有防火牆,所以無法訪問(解決辦法,先關掉NFS服務器192.168.202.66的防火牆)
本教程只針對連通nfs服務器到客戶端,不建議實際環境關閉防火牆,(防火牆設置后續再開貼詳細說明吧,此處先關閉)
(2)關閉主機Sever(192.168.202.66)的防火牆
(3)再次在客戶機Clinet(192.168.202.11)上查詢NFS服務器掛載的目錄
我們查詢到可以訪問此/NFSlist目錄的用戶ip地址是:192.168.202.11
(4)掛載主機Sever(192.168.202.66)的/NFSlist目錄到自己客戶機Clinet(192.168.202.11)的本地目錄
先查詢本地目錄有哪些:
再掛載主機Sever(192.168.202.66)的/NFSlist目錄到本地/mnt目錄
至此,已經成功掛載NFS服務器文件到本地。
四、測試
(1)在客戶機Clinet(192.168.202.11)的/mnt目錄創建一個文件:misem.2016.text
(2)在主機Sever(192.168.202.66)的/NFSlist中可以查看到已經創建的信息,我們現在刪除misem.2016.text,再創建個文件hello_misem
(3)回到客戶機Clinet(192.168.202.11)的/mnt目錄,發現文件 misem.2016.text沒有了,只有文件hello_misem
五、如何在NFS服務器掛載新的目錄
(1)在主機Sever(192.168.202.66)上創建要掛載的目錄
mkdir /Fire2017 : 創建要掛載的目錄
vim /etc/exports: 編輯NFS服務器參數
exportfs -rv : 切記要在(192.168.202.66)上運行,不然客戶機端收不到更新的掛載目錄
(2)在客戶機Clinet(192.168.202.11)上查詢
重復之前的步驟即可。
六、總結:
至此我們完成了簡易的NFS服務器的搭建和測試,其中防火牆設置略過,后續我會專門講解防火牆的知識。實際使用中會遇到各種各樣的問題,相信通過度娘能解決大部分問題。
有朋友會問如果關機了是不是又要重新掛載,在這里你可以vim /etc/fstab ,設置開機自動啟動就行。第一次寫教程,一來倉促,二來水平有限,請高手指教,新人可以參考。