NFS 輸出服務的組態檔案為 /etc/exports
和 /etc/sysconfig/nfs
。除了這些檔案之外,NFSv4 伺服器組態還需要 /etc/idmapd.conf
。若要啟動或重新啟動服務,請執行 rcnfsserver restart 和 rcidmapd restart 指令。NFS 伺服器需依賴執行的 RPC 埠對應程式。因此,也請您以 rcportmap restart 啟動或重新啟動埠對應程式服務。
NFSv4 是 SUSE Linux Enterprise 10 上最新版的 NFS 協定。設定要以 NFSv4 輸出的目錄,程序和之前的版本有些許不同。
此檔案含有一個項目清單。每一個項目都指出一個共享的目錄,並記錄它的共享方式。/etc/exports
中的典型項目會包含:
/shared/directory host(option_list)
例如:
/export 192.168.1.2(rw,fsid=0,sync) /data 192.168.1.2(rw,bind=/export/data,sync)
對於 fsid=0
已在選項清單中指定的目錄,稱為虛擬根部檔案系統。這裡使用了 IP 位址 192.168.1.2。您可以使用主機的名稱,那是一個萬用字元,指向一組主機 (*.abc.com
、*
等) 或網路群組。
對於固定的用戶端集合,只有兩種目錄可以使用 NFSv4 輸出:
用以做為虛擬根部檔案系統的單一目錄。在此範例中,/exports
為虛擬根部目錄,因為 fsid=0
已於此項目的選項清單中指定。
用以結合至虛擬檔案系統之某些現有子目錄的目錄。在上面的項目範例中,/data
這個目錄就是繫結至 /export
虛擬檔案系統的現有子目錄 (/export/data
)。
虛擬檔案系統是最上層的目錄,底下的所有需使用 NFSv4 輸出的檔案系統都有其位置。對於用戶端或用戶端集合來說,伺服器上只有一個目錄可以設定為虛擬根部來進行輸出。對此用戶端或用戶端集合,您可以將其他多個目錄繫結之虛擬根部中的某些現有子目錄,進而將它們輸出。
此檔案含有某些參數來決定 NFSv4 伺服器精靈的行為。NFSv4_SUPPORT 參數必須設定為 yes,這點相當重要。此參數可決定 NFS 伺服器是否可支援 NFSv4 輸出和用戶端。
Linux 機器的所有使用者都有名稱和 ID。idmapd 會針對伺服器接收的 NFSv4 要求進行名稱和 ID 的對應,然後對用戶端發出回覆。這必須同時在 NFSv4 的伺服器和用戶端上執行,因為 NFSv4 只會在通訊中使用名稱。
對於可能使用 NFS 來共用檔案系統的機器,請確定有一個統一的方式來對各機器之間的使用者指定使用者名稱和 ID (uid)。您可以透過 NIS、LDAP 或您領域中的任何統一領域驗證機制來達成這個目的。
為求運作正常,必須在此檔案中為用戶端和伺服器設定相同的 Domain
參數。如果您不確定,請讓伺服器和用戶端檔案中的領域都維持為 localdomain
。我們在此提出一個組態檔案的例子,如下所示:
[General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = localdomain [Mapping] Nobody-User = nobody Nobody-Group = nobody
除非您確定自己在做什麼,否則請勿變更這些參數。日後如需參考,請參閱 idmapd
和 idmapd.conf
; man idmapd
, man idmapd.conf
的線上文件。
這只適用於 NFSv3 和 NFSv2 的輸出作業。如需以 NFSv4 輸出的詳細資訊,請參閱第 38.5.1 節「以 NFSv4 輸出檔案系統」。
以 NFS 輸出檔案系統時需要兩個組態檔案:/etc/exports
和 /etc/sysconfig/nfs
。典型 /etc/exports
檔案項目的格式如下:
/shared/directory host(list_of_options)
例如:
/export 192.168.1.2(rw,sync)
這裡的 /export
目錄與主機 192.168.1.2 共用,選項清單為 rw,sync
。這個 IP 位址可使用萬用字元來以用戶端名稱或用戶端集合取代 (例如 *.abc.com
),甚至也可以網路群組取代。
如需所有選項及其意義的詳細說明,請參閱 exports (man exports) 的線上文件。
變更了 /etc/exports
或 /etc/sysconfig/nfs
以後,請以 rcnfsserver restart 指令啟動或重新啟動 NFS 伺服器。