23.2. 掛載 NFS 檔案系統

使用 mount 指令來掛載另一部機器上一個共享的 NFS 目錄:

mount shadowman.example.com:/misc/export /misc/local

警告警告
 

本機上的掛載點目錄(以上例子中的 /misc/local)必須存在。

在這個指令中,shadowman.example.com 就是 NFS 檔案伺服器的主機名稱,/misc/export 就是 shadowman 主機所匯出的目錄,而 /misc/local 就是用來掛載到本機的位置。 在執行 mount 指令之後(而且該用戶端也必須擁有適當的權限存取 shadowman.example.com NFS 伺服器),用戶端的使用者便可執行 ls /misc/local 指令來列出位於 shadowman.example.com 主機上的 /misc/export 目錄中的檔案。

23.2.1. 使用 /etc/fstab 來掛載 NFS 檔案系統

另一個從其他機器掛載一個 NFS 共享資源的方法是增加一行到 /etc/fstab 檔案中,該行必須含有 NFS 伺服器的主機名稱、該伺服器所匯出的目錄以及要掛載 NFS 共享的本機目錄。 您必須以 root 身份才能修改 /etc/fstab 檔案。

The general syntax for the line in /etc/fstab 檔案中該行的一般語法如下:

server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr

掛載點 /pub 必須存在於用戶端機器中。 在將此行加入到用戶端系統的 /etc/fstab 檔案後,請在 shell 提示符號下輸入 mount /pub,將會從伺服器掛載共享目錄到 /pub 掛載點下。

23.2.2. 使用 autofs 掛載 NFS 檔案系統

用來掛載 NFS 共享的第三個選擇是使用 autofs,Autofs 使用 automount 系統程式來管理您的掛載點,只在當它們被存取時才動態地掛載它們。

Autofs 藉由查閱主要對應設定檔案 /etc/auto.master 以決定定義了那些掛載點,然後便啟動一個 automount 的程序,並含有對於每一個掛載點的適當參數。 主要對應檔案中的每一行都定義一個掛載點,而另一個對應檔案則定義要掛載到此掛載點的檔案系統。 舉例來說,/etc/auto.misc 檔案也許定義在 /misc 目錄的掛載點; 這個對應關係將會定義在 /etc/auto.master 檔案中。

auto.master 檔案中的每一項紀錄都有三個欄位,第一個欄位是掛載點,第二個欄位是對應檔案的位置,而三個欄位則是可不輸入的。 第三個欄位可以包含例如逾時數值的資訊。

舉例來說,如果要掛載遠端機器 penguin.example.net 上的 /proj52 目錄到您機器的 /misc/myproject 掛載點,請將下列這一行加入到 auto.master 檔案中:

/misc   /etc/auto.misc --timeout 60

增加下列這一行至 /etc/auto.misc 檔案中:

myproject  -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52

/etc/auto.misc 檔案的第一個欄位是 /misc 子目錄的名稱,這個目錄是由 automount 動態建立的,它不應該實質上存在於用戶端機器上,第二個欄位包含掛載選項,如 rw 代表允許讀取與寫入的存取,第三個欄位就是 NFS 所匯出的位置,包括主機名稱與目錄。

注請注意
 

/misc 目錄必須存在於本機的檔案系統中,而且 /misc 目錄下不應該含有任何的子目錄。

Autofs 是一項服務,如要啟動這個服務,請在 shell 提示符號下輸入下列指令:

/sbin/service autofs restart

如要檢視現行的掛載點,請在 shell 提示符號下輸入下列指令:

/sbin/service autofs status

假如您在 autofs 執行中的情況下修改 /etc/auto.master 設定檔案,您必須 shell 提示符號下輸入下列指令來告知 automount 系統程式重新載入:

/sbin/service autofs reload

如要學習關於如何設定在開機時啟動 autofs,請參考 第21章 以取得管理服務的資訊。

23.2.3. 使用 TCP

NFS 的預設傳輸協定為 UDP,然而 Red Hat Enterprise Linux 3 的核心含有透過 TCP 的 NFS 支援, 如要透過 TCP 使用 NFS,當您在用戶端機器掛載 NFS 匯出之檔案系統時,請在 mount 的指令加上 -o tcp 的選項,例如:

mount -o tcp shadowman.example.com:/misc/export /misc/local

是否在 /etc/fstab 檔案中指定了 NFS 的掛載:

server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr,tcp

是否在 autofs 的設定檔案中已指定:

myproject  -rw,soft,intr,rsize=8192,wsize=8192,tcp penguin.example.net:/proj52

因為 UDP 為預設值,假如沒有指定 -o tcp 選項的話,將會透過 UDP 存取 NFS 匯出的檔案系統。

使用 TCP 的好處如下:

主要的缺點在於 TCP 通訊協定的 overhead 會稍微影響效能的表現。

23.2.4. 保留 ACLs

Red Hat Enterprise Linux 3 核心提供 ext3 檔案系統以及使用 NFS 或 Samba 協定掛載之 ext3 檔案系統的 ACL 支援。 因此只要一個 ext3 檔案系統是由支援 ACLs 的伺服器 NFS 匯出,而且 NFS 的用戶端也讀取 ACLs,NFS 用戶端便可以存取 ACLs。

如需關於掛載含有 ACLs 之檔案系統的更多資訊,請參考 第8章