用途: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 池和容器可以通过多种不同的方式指定。请仅使用一种方式指定池和容器:
- 您可以在命令行中使用 UUID 或标签,将 DAOS 存储池和容器明确指定为位置参数。这是使用 dfuse 挂载 POSIX 容器的最常见方法。
- 您可以在命令行中使用
--pool
和--container
选项明确指定 DAOS 存储池和容器,并使用 UUID 或标签。此用法已被弃用,请改用位置参数。 - 使用
--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 线程数量。
默认情况下,每个可用核心的线程总数为 1,以实现最大吞吐量。如果启用了超线程,则每个超线程核心使用一个线程。您可以通过以下两种方式进行修改:通过 numactl
或类似工具在 cpuset 中运行 dfuse 来减少可用核心数,或者使用 --thread-count
、--eq-count
或 --singlethread
选项:
--thread-count
选项用于控制线程总数。- 在固定
--thread-count
的情况下提高--eq-count
选项会相应地减少熔断器线程的数量。--eq-count
的默认值为1
。 --singlethread
模式将使用一个线程处理熔断请求,另一个线程处理单个事件队列,总共两个线程。
如果 dfuse 在后台模式下运行(除非通过 mpirun 启动,否则默认是后台模式),则它将保持在前台,直到挂载到内核以允许适当的错误报告。
-o
选项可用于通过 fstab 或类似工具运行 dfuse,并接受标准的挂载选项。系统会将其视为以英文逗号分隔的键值对列表,并且 dfuse 将使用此字符串中的 pool=
和 container=
键。
缓存功能默认处于开启状态。dfuse 挂载的缓存行为可以通过命令行选项进行控制。您可以通过容器属性按容器设置进一步的缓存控制。
- 如果使用
--disable-caching
选项,则不会执行缓存,也不会使用容器属性。默认值为--enable-caching
。 - 如果使用
--disable-wb-cache
,则系统会在写穿模式下执行整个挂载的写入操作,并且仍会使用容器属性。默认值为--enable-wb-cache
。 - 如果同时指定了
--disable-caching
和--enable-wb-cache
,系统会忽略--enable-wb-cache
选项,并且不会执行任何缓存操作。