Nutzung: dfuse [OPTIONS] [mountpoint [pool container]]
Optionen:
-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 führt eine Bereitstellung eines DAOS-POSIX-Containers im Nutzerbereich im Verzeichnis des Bereitstellungspunkts aus, das als erstes Positionalargument angegeben wird. Dieses Verzeichnis muss vorhanden sein und für den Nutzer zugänglich sein, da sonst das Bereitstellen fehlschlägt.
Alternativ kann das Verzeichnis des Bereitstellungspunkts auch mit der Option -m
oder --mountpoint=
angegeben werden. Diese Verwendung wird jedoch nicht mehr unterstützt.
Der DAOS-Pool und der Container können auf verschiedene Arten angegeben werden. Es sollte nur eine Möglichkeit zur Angabe des Pools und des Containers verwendet werden:
- Der DAOS-Pool und der Container können in der Befehlszeile explizit als Positionalargumente mit UUIDs oder Labels angegeben werden. Dies ist die gängigste Methode, um mit dfuse einen POSIX-Container bereitzustellen.
- Der DAOS-Pool und der Container können in der Befehlszeile mit den Optionen
--pool
und--container
explizit mit UUIDs oder Labels angegeben werden. Diese Verwendung wird zugunsten von Positionsargumenten eingestellt. - Wenn die Option
--path
verwendet wird, werden DAOS-Namespaceattribute aus diesem Dateisystempfad geladen, einschließlich der DAOS-Pool- und Containerinformationen. - Wenn die Option
--path
nicht verwendet wird, wird auch das Verzeichnis des Bereitstellungspunkts geprüft und DAOS-Namespaceattribute werden von dort geladen, sofern vorhanden. - Wenn Sie den
-o
-Anmeldeoptionen-String verwenden, identifizieren die Schlüsselpool=
undcontainer=
im Anmeldeoptionen-String den DAOS-Pool und den Container. Wenn der Pool und der Container nicht mit einer dieser Methoden angegeben werden, erstellt dfuse Dateisystempfadnamen unter dem Bereitstellungspunkt. Dabei werden die Pool- und Container-UUIDs (nicht die Labels) von allen Pools und POSIX-Containern als Pfadkomponenten verwendet, auf die der Nutzer, der dfuse ausführt, Zugriff hat.
- Ein Pfad zu einem POSIX-Container, der auf diese Weise bereitgestellt wird, kann durchlaufen werden, um auf das Stammverzeichnis dieses Containers zuzugreifen, z. B. durch Ändern des Verzeichnisses in
/mountpoint/pool_uuid/cont_uuid/
. - Das Auflisten des Verzeichnisses „/mountpoint/“ wird jedoch nicht unterstützt und die dort bereitgestellten Pool-UUIDs werden nicht angezeigt.
- Ebenso kann der Nutzer das Verzeichnis in ein
/mountpoint/pool_uuid/
-Verzeichnis ändern, das Auflisten dieses Verzeichnisses wird jedoch nicht unterstützt und die dort bereitgestellten Container-UUIDs werden nicht angezeigt. - Wenn Sie
fusermount3 -u /mountpoint
ausführen, werden alle POSIX-Container, die auf diese Weise bereitgestellt wurden, sowie die/mountpoint/pool_uuid/
-Verzeichnisse getrennt.
- Ein Pfad zu einem POSIX-Container, der auf diese Weise bereitgestellt wird, kann durchlaufen werden, um auf das Stammverzeichnis dieses Containers zuzugreifen, z. B. durch Ändern des Verzeichnisses in
Threads und Ressourcennutzung:
Dfuse hat zwei Arten von Threads: Fuse-Threads, die Anfragen vom Kernel akzeptieren und verarbeiten, und Fortschritts-Threads, die asynchrone Lese-/Schreibvorgänge abschließen.
Jeder asynchrone Fortschritts-Thread verwendet eine DAOS-Ereigniswarteschlange, um zusätzliche Netzwerkressourcen zu verbrauchen. Da alle Metadatenvorgänge blockieren, ist die Parallelität in dfuse durch die Anzahl der Fuse-Threads begrenzt.
Standardmäßig ist die Gesamtzahl der Threads eins pro verfügbaren Kern, um einen maximalen Durchsatz zu ermöglichen. Wenn Hyper-Threading aktiviert ist, wird ein Thread pro Hyper-Threading-Kern verwendet. Das kann auf zwei Arten geändert werden: Sie können die Anzahl der verfügbaren Kerne reduzieren, indem Sie dfuse in einem CPU-Set über numactl
oder ähnliche Tools ausführen, oder Sie verwenden die Optionen --thread-count
, --eq-count
oder --singlethread
:
- Mit der Option
--thread-count
wird die Gesamtzahl der Threads gesteuert. - Wenn Sie die Option
--eq-count
bei einer festen--thread-count
erhöhen, wird die Anzahl der Sicherungsthreads entsprechend reduziert. Der Standardwert für--eq-count
ist1
. - Im Modus
--singlethread
wird ein Thread für die Verarbeitung von Fuse-Anfragen und ein zweiter Thread für eine einzelne Ereigniswarteschlange verwendet, also insgesamt zwei Threads.
Wenn dfuse im Hintergrundmodus ausgeführt wird (Standardeinstellung, sofern nicht über mpirun gestartet), bleibt es im Vordergrund, bis die Bereitstellung beim Kernel registriert ist, um eine entsprechende Fehlermeldung zu ermöglichen.
Mit der Option -o
können Sie dfuse über fstab oder eine ähnliche Datei ausführen. Sie akzeptiert standardmäßige Bereitstellungsoptionen. Dieser String wird als durch Kommas getrennte Liste von Schlüssel/Wert-Paaren behandelt. Dfuse verwendet die Schlüssel pool=
und container=
aus diesem String.
Das Caching ist standardmäßig aktiviert. Das Caching-Verhalten für eine dfuse-Bereitstellung kann über Befehlszeilenoptionen gesteuert werden. Weitere Caching-Einstellungen können über Containerattribute pro Container festgelegt werden.
- Wenn die Option
--disable-caching
verwendet wird, wird kein Caching durchgeführt und die Containerattribute werden nicht verwendet. Der Standardwert ist--enable-caching
. - Wenn
--disable-wb-cache
verwendet wird, werden die Schreibvorgänge für die gesamte Bereitstellung im Durchschreibemodus ausgeführt und die Containerattribute werden weiterhin verwendet. Der Standardwert ist--enable-wb-cache
. - Wenn sowohl
--disable-caching
als auch--enable-wb-cache
angegeben sind, wird die Option--enable-wb-cache
ignoriert und es erfolgt kein Caching.