自動掛載NFS目錄的兩個辦法[技術]
如果使用手工mount的方法訪問一個NFS共享, 重新啟動系統後這個檔案系統必須mount才可以使用, Red Hat Enterprise Linux提供了兩種方法來自動的掛載遠端檔案系統。/etc/fstab和autofs服務.
方法一,/etc/fstab
netfs服務會使用檔案/etc/fstab作為參考, 所以像NFS共享的會被自動執行。
如下是一個/etc/fstab中的掛載NFS的一條記錄。
<server>:</remote/export> </local/directory> nfs < options> 0 0
使用你的NFS伺服器替換如上的 <server> ,
使用NFS輸出路徑替換如上的 </remote/export> .
使用本地的掛載點目錄替換 </local/directory;> 這個目錄必須實現手動建立。
如上例子中的選項 nfs 說明了系統使用的檔案系統型別。
可以使用nfs的選項替換 <options> ,多個選項之間使用“,”分開,如果需要更多的資訊檢視man fstab.
如下面的例子:
server1.example.com:/share/directory /mnt/share nfs defaults 0 0
方法二, autofs 服務:
使用/etc/fstab的一個缺點是:不管使用者訪問NFS的次數和時間,系統總是會使用資源來維護這個NFS掛載。雖然對於一兩個NFS掛載的時候這不是問題,但是如果系統在維護很多NFS掛載的時候,系統性能會受到影響,一個替代方法就是使用基於kernel的
autofs 服務會根據/etc/auto.master檔案來控制自動掛載命令:automount的命令可以更加方便的指定掛載點,主機名, 輸出目錄等等。
autofs的配置檔案以父-子關係來組織,主配置檔案(/etc/auto.master) 列出了所有的掛載點,然後他會連線到一個特定的對映型別, 這個型別可以是配置檔案,程式, NIS對映或者其他掛載方式,auto.master檔案包含了如下內容。
<mount-point> <map-type>
<mount-point>用於指定本地掛載點,<map-type>指定如何掛載,最通常的NFS掛載做法是使用一個檔案,這個檔案通常命名成auto.<mount-point>, <mount-point>是在auto.master指定的掛載點,一個NFS型別的auto.<mount-point>的內容如下:
</local/directory> -<options> <server>:</remote/export>
使用本地掛載點替換 </local/directory;> ,該目錄必須手動建立。
可以使用nfs的選項替換 <options> ,多個選項之間使用“,”分開,如果需要更多的資訊檢視man fstab. 確定在options列表前使用了符號"-"。
使用你的NFS伺服器替換如上的 <server> ,
使用NFS伺服器的輸出路徑替換如上的 </remote/export> .
可以使用nfs的選項替換 <options>
autofs配置檔案可以用於很多中掛載方式和不同的檔案系統上,特使是在NFS的掛載上特別有用,舉例來說,有些單位把所有的/home目錄集中於一臺NFS伺服器上, 然後在每個節點上配置auto.master指向auto.home,使得每個節點都可以通過autofs掛載/home目錄。所有的使用者都可以在任何一臺工作站上訪問自己/home/下的的資料和配置檔案,該案中的auto.master看起來會像如下所示。
/home /etc/auto.home
這個檔案設定了/home/掛載點被配置到了/etc/auto.home檔案上,auto.home看起來應該如下:
* -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp server.example.com:/home
這個檔案顯示瞭如果使用者所要訪問/home下的一個目錄,它應該產生一個到nfs.example.com的NFS mount, mount的選項說明了每個/home下的目錄都會使用各自的設定. 如果需要更多的mount選項資訊, 可以參考Red Hat Enterprise Linux 3 Reference Guide的 Section 9.4.3 Common NFS Mount Options
有關autofs的更多資訊,請參考man手冊和安裝嚮導。
注:很多人都會遇到使用了fstab檔案後,寫好的NFS配置,在重啟後卻沒有自動掛載的情況,首先要檢查的是portmap服務是否設定了自動啟動,還有另外一個關鍵的服務就是netfs