Uso: dfuse [OPTIONS] [mountpoint [pool container]]
Opciones:
-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 realiza un montaje en el espacio de usuario de un contenedor POSIX de DAOS en el directorio del punto de montaje que se especifica como primer argumento posicional. Este directorio debe existir y el usuario debe tener acceso a él. De lo contrario, el montaje fallará.
También se puede especificar el directorio del punto de montaje con la opción -m
o --mountpoint=
, pero este uso está obsoleto.
El pool y el contenedor de DAOS se pueden especificar de varias formas. Solo se debe usar una forma de especificar el grupo y el contenedor:
- El pool y el contenedor de DAOS se pueden especificar explícitamente en la línea de comandos como argumentos posicionales, mediante UUIDs o etiquetas. Esta es la forma más habitual de usar dfuse para montar un contenedor POSIX.
- El pool y el contenedor de DAOS se pueden especificar explícitamente en la línea de comandos
mediante las opciones
--pool
y--container
, con UUIDs o etiquetas. Este uso está obsoleto y se recomienda usar argumentos posicionales. - Cuando se usa la opción
--path
, los atributos del espacio de nombres de DAOS se cargan desde esa ruta del sistema de archivos, incluida la información del pool y del contenedor de DAOS. - Si no se usa la opción
--path
, también se comprobará el directorio del punto de montaje y se cargarán los atributos del espacio de nombres de DAOS desde ahí, si están presentes. - Cuando se usa la cadena de opciones de montaje
-o
, las clavespool=
ycontainer=
de la cadena de opciones de montaje identifican el pool y el contenedor de DAOS. Si no se especifican el pool y el contenedor mediante ninguno de estos métodos, dfuse creará nombres de ruta del sistema de archivos en el punto de montaje usando los UUIDs (no las etiquetas) de todos los pools y contenedores POSIX a los que tenga acceso el usuario que ejecute dfuse como componentes de nombre de ruta.
- Se puede acceder a la raíz de un contenedor POSIX montado de esta forma recorriendo la ruta, por ejemplo, cambiando el directorio a
/mountpoint/pool_uuid/cont_uuid/
. - Sin embargo, no se admite la enumeración del directorio /mountpoint/ y no se mostrarán los UUID del grupo que estén montados allí.
- Del mismo modo, aunque el usuario puede cambiar el directorio a un directorio
/mountpoint/pool_uuid/
, no se admite la enumeración de ese directorio y no se mostrarán los UUID de los contenedores que estén montados allí. - Al ejecutar
fusermount3 -u /mountpoint
, se desmontarán todos los contenedores POSIX que se hayan montado de esta forma, así como los directorios/mountpoint/pool_uuid/
.
- Se puede acceder a la raíz de un contenedor POSIX montado de esta forma recorriendo la ruta, por ejemplo, cambiando el directorio a
Uso de subprocesos y recursos:
dfuse tiene dos tipos de hilos: hilos de FUSE, que aceptan y procesan solicitudes del kernel, e hilos de progreso, que completan operaciones de lectura/escritura asíncronas.
Cada hilo de progreso asíncrono usa una cola de eventos de DAOS para consumir recursos de red adicionales. Como todas las operaciones de metadatos son de bloqueo, el nivel de simultaneidad de dfuse está limitado por el número de subprocesos de FUSE.
De forma predeterminada, el recuento total de subprocesos es de uno por cada núcleo disponible para permitir el máximo rendimiento. Si se ha habilitado Hyper-Threading, se usa un hilo por núcleo de Hyper-Threading. Esto se puede modificar de dos formas: reduciendo el número de núcleos disponibles ejecutando dfuse en un cpuset a través de numactl
o herramientas similares, o bien usando las opciones --thread-count
, --eq-count
o --singlethread
:
- La opción
--thread-count
controla el número total de hilos. - Si aumentas la opción
--eq-count
a un valor fijo de--thread-count
, se reducirá el número de hilos de fusibles en consecuencia. El valor predeterminado de--eq-count
es1
. - El modo
--singlethread
usará un hilo para gestionar las solicitudes de fusión y un segundo hilo para una sola cola de eventos, lo que da un total de dos hilos.
Si dfuse se ejecuta en modo en segundo plano (el predeterminado, a menos que se inicie a través de mpirun), permanecerá en primer plano hasta que el montaje se registre en el kernel para permitir que se informen los errores correspondientes.
La opción -o
se puede usar para ejecutar dfuse a través de fstab o similar y acepta opciones de montaje estándar. Se tratará como una lista de pares clave-valor separados por comas y dfuse usará las claves pool=
y container=
de esta cadena.
El almacenamiento en caché está activado de forma predeterminada. El comportamiento de almacenamiento en caché de un montaje de dfuse se puede controlar mediante opciones de línea de comandos. Se pueden definir más controles de almacenamiento en caché por contenedor mediante atributos de contenedor.
- Si se usa la opción
--disable-caching
, no se realizará ningún almacenamiento en caché y no se usarán los atributos del contenedor. El valor predeterminado es--enable-caching
. - Si se usa
--disable-wb-cache
, las operaciones de escritura de todo el montaje se realizan en modo de escritura simultánea y se siguen usando los atributos del contenedor. El valor predeterminado es--enable-wb-cache
. - Si se especifican
--disable-caching
y--enable-wb-cache
, se ignorará la opción--enable-wb-cache
y no se realizará ningún almacenamiento en caché.