uso: dfuse [OPTIONS] [mountpoint [pool container]]
Opções:
-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
O dfuse realiza uma montagem de espaço do usuário de um contêiner POSIX do DAOS no diretório de ponto de montagem
especificado como o primeiro argumento posicional. Esse diretório
precisa existir e ser acessível ao usuário. Caso contrário, a montagem vai falhar.
Como alternativa, o diretório de ponto de montagem também pode ser especificado com a opção -m
ou
--mountpoint=
, mas esse uso foi descontinuado.
O contêiner e o pool do DAOS podem ser especificados de várias maneiras. Só uma maneira de especificar o pool e o contêiner deve ser usada:
- O pool e o contêiner do DAOS podem ser especificados explicitamente na linha de comando como argumentos posicionais, usando UUIDs ou identificadores. Essa é a maneira mais comum de usar o dfuse para montar um contêiner POSIX.
- O pool e o contêiner do DAOS podem ser especificados explicitamente na linha de comando
usando as opções
--pool
e--container
, com UUIDs ou identificadores. Esse uso foi descontinuado para dar preferência aos argumentos posicionais. - Quando a opção
--path
é usada, os atributos do namespace DAOS são carregados desse caminho do sistema de arquivos, incluindo as informações do pool e do contêiner do DAOS. - Quando a opção
--path
não é usada, o diretório de ponto de montagem também é verificado, e os atributos do namespace DAOS são carregados a partir dele, se presentes. - Ao usar a string de opção de montagem
-o
, as chavespool=
econtainer=
na string de opção de montagem identificam o pool e o contêiner do DAOS. Quando o pool e o contêiner não são especificados por nenhum desses métodos, o dfuse constrói caminhos de arquivos do sistema de arquivos no ponto de montagem usando os UUIDs de pool e contêiner (não rótulos) de todos os pools e contêineres POSIX a que o usuário que executa o dfuse tem acesso como componentes de caminho.
- Um caminho para um contêiner POSIX montado dessa maneira pode ser percorrido para
acessar a raiz desse contêiner, por exemplo, mudando o diretório para
/mountpoint/pool_uuid/cont_uuid/
. - No entanto, a listagem do diretório /mountpoint/ não é compatível e não mostra os UUIDs do pool que são montados nele.
- Da mesma forma, embora o usuário possa mudar o diretório para um
diretório
/mountpoint/pool_uuid/
, a listagem desse diretório não é compatível e não mostra os UUIDs do contêiner que são montados nele. - A execução de
fusermount3 -u /mountpoint
desmontará todos os contêineres POSIX que foram montados dessa maneira, bem como os diretórios/mountpoint/pool_uuid/
.
- Um caminho para um contêiner POSIX montado dessa maneira pode ser percorrido para
acessar a raiz desse contêiner, por exemplo, mudando o diretório para
Uso de recursos e linhas de execução:
O dfuse tem dois tipos de linhas de execução: linhas de execução de fusão que aceitam e processam solicitações do kernel e linhas de execução de progresso que concluem operações de leitura/gravação assincronas.
Cada linha de execução de progresso assíncrona usa uma fila de eventos do DAOS para consumir mais recursos de rede. Como todas as operações de metadados estão bloqueadas, o nível de simultaneidade no dfuse é limitado pelo número de linhas de execução do fusível.
Por padrão, a contagem total de linhas de execução é de uma por núcleo disponível para permitir a taxa de transferência
máxima. Se o hyperthreading estiver ativado, uma linha de execução por núcleo de hyperthread
será usada. Isso pode ser modificado de duas maneiras: reduzindo o número de núcleos
disponíveis executando o dfuse em um cpuset usando numactl
ou ferramentas semelhantes
ou usando as opções --thread-count
, --eq-count
ou --singlethread
:
- A opção
--thread-count
controla o número total de linhas de execução. - Aumentar a opção
--eq-count
em um--thread-count
fixo reduz o número de linhas de execução de fusíveis. O valor padrão de--eq-count
é1
. - O modo
--singlethread
vai usar uma linha de execução para processar solicitações de fusível e uma segunda linha de execução para uma única fila de eventos, para um total de duas linhas de execução.
Se o dfuse estiver em execução no modo em segundo plano (padrão, a menos que seja iniciado pelo mpirun), ele vai permanecer em primeiro plano até que a montagem seja registrada no kernel para permitir o relatório de erros adequado.
A opção -o
pode ser usada para executar o dfuse por fstab ou algo semelhante e aceita
opções de montagem padrão. Isso será tratado como uma lista separada por vírgulas de
pares de chave-valor, e o dfuse vai usar as chaves pool=
e container=
dessa
string.
O armazenamento em cache fica ativado por padrão. O comportamento de armazenamento em cache de uma montagem dfuse pode ser controlado por opções de linha de comando. Outros controles de armazenamento em cache podem ser definidos por contêiner usando os atributos do contêiner.
- Se a opção
--disable-caching
for usada, nenhum armazenamento em cache será realizado e os atributos do contêiner não serão usados. O padrão é--enable-caching
. - Se
--disable-wb-cache
for usado, as operações de gravação para todo o montar serão realizadas no modo de gravação em massa, e os atributos do contêiner ainda serão usados. O padrão é--enable-wb-cache
. - Se
--disable-caching
e--enable-wb-cache
forem especificados, a opção--enable-wb-cache
será ignorada e nenhum armazenamento em cache será realizado.