使用 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 目錄中的檔案。
另一個從其他機器掛載一個 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 掛載點下。
用來掛載 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章 以取得管理服務的資訊。
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 的好處如下:
改善連線的耐久性,將可減少 NFS stale file handles 的訊息。
在負載較重的網路中可增加效能,因為 TCP 確認每一個封包,而 UDP 只確認完成傳送。
TCP 比 UDP(不含此功能性)擁有較好的擁塞控制,在一個相當擁塞的網路,UDP 封包是第一種會被丟棄的封包類型,這表示當 NFS 正在寫入資料(8K 的大小),整個 8K 都必須重新傳送,至於 TCP,由於它的可靠性,每次只傳送 8K 資料的一部分。
錯誤偵測,當一個 tcp 連線中斷時(由於伺服器下線),用戶端將停止傳送資料 並且啟動重新連線的過程。 至於 UDP,由於它是『非連接型式的』,用戶端將會持續以 資料傳送到網路中直到伺服器上線為止。
主要的缺點在於 TCP 通訊協定的 overhead 會稍微影響效能的表現。
Red Hat Enterprise Linux 3 核心提供 ext3 檔案系統以及使用 NFS 或 Samba 協定掛載之 ext3 檔案系統的 ACL 支援。 因此只要一個 ext3 檔案系統是由支援 ACLs 的伺服器 NFS 匯出,而且 NFS 的用戶端也讀取 ACLs,NFS 用戶端便可以存取 ACLs。
如需關於掛載含有 ACLs 之檔案系統的更多資訊,請參考 第8章。