Utilisation : dfuse [OPTIONS] [mountpoint [pool container]]
Options :
-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 effectue une installation dans l'espace utilisateur d'un conteneur POSIX DAOS au niveau du répertoire de point d'installation spécifié comme premier argument de position. Ce répertoire doit exister et être accessible à l'utilisateur, sinon l'installation échouera.
Vous pouvez également spécifier le répertoire de point d'installation avec l'option -m
ou --mountpoint=
, mais cette utilisation est obsolète.
Le pool et le conteneur DAOS peuvent être spécifiés de différentes manières. Vous ne devez utiliser qu'une seule méthode pour spécifier le pool et le conteneur:
- Le pool et le conteneur DAOS peuvent être spécifiés explicitement sur la ligne de commande en tant qu'arguments de position, à l'aide d'UUID ou de libellés. Il s'agit de la méthode la plus courante pour utiliser dfuse pour installer un conteneur POSIX.
- Le pool et le conteneur DAOS peuvent être spécifiés explicitement sur la ligne de commande à l'aide des options
--pool
et--container
, avec des UUID ou des libellés. Cette utilisation est obsolète et remplacée par l'utilisation d'arguments positionnels. - Lorsque l'option
--path
est utilisée, les attributs d'espace de noms DAOS sont chargés à partir de ce chemin d'accès au système de fichiers, y compris les informations sur le pool et le conteneur DAOS. - Lorsque l'option
--path
n'est pas utilisée, le répertoire du point d'installation est également vérifié et les attributs d'espace de noms DAOS sont chargés à partir de là, le cas échéant. - Lorsque vous utilisez la chaîne d'options de montage
-o
, les cléspool=
etcontainer=
de la chaîne d'options de montage identifient le pool et le conteneur DAOS. Lorsque le pool et le conteneur ne sont pas spécifiés par l'une de ces méthodes, dfuse construit des chemins d'accès au système de fichiers sous le point d'installation à l'aide des UUID (et non des libellés) du pool et du conteneur de tous les pools et conteneurs POSIX auxquels l'utilisateur exécutant dfuse a accès en tant que composants de chemin d'accès.
- Un chemin d'accès à un conteneur POSIX installé de cette manière peut être parcouru pour accéder à la racine de ce conteneur, par exemple en remplaçant le répertoire par
/mountpoint/pool_uuid/cont_uuid/
. - Toutefois, la liste du répertoire /mountpoint/ n'est pas prise en charge et n'affiche pas les UUID de pool qui y sont installés.
- De même, bien que l'utilisateur puisse remplacer un répertoire par un répertoire
/mountpoint/pool_uuid/
, la liste de ce répertoire n'est pas prise en charge et n'affiche pas les UUID de conteneur qui y sont installés. - L'exécution de
fusermount3 -u /mountpoint
désinstalle tous les conteneurs POSIX qui ont été installés de cette manière, ainsi que les répertoires/mountpoint/pool_uuid/
.
- Un chemin d'accès à un conteneur POSIX installé de cette manière peut être parcouru pour accéder à la racine de ce conteneur, par exemple en remplaçant le répertoire par
Multithreading et utilisation des ressources:
dfuse comporte deux types de threads: les threads fuse qui acceptent et traitent les requêtes du noyau, et les threads de progression qui effectuent des opérations de lecture/écriture asynchrones.
Chaque thread de progression asynchrone utilise une file d'événements DAOS pour consommer des ressources réseau supplémentaires. Comme toutes les opérations de métadonnées sont bloquantes, le niveau de simultanéité dans dfuse est limité par le nombre de threads de fusible.
Par défaut, le nombre total de threads est de un par cœur disponible pour permettre une bande passante maximale. Si l'Hyper-Threading est activé, un thread par cœur Hyper-Threading est utilisé. Vous pouvez modifier ce paramètre de deux manières: en réduisant le nombre de cœurs disponibles en exécutant dfuse dans un cpuset via numactl
ou des outils similaires, ou en utilisant les options --thread-count
, --eq-count
ou --singlethread
:
- L'option
--thread-count
contrôle le nombre total de threads. - Augmenter l'option
--eq-count
à un--thread-count
fixe réduit le nombre de threads de fusible en conséquence. La valeur par défaut de--eq-count
est1
. - Le mode
--singlethread
utilise un thread pour gérer les requêtes de fusible et un deuxième thread pour une seule file d'événements, soit un total de deux threads.
Si dfuse s'exécute en mode arrière-plan (valeur par défaut, sauf si lancé via mpirun), il reste au premier plan jusqu'à ce que le montage soit enregistré auprès du noyau pour permettre un signalement d'erreur approprié.
L'option -o
peut être utilisée pour exécuter dfuse via fstab ou un outil similaire, et accepte les options de montage standards. Il sera traité comme une liste de paires clé=valeur séparées par une virgule, et dfuse utilisera les clés pool=
et container=
de cette chaîne.
La mise en cache est activée par défaut. Le comportement de mise en cache d'un montage dfuse peut être contrôlé par des options de ligne de commande. D'autres commandes de mise en cache peuvent être définies par conteneur via les attributs de conteneur.
- Si l'option
--disable-caching
est utilisée, aucune mise en cache n'est effectuée et les attributs du conteneur ne sont pas utilisés. La valeur par défaut est--enable-caching
. - Si
--disable-wb-cache
est utilisé, les opérations d'écriture pour l'ensemble du montage sont effectuées en mode write-through, et les attributs du conteneur sont toujours utilisés. La valeur par défaut est--enable-wb-cache
. - Si
--disable-caching
et--enable-wb-cache
sont tous deux spécifiés, l'option--enable-wb-cache
est ignorée et aucune mise en cache n'est effectuée.