配置CentOS6.3 NFS

來源:互聯網
上載者:User

 

說明:本文是基於CentOS 6.3版本,5系列版本請另行參照其他文檔

一、安裝NFS對應的服務1.安裝NFS 套件

   首先安裝NFS套件,命令如下:

yum install nfs-utils.x86_64(64位系統)

yum install nfs-utils(32位系統)

2.安裝RPC服務(注①)

yum install rpcbind(centos6)

 

二、啟動NFS1.啟動RPC服務

Service rpcbind start

2.啟動NFS服務

Service nfs start

 

三、配置NFS伺服器端1.設定共用目錄

  建立共用目錄或者使用已有的目錄,本文建立/data/nfsshare作為共用目錄。

     返回到根目錄 CD /

     建立目錄 mkdir –p /data/nfsshare        -p 的意思是父資料夾不存在就建立

 

2.編輯/etc/exports檔案

 a) #vi /etc/exports  注②

 b)按一下鍵盤 【i】 鍵進入編輯狀態

 c)輸入nfs地址,具體命令格式:[目錄路徑]…  [目標主機名稱或IP地址(參數…)]…

例子:

/data/nfsshare  10.10.225.*(rw,all_squash,anonuid=504,anongid=504)注③

[共用目錄]   [第一台主機(許可權)]

 

  d)儲存檔案,按【esc】鍵輸入【:w】儲存

  e)退出vi,輸入【:q】退出Vi

3.重新載入exports檔案

輸入exportfs –rv命令    注④

 

4.查看本機發布的nfs目錄

showmount –e 注⑤

 

四、設定用戶端1.查看可掛載的目錄

  showmount –e ip

 

2.掛載伺服器目錄

  mount –t nfs –o nolock [主機名稱或IP]:[服務端目錄路徑] [用戶端目錄路徑]

 例子:

mount –t nfs –o nolock

10.10.225.178:/data/nfsshare  /data/clientshare

 

五、進行測試

在伺服器的共用目錄裡面建立一個檔案,查看一下用戶端是否存在

 

問題:1. RPC: Port mapper failure - RPC: Unable to receive

iptable沒關,把portmap的連接埠給阻擋了,禁用,service iptables  stop,一切OK!

 

2. mount.nfs:access denied by server while mounting

查看NFS Server端的/etc/exports檔案設定是否有問題。

 

3.NFS用戶端不能寫檔案問題

   是因為伺服器端沒有設定NFS 共用目錄的讀寫權限,使用chmod變更檔案夾的許可權即可。

註解:注① 為什麼要安裝RPC(Remote Procedure Call)

因為NFS支援的功能相當的多,而不同的功能都會使用不同的程式來啟動,每啟動一個功能就會隨機啟動一些沒有被佔用並且小於1024的連接埠來傳輸資料,因為NFS支援的功能沒有固定的連接埠。

這樣的話,就需要一個服務來獲得對應的連接埠號碼,而這個服務就是RPC服務。因為伺服器在啟動NFS時會把隨機取得的連接埠主動註冊到RPC服務中,因此RPC就可以知道每個NFS功能對應的連接埠號碼,並且RPC服務是固定連接埠號碼111。

 這也就間接要求RPC服務必須先於NFS服務啟動。

詳見:【鳥哥的 Linux 私房菜------第十三章、檔案伺服器之一:NFS 伺服器】

http://linux.vbird.org/linux_server/0330nfs.php

 

注② Vi的簡單操作

Vi有三種模式:命令模式、插入模式、底行模式。畫面啟動的時候就是命令模式,這個時候只能輸入各種命令,而不能進行輸入,所以需要按【i】鍵進入到插入模式,進行輸入文本,然後在按【Esc】鍵退出插入模式,進入命令模式。輸入:qw進行儲存退出。

注③ 許可權參數

參數值

內容說明

rw

ro

目錄分享許可權是可讀寫(read-write)或者唯讀(read-only),但最終能否讀寫還是與檔案系統的rwx以及身份相關

sync

async

sync 資料會同步寫入記憶體和硬碟中, async 資料會先存入記憶體中,而不是直接寫入硬碟。

no_root_squash

root_squash

用戶端使用NFS的帳號若為root時,系統如何判斷這個帳號的身份?

預設情況下,用戶端root的身份由root_squash設定縮減為nfsnobody,這樣才能保證伺服器系統的安全。

但若想開放用戶端的root身份來動作伺服器檔案系統,就需要設定no_root_squash

all_squash

無論登入NFS的用戶端身份是什麼,都會被縮減為匿名使用者,也就是nobody(nfsnobody)

anonuid

anongid

anon 代表anonymous (匿名使用者),前面關於*_squash提到的匿名使用者的UID設定值,通常為nobody(nfsnobody),但是你也可以自行設定這個UID的值!當然,這個UID必須存在你的/etc/passwd當中!anongid 則是群組的GID。

 

 

注④ Exportfs命令

Exportfs命令是使得本地目錄可以被NFS用戶端進行安裝,預設使用/etc/exports檔案進行匯出一個或者多個目錄。

參數:

 –r   重新讀取etc/exports檔案中的設定,並使設定生效,而無需重啟NFS服務     -v    顯示當前共用目錄及詳細的選項設定

  其它具體設定,請參照exportfs的命令詳解。

 

注⑤ 使用者端查詢服務器分享資源的指令:/usr/sbin/showmount

這是另一個重要的NFS指令。exportfs是用於在NFS Server端進行設定,查詢的。而showmount則主要用於Client端,用於查看NFS分享出來的目錄資源。

-e   顯示匯出伺服器上的所有檔案系統。

-a   顯示每個已安裝在伺服器上的所有網路檔案系統 (NFS) 用戶端和目錄。

-d   顯示當前裝載 NFS 用戶端的伺服器上的所有目錄。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.