Referencia de dfuse

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 una activación del espacio de usuario de un contenedor de DAOS POSIX en el directorio de activación que se especifica como el primer argumento posicional. Este directorio debe existir y el usuario debe poder acceder a él, de lo contrario, se producirá un error de activación. Como alternativa, el directorio del punto de activación también se puede especificar con la opción -m o --mountpoint=, pero este uso dejó de estar disponible.

El grupo y el contenedor de DAOS se pueden especificar de varias maneras. Solo se debe usar una forma de especificar el grupo y el contenedor:

  • El grupo y el contenedor de DAOS se pueden especificar de forma explícita en la línea de comandos como argumentos posicionales, con UUIDs o etiquetas. Esta es la forma más común de usar dfuse para activar un contenedor POSIX.
  • El grupo y el contenedor de DAOS se pueden especificar de forma explícita en la línea de comandos con las opciones --pool y --container, con UUIDs o etiquetas. Este uso dejó de estar disponible y se reemplazó por el uso de argumentos posicionales.
  • Cuando se usa la opción --path, los atributos del espacio de nombres de DAOS se cargan desde esa ruta de acceso del sistema de archivos, incluida la información del grupo y el contenedor de DAOS.
  • Cuando no se usa la opción --path, también se verificará el directorio del punto de activación y, si están presentes, se cargarán los atributos del espacio de nombres de DAOS desde allí.
  • Cuando se usa la cadena de opciones de activación -o, las claves pool= y container= de la cadena de opciones de activación identifican el grupo y el contenedor de DAOS.
  • Cuando no se especifiquen el grupo y el contenedor a través de ninguno de estos métodos, dfuse construirá las rutas de acceso del sistema de archivos en el punto de activación con los UUIDs del grupo y del contenedor (no las etiquetas) de todos los grupos y contenedores POSIX a los que el usuario que ejecuta dfuse tiene acceso como componentes de ruta de acceso.

    • Se puede recorrer una ruta de acceso a un contenedor POSIX que se activa de esta manera para acceder a la raíz de ese contenedor, 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 UUIDs del grupo que se montan allí.
    • Del mismo modo, si bien el usuario puede cambiar de directorio a un directorio /mountpoint/pool_uuid/, no se admite la enumeración de ese directorio y no se mostrarán los UUIDs del contenedor que se activan allí.
    • Si ejecutas fusermount3 -u /mountpoint, se desmontarán todos los contenedores de POSIX que se hayan activado de esta manera, así como los directorios /mountpoint/pool_uuid/.

Subprocesos y uso de recursos:

dfuse tiene dos tipos de subprocesos: subprocesos de fuse que aceptan y procesan solicitudes del kernel, y subprocesos de progreso que completan operaciones de lectura y escritura asíncronas.

Cada subproceso de progreso asíncrono usa una cola de eventos de DAOS para consumir recursos de red adicionales. Como todas las operaciones de metadatos están bloqueadas, el nivel de simultaneidad en dfuse se limita por la cantidad de subprocesos de fuse.

De forma predeterminada, el recuento total de subprocesos es uno por núcleo disponible para permitir la máxima productividad. Si está habilitada, se usa un subproceso por núcleo de hipersubproceso. Esto se puede modificar de dos maneras: reduciendo la cantidad de núcleos disponibles ejecutando dfuse en un conjunto de CPU 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 la cantidad total de subprocesos.
  • Si aumentas la opción --eq-count en un --thread-count fijo, se reducirá la cantidad de subprocesos de fusibles según corresponda. El valor predeterminado para --eq-count es 1.
  • El modo --singlethread usará un subproceso para controlar las solicitudes de fusibles y un segundo subproceso para una sola cola de eventos, por lo que tendrá un total de dos subprocesos.

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 activador se registre en el kernel para permitir los informes de errores adecuados.

La opción -o se puede usar para ejecutar dfuse a través de fstab o un comando similar, y acepta opciones de activación estándar. Se tratará como una lista separada por comas de pares clave=valor, 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 una activación de dfuse se puede controlar con opciones de línea de comandos. Se pueden establecer más controles de almacenamiento en caché por contenedor a través de los atributos del contenedor.

  • Si se usa la opción --disable-caching, no se realizará el almacenamiento en caché ni se usarán los atributos del contenedor. El valor predeterminado es --enable-caching.
  • Si se usa --disable-wb-cache, las operaciones de escritura para todo el activado se realizan en modo de escritura a través y los atributos del contenedor aún se usan. El valor predeterminado es --enable-wb-cache.
  • Si se especifican --disable-caching y --enable-wb-cache, se ignora la opción --enable-wb-cache y no se realiza el almacenamiento en caché.