網路管理員指南 -11.網路檔案系統NFS -1>準備和安裝NFS(轉)

post0發表於2007-08-11
網路管理員指南 -11.網路檔案系統NFS -1>準備和安裝NFS(轉)[@more@]

準備NFS

在你可以使用NFS之前,它作為伺服器或者是客戶,你必須確定你的核心編入了NFS的支援。對此新的核心在proc檔案系統上有一個簡單的介面,就是/proc/filesystems,你可以使用cat顯示:

$ cat /proc/filesystems

minix

ext2

msdos

nodev proc

nodev nfs

如果nfs從這個列表中丟失,你就需要將NFS的使用編入到你自己的核心中。配置核心網路選擇在章節 中的“核心配置”部分中解釋。

對於-1.1之前的比較早的核心,得知你的核心是否有NFS支援的最為簡單的方法是實際嘗試安裝一個NFS檔案系統。為了做到這一點,你可以在/tmp下建立一個路徑,並嘗試在它上面安裝一個本地路徑。

# mkdir /tmp/test

# mount localhost:/etc /tmp/test

如果這個安裝嘗試失敗並有一個錯誤資訊說``fs type nfs no supported by kernel',那麼你就需要製作一個可以使用NFS的新的核心。其它的錯誤資訊都是完全無害的,就是說你還沒有在你的主機沙鍋內配置NFS daemons。

--------------------------------------------------------------------------------

安裝一個NFS版本

NFS版本的安裝正是使用的平常檔案系統安裝的方式。你涉及到使用下面的句法的問題:

# mount -t nfs nfs volume local dir options

nfs_volume被作為遠端主機給出:remote_dir。因為這個符號對於NFS檔案系統來說是唯一的,你可以留下-t nfs選擇。

這裡有一些更多的選擇為你在安裝一個NFS版本的時候來指定。它們可以在命令列-o開關之後給出,或者在版本/etc/fstab登入的選擇區域中。在這兩種情況下,多重選擇由逗號互相分割開。在命令列指定的選擇通常回覆蓋在fstab檔案中給出的內容。

在/etc/fstab中的登入例子可以是:

# volume mount point type options

news:/usr/spool/news /usr/spool/news nfs timeo=14,intr

於是這個版本可以使用下面方式進行安裝:

# mount news:/usr/spool/news

在fstab登入預設的情況下,NFS安裝invocations看到許多的uglier。例如,假設你從一個名為moonshot的機器上安裝你的使用者根路徑,它為讀寫操作使用一個預設的大小為4K的塊。你可以透過使用以下方式減少塊的大小到適合datagram容量的 2K。

# mount moonshot:/home /home -o rsize=2048,wsize=2048

所有正確的選擇的列表會全部在the nfs(5)手冊頁進行描述,這手冊頁來自Rick Sladkey的NFS-aware安裝工具,它可以在Rik Fait的util-linux package中找到。下面是一個你可能想要使用的內容的不完整的列表:rsize=n and wsize =n

這些指定在讀寫要求上由NFS客戶使用相應的datagram大小。由於上面介紹的UDP datagram大小的限制,它們的預設值為1024 bytes。

timeo=n

這設定NFS客戶將等待完成一個要求的時間(十分之一秒)。

hard

特別標註這個值為硬體安裝。預設為開啟。

Soft

軟體安裝驅動(相對於硬體安裝)。

Intr允許訊號干擾一個NFS呼叫。當伺服器沒有應答需要放棄的時候有用處。

除了rsize 和 wsize,如果伺服器必須暫時停止訪問,所有這些選擇就會執行到客戶的行為中。它們按照下面的方式同時執行:當客戶傳送一個要求到NFS伺服器的時候,它盼望在一個給定的間斷(在超時選擇中指定)過後操作結束。如果在這段時間中沒有接到確認,一個所謂的 minor timeout發生,並且當超時時間段翻倍的時候重新嘗試操作。在達到最大的60秒超時的時候,就會發生一個major timeout(主要超時)。

預設情況下,一個主要超時將導致客戶列印一個資訊到控制板,並全部重新啟動,這一次初始使用的是前一次重疊的一個兩倍的間斷。潛在的,這會永遠繼續下去。值會頑強的重新使用一個操作直到伺服器可以使用,這被稱為hard-mounted(硬安裝)。相反的變化,soft-mounted(軟安裝)值產生在呼叫過程中一個主要的超時發生的時候的一個輸入/輸出錯誤。因為由緩衝引出的後寫入方式,這個錯誤在它下次要求寫入功能的之前不會自動繁殖到程式,因此,一個程式可以永遠不被確認一個到軟安裝的值的寫入操作已經成功。

你是否硬安裝或者是軟安裝一個值不是一個簡單的喜好的問題。它還涉及到你想要從這個值中得到什麼樣的資訊。例如,你透過NFS安裝你的X- programs,你當然不希望你的X-session變得瘋狂,而只是因為某人透過同時開始幾個版本的xv就使網路停止,或者突然拔掉Ethernet 插頭。在硬安裝這些的時候,你確定你的計算機將等待直到它可以同你的NFS伺服器重新建立連線。在另外一方面,無評論資料,例如NFS安裝新聞分割槽或者 FTP資料夾也許會被軟安裝。因此,它不會停止你的部分來防止遠端機器必須暫時無法連線或者關閉。如果你到伺服器的網路連線是片狀的或者透過一個裝載的路由器,你可以使用timeo選項來增加初始超時或者硬安裝值,但是允許訊號干擾NFS呼叫,這樣你仍然可以取消任何無法處理的檔案的訪問。

通常,mountd daemon會使用某方式或者其它的daemon跟蹤由主機安裝的路徑。這個資訊可以使用showmount程式來顯示,它也包含在NFS服務包當中。然而,mountd仍然不會做這個。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945216/,如需轉載,請註明出處,否則將追究法律責任。

相關文章