使用方式:dfuse [OPTIONS] [mountpoint [pool container]]
選項:
-m --mountpoint=<path> Mount point to use (deprecated, use positional argument)
--pool=name pool UUID/label
--container=name container UUID/label
--path=<path> Path to load UNS pool/container data
--sys-name=STR DAOS system name context for servers
-S --singlethread Single threaded
-t --thread-count=count Total number of threads to use
-e --eq-count=count Number of event queues to use
-f --foreground Run in foreground
--enable-caching Enable all caching (default)
--enable-wb-cache Use write-back cache rather than write-through (default)
--disable-caching Disable all caching
--disable-wb-cache Use write-through rather than write-back cache
-o options mount style options string
--multi-user Run dfuse in multi user mode
-h --help Show this help
-v --version Show version
dfuse 會在掛接點目錄執行 DAOS POSIX 容器的使用者空間掛接,該目錄指定為第一個位置引數。這個目錄必須存在,且使用者必須能夠存取,否則掛接作業會失敗。或者,也可以使用 -m
或 --mountpoint=
選項指定掛接點目錄,但這種用法已遭淘汰。
您可以透過多種方式指定 DAOS 集區和容器。指定集區和容器時,只能使用下列其中一種方式:
- 您可以在指令列上明確指定 DAOS 集區和容器,方法是使用 UUID 或標籤做為位置引數。這是使用 dfuse 掛接 POSIX 容器最常見的方式。
- 您可以使用 UUID 或標籤,透過
--pool
和--container
選項,在指令列上明確指定 DAOS 集區和容器。建議改用位置引數,不要使用這項用法。 - 使用
--path
選項時,系統會從該檔案系統路徑載入 DAOS 命名空間屬性,包括 DAOS 集區和容器資訊。 - 如果未使用
--path
選項,系統也會檢查掛接點目錄,並從中載入 DAOS 命名空間屬性 (如有)。 - 使用
-o
掛接選項字串時,掛接選項字串中的pool=
和container=
鍵會識別 DAOS 集區和容器。 如果未透過上述任何方法指定集區和容器,dfuse 會使用使用者執行 dfuse 時可存取的所有集區和 POSIX 容器的集區和容器 UUID (而非標籤),在掛接點下建構檔案系統路徑名稱做為路徑名稱元件。
- 您可以遍歷以這種方式掛接的 POSIX 容器路徑,存取該容器的根目錄,例如將目錄變更為
/mountpoint/pool_uuid/cont_uuid/
。 - 不過,系統不支援列出 /mountpoint/ 目錄,也不會顯示掛接至該處的集區 UUID。
- 同樣地,使用者可以將目錄變更為
/mountpoint/pool_uuid/
目錄,但系統不支援列出該目錄,也不會顯示掛接至該目錄的容器 UUID。 - 執行
fusermount3 -u /mountpoint
會卸載以這種方式掛接的所有 POSIX 容器,以及/mountpoint/pool_uuid/
目錄。
- 您可以遍歷以這種方式掛接的 POSIX 容器路徑,存取該容器的根目錄,例如將目錄變更為
執行緒和資源用量:
dfuse 有兩種執行緒:接受及處理核心要求的 fuse 執行緒,以及完成非同步讀取/寫入作業的進度執行緒。
每個非同步進度執行緒都會使用一個 DAOS 事件佇列,以消耗額外的網路資源。由於所有中繼資料作業都會封鎖,因此 dfuse 的並行層級會受到 Fuse 執行緒數量的限制。
根據預設,每個可用核心的總執行緒數為一,可達到最大輸送量。如果啟用超執行緒,系統會為每個超執行緒核心使用一個執行緒。您可以透過兩種方式修改這項設定:透過 numactl
或類似工具在 cpuset 中執行 dfuse,減少可用核心數量;或是使用 --thread-count
、--eq-count
或 --singlethread
選項:
--thread-count
選項可控制處理緒總數。- 在固定
--thread-count
的情況下增加--eq-count
選項,會相應減少熔絲執行緒數量。--eq-count
的預設值為1
。 --singlethread
模式會使用一個執行緒處理熔斷要求,並使用第二個執行緒處理單一事件佇列,總共兩個執行緒。
如果 dfuse 在背景模式下執行 (除非透過 mpirun 啟動,否則為預設模式),則會保持在前台,直到向核心註冊掛接為止,以便適當回報錯誤。
-o
選項可用於透過 fstab 或類似項目執行 dfuse,並接受標準掛接選項。這會視為以半形逗號分隔的 key=value 組合清單,dfuse 會使用這個字串中的 pool=
和 container=
鍵。
快取功能預設為開啟。dfuse 掛接的快取行為可透過指令列選項控制。您也可以透過容器屬性,為每個容器設定進一步的快取控制項。
- 如果使用
--disable-caching
選項,系統不會執行任何快取作業,也不會使用容器屬性。預設值為--enable-caching
。 - 如果使用
--disable-wb-cache
,系統會以直寫模式執行整個掛接點的寫入作業,並繼續使用容器屬性。預設值為--enable-wb-cache
。 - 如果同時指定
--disable-caching
和--enable-wb-cache
,系統會忽略--enable-wb-cache
選項,且不會執行任何快取作業。