사용법: dfuse [OPTIONS] [mountpoint [pool container]]
옵션:
-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는 첫 번째 위치 인수로 지정된 마운트 지점 디렉터리에서 DAOS POSIX 컨테이너의 사용자 공간 마운트를 실행합니다. 이 디렉터리는 존재해야 하며 사용자가 액세스할 수 있어야 합니다. 그러지 않으면 마운트가 실패합니다.
또는 -m
또는 --mountpoint=
옵션으로 마운트 포인트 디렉터리를 지정할 수도 있지만 이 사용법은 지원 중단되었습니다.
DAOS 풀과 컨테이너는 여러 가지 방법으로 지정할 수 있습니다. 풀과 컨테이너를 지정하는 방법은 하나만 사용해야 합니다.
- DAOS 풀과 컨테이너는 UUID 또는 라벨을 사용하여 명령줄에서 위치 인수로 명시적으로 지정할 수 있습니다. 이는 dfuse를 사용하여 POSIX 컨테이너를 마운트하는 가장 일반적인 방법입니다.
- DAOS 풀과 컨테이너는 UUID 또는 라벨과 함께
--pool
및--container
옵션을 사용하여 명령줄에서 명시적으로 지정할 수 있습니다. 이 사용법은 위치 인수를 사용하는 대신 지원 중단되었습니다. --path
옵션을 사용하면 DAOS 풀 및 컨테이너 정보를 비롯하여 DAOS 네임스페이스 속성이 해당 파일 시스템 경로에서 로드됩니다.--path
옵션을 사용하지 않으면 마운트 포인트 디렉터리도 확인되고 DAOS 네임스페이스 속성이 있는 경우 거기에서 로드됩니다.-o
마운트 옵션 문자열을 사용하는 경우 마운트 옵션 문자열의pool=
및container=
키는 DAOS 풀과 컨테이너를 식별합니다.이러한 메서드를 통해 풀과 컨테이너가 지정되지 않은 경우 dfuse는 dfuse를 실행하는 사용자가 액세스할 수 있는 모든 풀과 POSIX 컨테이너의 풀 및 컨테이너 UUID (라벨 아님)를 사용하여 마운트 지점 아래에 파일 시스템 경로 이름을 생성합니다.
- 이러한 방식으로 마운트된 POSIX 컨테이너의 경로는 디렉터리를
/mountpoint/pool_uuid/cont_uuid/
로 변경하는 등의 방법으로 해당 컨테이너의 루트에 액세스하기 위해 이동할 수 있습니다. - 그러나 /mountpoint/ 디렉터리를 나열하는 것은 지원되지 않으며 여기에 마운트된 풀 UUID가 표시되지 않습니다.
- 마찬가지로 사용자가 디렉터리를
/mountpoint/pool_uuid/
디렉터리로 변경할 수 있지만 해당 디렉터리를 나열하는 것은 지원되지 않으며 여기에 마운트된 컨테이너 UUID가 표시되지 않습니다. fusermount3 -u /mountpoint
를 실행하면 이 방식으로 마운트된 모든 POSIX 컨테이너와/mountpoint/pool_uuid/
디렉터리가 마운트 해제됩니다.
- 이러한 방식으로 마운트된 POSIX 컨테이너의 경로는 디렉터리를
스레딩 및 리소스 사용:
dfuse에는 커널의 요청을 수락하고 처리하는 퓨즈 스레드와 비동기 읽기/쓰기 작업을 완료하는 진행 스레드라는 두 가지 유형의 스레드가 있습니다.
각 비동기 진행 스레드는 하나의 DAOS 이벤트 큐를 사용하여 추가 네트워크 리소스를 사용합니다. 모든 메타데이터 작업은 차단되므로 dfuse의 동시 실행 수준은 퓨즈 스레드 수로 제한됩니다.
기본적으로 총 스레드 수는 최대 처리량을 허용하기 위해 사용 가능한 코어당 1개입니다. 하이퍼 스레딩이 사용 설정된 경우 하이퍼 스레드 코어당 스레드 하나가 사용됩니다. 이는 두 가지 방법으로 수정할 수 있습니다. numactl
또는 유사한 도구를 통해 cpuset에서 dfuse를 실행하여 사용 가능한 코어 수를 줄이거나 --thread-count
, --eq-count
또는 --singlethread
옵션을 사용하는 것입니다.
--thread-count
옵션은 총 스레드 수를 제어합니다.- 고정된
--thread-count
에서--eq-count
옵션을 늘리면 그에 따라 퓨즈 스레드 수가 줄어듭니다.--eq-count
의 기본값은1
입니다. --singlethread
모드는 퓨즈 요청을 처리하는 데 하나의 스레드와 단일 이벤트 큐에 두 번째 스레드를 사용하여 총 2개의 스레드를 사용합니다.
dfuse가 백그라운드 모드 (mpirun을 통해 실행하지 않는 한 기본값)에서 실행 중인 경우 적절한 오류 보고를 허용하도록 마운트가 커널에 등록될 때까지 포그라운드에 유지됩니다.
-o
옵션은 fstab 또는 유사한 것을 통해 dfuse를 실행하는 데 사용할 수 있으며 표준 마운트 옵션을 허용합니다. 이는 키=값 쌍의 쉼표로 구분된 목록으로 처리되며 dfuse는 이 문자열의 pool=
및 container=
키를 사용합니다.
캐싱은 기본적으로 사용 설정되어 있습니다. dfuse 마운트의 캐싱 동작은 명령줄 옵션으로 제어할 수 있습니다. 컨테이너 속성을 통해 컨테이너별로 추가 캐싱 제어를 설정할 수 있습니다.
--disable-caching
옵션을 사용하면 캐싱이 실행되지 않으며 컨테이너 속성이 사용되지 않습니다. 기본값은--enable-caching
입니다.--disable-wb-cache
를 사용하면 전체 마운트의 쓰기 작업이 쓰기 전달 모드로 실행되고 컨테이너 속성은 계속 사용됩니다. 기본값은--enable-wb-cache
입니다.--disable-caching
와--enable-wb-cache
가 모두 지정되면--enable-wb-cache
옵션이 무시되고 캐싱이 실행되지 않습니다.