NFS伺服器的安裝與配置

2012013977發表於2017-08-27
一:NFS介紹
1)、什麼是NFS

 NFS(Network File System)即網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的計算機之間通過TCP/IP網路共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的檔案,就像訪問本地檔案一樣。簡單點說,就是在NFS服務端共享,NFS客戶端掛載使用。例如:當我們在NFS伺服器設定好一個共享目錄/www後,其他的有權訪問NFS伺服器的NFS客戶端就可以將這個目錄掛載到本地。並且能夠看到服務端/www的所有資料。如果伺服器端配置的客戶端只讀,那麼客戶端就只能夠只讀。如果配置讀寫,客戶端就能夠進行讀寫。
2)、什麼是RPC
 NFS在檔案傳送或資訊傳送過程中依賴於RPC協議。RPC,遠端過程呼叫 (Remote Procedure Call) 是能使客戶端執行其他系統中程式的一種機制。NFS本身是沒有提供資訊傳輸的協議和功能的,但NFS卻能讓我們通過網路進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能。可以說NFS本身就是使用RPC的一個程式。所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這麼理解RPC和NFS的關係:NFS是一個檔案系統,而RPC是負責資訊的傳輸。
3)、RPC與portmap的關係
 portmap埠對映是一個伺服器,將RPC程式號轉換為DARPA的協議埠號,在使用RPC呼叫時它必須執行。portmap程式的主要功能是把RPC程式號轉化為Internet的埠號。portmap程式一般使用TCP/UDP的111埠。
當一個RPC伺服器啟動時,會選擇一個空閒的埠號並在上面監聽(每次啟動後的埠號各不相同),同時它作為一個可用的服務會在portmap程式註冊。一個RPC伺服器對應惟一一個RPC程式號,RPC伺服器告訴portmap程式它在哪個埠號上監聽連線請求和為哪個RPC程式號提供服務。經過這個過程,portmap程式就知道了每一個已註冊的RPC伺服器所用的Internet埠號,而且還知道哪個程式號在這個埠上是可用的。portmap程式維護著一張RPC程式號到Internet埠號之間的對映表,它的欄位包括程式號、版本、所用協議、埠號和服務名,portmap程式通過這張對映表來提供程式號-埠號之間的轉化功能
如果portmap程式停止了執行或異常終止,那麼該系統上的所有RPC伺服器必須重新啟動。首先停止NFS伺服器上的所有NFS服務程式,然後啟動portmap程式,再啟動伺服器上的NFS程式。
二:NFS的安裝環境
1)centos6.x
2)NFS伺服器:192.168.199.132
3)NFS客戶端:129.168.199.131
三:配置NFS伺服器
說明:一般情況下nfs-utils和portmap系統預設是安裝的
nfs-utils-* :包括基本的NFS命令與監控程式
portmap-* :支援安全NFS RPC服務的連線
1)檢視系統是否已安裝NFS、portmap
rpm -qa \ grep nfs
rpm -qa \ grep portmap(rpcbind)
如果沒有安裝的話,可以使用yum Install nfs-utils portmap安裝包名稱來安裝。需要注意在CentOS 6.3當中,portmap服務由rpcbind負責,這一點我們可以通過yum install portmap證實。源伺服器會自動解析到rpcbind這個包。
2)啟動portmap(rpcbind)
/etc/init.d/portmap start 或者 service portmap start  #啟動portmap

/etc/init.d/portmap status或者 netstat–lnt  #檢視portmap啟動情況



3)啟動NFS
/etc/init.d/nfs   start    #啟動

/etc/init.d/nfs   status   #檢視


啟動順序不能錯,關閉順序相反
4)修改配置檔案
主要配置檔案為:/etc/exports
格式為:NFS共享目錄  客戶端地址1(參1,參2只讀還是可寫)
如:/www 192.168.199.131(insecure,rw,sync,no_rootl_squash)
說明:必須注意www/目錄的訪問許可權,必須設定成777許可權;如果有父目錄,父目錄許可權無要求,普通的755即可;加insecure這個引數是因為這一說:
http://liuzhigong.blog.163.com/blog/static/17827237520115305226932/
四:配置NFS客戶端
1)確保portmap執行,客戶端必須確保RPC協議相應的portmap正常執行,否則mount將失敗;
2)檢視服務端給我們提供共享目錄

showmount  -e 192.168.199.132 #此時報錯如下


這個錯誤是因為我在客戶端沒有安裝nfs,也就是說nfs在客戶端也是要安裝的,不然很多命令都報錯。

showmount  -e 192.168.199.132 #再次報錯如下


這個錯誤是防火牆造成的,資料顯示可以把通過 rpcinfo -p 192.168.199.131 查出來的埠都開放就可以了,由於我不是生產環境,只是虛擬機器做實驗,所以我直接關閉了防火牆,記得伺服器端和客戶端都要關閉 

3)掛載/www目錄(本地掛載點為/www,任意設定)

mount -t nfs 192.168.199.132:/www /www #報錯如下,


這個錯誤就是目錄許可權的問題了,我是把兩個/www目錄許可權都改為了777,到此實驗就完成了!

df -h #檢視是否掛載成功

參考1:http://atong.blog.51cto.com/2393905/1343950

參考2:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html

參考3:http://blog.csdn.net/wxf_126/article/details/8491536

參考4:http://www.cnblogs.com/jankie/archive/2012/11/14/2769585.html

參考5:http://blog.csdn.net/gujintong1110/article/details/42219039

相關文章