1. 程式人生 > 實用技巧 >centos 5.4 nfs伺服器搭建

centos 5.4 nfs伺服器搭建

NFS(Network File System)的基本原則是讓不同客戶端及伺服器通過一組RPCs共享相同的檔案系統。它獨立於作業系統,允許不同硬體及作業系統的系統共同進行檔案的共享。雖然NFS可以在網路中進行檔案共享,但NFS在設計時並沒有提供資料傳輸的功能,因此,它需藉助RPC(Remote Procedure Call,遠端過程呼叫)。RPC定義了一種程序間通過網路進行互動通訊的機制,它允許客戶端程序通過網路向遠端服務程序請求服務,而不需要了解伺服器底層的通訊協議詳細資訊。當一個RPC連線建立開始階段,客戶端建立過程呼叫(Procedure Call),將呼叫引數傳送到遠端伺服器程序,並等待響應。當請求到達時,伺服器通過客戶端請求的服務,呼叫指定的程式,並將結果返回客戶端,當RPC呼叫結束,客戶端程式將繼續進行餘下的通訊操作。

1.準備

用NFS-Client表示Web應用所在的機器,其IP為192.168.1.210(Client_IP);用NFS-Server表示上次檔案的機器,其IP為192.168.1.209(Server_IP)。

NFS-Server上傳檔案所在的資料夾為/root/uploadfiles/,NFS-Client上指向NFS-Server:/root/uploadfiles的資料夾是/web/app1/uploads.

2.在NFS-Client和NFS-Server上安裝nfs和portmap

一般來說,CentOS安裝好之後,就已經安裝了nfs和portmap。可以通過CentOS的“軟體包管理者”檢視一下,如果沒有安裝,勾選 nfs-utils-***, nfs-utils-lib-***, portmap-***這三項,安裝。也可以使用下面的命令安裝:

# yum install nfs-utils portmap

3. 在NFS-Server上配置NFS服務

1 [NFS-Server]#vim /etc/exports
2 /root/uploadfiles Client_IP(rw,sync, no_root_squash)


3 儲存exports檔案
4 [NFS-Server]#chkconfig portmap on
5 [NFS-Server]#chkconfig nfs on
6 [NFS-Server]#vim /etc/hosts.deny


7 portmap:ALL
8 儲存
9 [NFS-Server]#vim /etc/hosts.allow


10 portmap:Client_IP(192.168.1.210)

上述程式碼中,rw表示NFS-Client對/root/uploadfiles資料夾只具有讀寫許可權。sync表示要以同步方式將檔案傳到NFS- Server。no_root_squash表示當NFS-Client是以root使用者登入時,在訪問/root/uploadfiles時不會變為 nobody使用者。而後面兩句chkconfig是把portmap和nfs兩個服務設定為開機自動啟動。需要特別注意的是第二行程式碼中,Client_IP和後面的”(“之間不能有空格。

4. 在NFS-Server上為mountd, rquotad, lockd配置固定的埠

因為NFS會為以上三個服務分配臨時埠,所以很難在防火牆上控制要開放哪些埠。所以要將幾個埠固定住。

1 [NFS-Server]#vim /etc/services
2 在檔案最後新增:
3 mountd 1011/tcp #rpc.mountd
4 mountd 1011/udp #rpc.mountd


5. 在NFS-Server的防火牆裡開放相關埠

要開放1101/tcp, 1101/udp, 111/tcp, 111/udp, 2049/tcp, 2049/udp這六個埠。如果是通過圖形介面配置,可以手工新增前四個埠,而後面2049這兩個埠,可以通過勾選上面的nfs4來開放。

6. 啟動portmap和nfs服務

啟動方式是service portmap start; service nfs start;

可以通過命令# exportfs來檢查配置是否成功。如果成功,會顯示/etc/exports檔案中的內容。

7. 在客戶端掛載伺服器的共享資料夾/root/uploadfiles

1 [NFS-Client]#service portmap start;
2 [NFS-Client]#showmount -e Server_IP
3 會顯示NFS-Server是否有共享目錄

4 [NFS-Client]#mount -t nfs4 Server_IP:/root/uploadfiles /web/app1/uploads
5 [NFS-Client]#df -H


6 能看到多出一個掛載點,說明成功。

下面就可以在NFS-Client機器上往/web/app1/uploads裡操作目錄和檔案,實際變化的是NFS-Server的/root/uploadfiles。

centos 搭建nfs伺服器 http://www.wp31.com/1072.html