Skip to main content
ClickHouse 디스크에서 파일 시스템과 유사한 작업을 수행할 수 있는 유틸리티입니다. 대화형 모드와 비대화형 모드 모두에서 사용할 수 있습니다.

프로그램 전체 옵션

  • --config-file, -C — ClickHouse 구성 파일 경로이며, 기본값은 /etc/clickhouse-server/config.xml입니다.
  • --save-logs — 호출된 명령의 진행 로그를 /var/log/clickhouse-server/clickhouse-disks.log에 기록합니다.
  • --log-level — 기록할 이벤트의 유형이며, 기본값은 none입니다.
  • --diskmkdir, move, read, write, remove 명령에 사용할 디스크를 지정합니다. 기본값은 default입니다.
  • --query, -q — 대화형 모드를 시작하지 않고 실행할 수 있는 단일 쿼리입니다.
  • --help, -h — 설명과 함께 모든 옵션과 명령을 출력합니다.

지연 초기화

config에서 사용할 수 있는 모든 디스크는 지연 초기화됩니다. 즉, 디스크에 해당하는 객체는 해당 디스크가 어떤 명령에서 실제로 사용될 때만 초기화됩니다. 이렇게 하는 이유는 유틸리티의 안정성을 높이고, config에 정의되어 있지만 사용되지 않아 초기화 과정에서 실패할 수 있는 디스크에 불필요하게 접근하지 않기 위해서입니다. 다만, clickhouse-disks를 시작할 때 초기화되는 디스크가 하나는 있어야 합니다. 이 디스크는 명령줄의 --disk 매개변수로 지정하며, 기본값은 default입니다.

기본 디스크

실행 후에는 구성에 지정되지 않았지만 초기화에 사용할 수 있는 디스크가 2개 있습니다.
  1. local 디스크: 이 디스크는 clickhouse-disks 유틸리티를 실행한 로컬 파일 시스템을 모방하도록 설계되었습니다. 초기 경로는 clickhouse-disks를 시작한 디렉터리이며, 파일 시스템의 루트 디렉터리에 마운트됩니다.
  2. default 디스크: 이 디스크는 구성의 clickhouse/path 매개변수에 지정된 디렉터리의 로컬 파일 시스템에 마운트됩니다(기본값은 /var/lib/clickhouse입니다). 초기 경로는 /로 설정됩니다.

Clickhouse-disks 상태

유틸리티는 추가된 각 디스크의 현재 디렉터리를 저장합니다(일반적인 파일 시스템과 마찬가지임). 사용자는 현재 디렉터리를 변경하고 디스크 간에 전환할 수 있습니다. 상태는 “disk_name:path_name” 형태의 프롬프트에 반영됩니다.

명령어

이 문서 파일에서는 모든 필수 위치 인수를 <parameter>로, 이름 있는 인수는 [--parameter value]로 표기합니다. 모든 위치 매개변수는 해당하는 이름의 이름 있는 매개변수로도 지정할 수 있습니다.
  • cd (change-dir, change_dir) [--disk disk] <path> disk 디스크의 path 경로로 디렉터리를 변경합니다(기본값은 현재 디스크). 디스크는 전환되지 않습니다.
  • copy (cp) [--disk-from disk_1] [--disk-to disk_2] <path-from> <path-to>. disk_1 디스크의 path-from에서 path-to로 데이터를 재귀적으로 복사합니다(disk_1의 기본값은 현재 디스크이며, 비대화형 모드에서는 매개변수 disk). 대상은 disk_2 디스크의 path-to입니다(disk_2의 기본값은 현재 디스크이며, 비대화형 모드에서는 매개변수 disk).
  • current_disk_with_path (current, current_disk, current_path) 현재 상태를 다음 포맷으로 출력합니다: Disk: "current_disk" Path: "current path on current disk"
  • du [--human-readable] [<path>] 현재 디스크의 path에 있는 파일 또는 디렉터리의 전체 크기를 바이트 단위로 출력합니다. 디렉터리인 경우 포함된 모든 파일의 크기를 재귀적으로 합산합니다. path를 지정하지 않으면 현재 디렉터리를 사용합니다. --human-readable(-h)를 사용하면 크기를 사람이 읽기 쉬운 포맷(예: 1.23 GiB)으로 출력합니다.
  • help [<command>] command 명령어의 도움말 메시지를 출력합니다. command를 지정하지 않으면 모든 명령어에 대한 정보를 출력합니다.
  • move (mv) <path-from> <path-to>. 현재 디스크 내에서 파일 또는 디렉터리를 path-from에서 path-to로 이동합니다.
  • remove (rm, delete) <path>. 현재 디스크에서 path를 재귀적으로 삭제합니다.
  • link (ln) <path-from> <path-to>. 현재 디스크에서 path-from에서 path-to로 하드 링크를 생성합니다.
  • list (ls) [--recursive] <path> 현재 디스크의 path에 있는 파일을 나열합니다. 기본값은 비재귀입니다.
  • list-disks (list_disks, ls-disks, ls_disks). 디스크 이름을 나열합니다.
  • mkdir [--recursive] <path> 현재 디스크에서 실행합니다. 디렉터리를 생성합니다. 기본값은 비재귀입니다.
  • read (r) <path-from> [--path-to path] path-from의 파일을 읽어 path로 출력합니다(지정하지 않으면 stdout).
  • read-bitmap <path-from> [--values] path-from에 있는 delete-bitmap(.rbm) 사이드카를 검사합니다. 매직과 버전, CRC 유효성, 카디널리티(삭제된 행 수), 그리고 행 범위를 출력합니다. --values를 사용하면 모든 set bits(삭제된 행 오프셋)도 오름차순으로 덤프합니다.
  • switch-disk [--path path] <disk> path 경로의 disk 디스크로 전환합니다(path를 지정하지 않으면 기본값은 disk 디스크의 이전 경로).
  • write (w) [--path-from path] <path-to>. path의 파일을 path-to에 씁니다(path를 지정하지 않으면 stdin을 사용하며, 입력은 Ctrl+D로 종료해야 합니다).
  • wc <path> [--bytes] [--lines] [--words] 현재 디스크의 path에 있는 파일의 바이트 수, 줄 수, 단어 수를 계산합니다(Unix wc와 동일). 플래그를 지정하지 않으면 세 가지 개수를 줄 수, 단어 수, 바이트 수 순서로 모두 출력합니다. 특정 개수만 선택하려면 --bytes(-c), --lines(-l), --words(-w)를 사용합니다.
  • sed <expression> <path> 현재 디스크의 path에 있는 파일에 sed expression을 제자리에서 적용합니다. 호스트에 sed가 설치되어 있어야 합니다. 옵션 없이 단일 sed 표현식만 지원합니다(예: 's/foo/bar/g', '/foo/d'). 여러 표현식(-e ... -e ...)이나 주소와 함께 사용하는 옵션(예: 4,10p와 함께 사용하는 -n)은 지원하지 않습니다.
  • read-checksums <path> 현재 디스크에 있는 MergeTree 데이터 파트의 checksums.txt 파일을 읽어 stdout에 탭으로 구분된 사람이 읽기 쉬운 표로 출력합니다. 컬럼은 name, file_size, file_hash, uncompressed_size, uncompressed_hash입니다. 마지막 두 컬럼은 압축된 파일에만 존재합니다.
마지막 수정일 2026년 7월 23일