검색

11.9. ceph-blustore-tool사용

download PDF

Ceph-bluestore-tool 은 BlueStore 인스턴스에서 낮은 수준의 관리 작업을 수행하는 유틸리티입니다.

ceph-bluestore-tool에서 다음 명령을 사용할 수 있습니다.

구문

ceph-bluestore-tool COMMAND [ --dev DEVICE … ] [ -i OSD_ID ] [ --path OSD_PATH ] [ --out-dir DIR ] [ --log-file | -l filename ] [ --deep ]

ceph-bluestore-tool fsck|repair --path OSD_PATH [ --deep ]

ceph-bluestore-tool qfsck --path OSD_PATH

ceph-bluestore-tool allocmap --path OSD_PATH

ceph-bluestore-tool restore_cfb --path OSD_PATH

ceph-bluestore-tool show-label --dev DEVICE …

ceph-bluestore-tool prime-osd-dir --dev DEVICE --path OSD_PATH

ceph-bluestore-tool bluefs-export --path OSD_PATH --out-dir DIR

ceph-bluestore-tool bluefs-bdev-new-wal --path OSD_PATH --dev-target NEW_DEVICE

ceph-bluestore-tool bluefs-bdev-new-db --path OSD_PATH --dev-target NEW_DEVICE

ceph-bluestore-tool bluefs-bdev-migrate --path OSD_PATH --dev-target NEW_DEVICE --devs-source DEVICE1 [--devs-source DEVICE2]

ceph-bluestore-tool free-dump|free-score --path OSD_PATH [ --allocator block/bluefs-wal/bluefs-db/bluefs-slow ]

ceph-bluestore-tool reshard --path OSD_PATH --sharding NEW_SHARDING [ --sharding-ctrl CONTROL_STRING ]

ceph-bluestore-tool show-sharding --path OSD_PATH

모든 BlueStore 블록 장치에는 장치 시작 시 단일 블록 레이블이 있습니다. 다음을 사용하여 라벨의 내용을 덤프할 수 있습니다.

ceph-bluestore-tool show-label --dev DEVICE

기본 장치에는 OSD 데이터 디렉터리의 작은 파일에 저장된 데 사용되는 정보를 포함하여 많은 메타데이터가 포함되어 있습니다. 보조 장치(db 및 wal)에는 OSD UUID, 크기, 장치 유형, 생년월일 시간 등 최소 필수 필드만 있습니다.

prime-osd-dir 명령을 사용하여 BlueStore OSD를 시작할 수 있는 OSD 데이터 디렉터리에 대한 콘텐츠를 생성합니다.

ceph-bluestore-tool prime-osd-dir --dev MAIN_DEVICE --path /var/lib/ceph/ceph-ID

표 11.2. ceph-bluestore-tool 명령
명령설명

help

도움말 표시

fsck [--deep]

옵션: on,off; yes,no; 1,0; 또는 true,false. BlueStore 메타데이터에서 일관성 검사를 실행합니다. --deep이 지정된 경우 모든 오브젝트 데이터를 읽고 체크섬을 확인합니다.

복구

일관성 검사를 실행하고 오류를 복구합니다.

qfsck

BlueStore 메타데이터에서 일관성 검사를 실행하여 al Cryostat 데이터를 ONodes 상태와 비교합니다. al Cryostat 데이터는 RocksDB CFB에서 제공되며, 존재하는 경우, allocation-file을 사용하지 않는 경우입니다.

allocmap

qfsck 에서 수행한 동일한 검사를 수행한 다음 새 allocation-file을 저장합니다. 이 명령은 기본적으로 비활성화되어 있으며 특수 빌드가 필요합니다.

restore_cfb

새 CryostatB 코드( ceph restart 또는 allocmap 명령을 실행할 때 또는 allocmap 명령을 실행하는 경우)에서 수행한 변경 사항을 리버스하고 RocksDB B Column-Family(al Cryostat-map)를 복원합니다.

bluefs-export

BlueFS의 콘텐츠를 출력 디렉터리로 내보냅니다.

bluefs-bdev-sizes --path OSD_PATH

BlueFS에서 이해한 대로 장치 크기를 stdout에 인쇄합니다.

bluefs-bdev-expand --path OSD_PATH

BlueFS에 블록 장치의 크기를 확인하도록 지시하고, 확장한 경우 추가 공간을 사용하도록 지시합니다. BlueFS에서 만든 새 파일만 사용 가능한 공간이 충분한 경우 기본 블록 장치에 할당되며, 느린 장치로 스푸핑된 기존 파일은 RocksDB가 압축을 수행할 때 점진적으로 제거됩니다. 즉, 느린 장치로 인해 데이터가 유출되면 시간이 지남에 따라 빠른 장치로 이동합니다.

bluefs-bdev-new-wal --path OSD_PATH --dev-target NEW_DEVICE

BlueFS에 WAL 장치를 추가합니다. WAL 장치가 이미 존재하는 경우 실패합니다.

bluefs-bdev-new-db --path OSD_PATH --dev-target NEW_DEVICE

DB 장치를 BlueFS에 추가, DB 장치가 이미 존재하는 경우 실패합니다.

bluefs-bdev-migrate --dev-target NEW_DEVICE --devs-source DEVICE1 [-devs-source DEVICE2]

BlueFS 데이터를 소스 장치에서 대상 장치로 이동하면 소스 장치(기본 장치 제외)가 성공적으로 제거됩니다. 대상 장치는 이미 연결되었거나 새 장치일 수 있습니다. 후자의 경우 소스 장치 중 하나를 교체하는 OSD에 추가됩니다. 대체 규칙이 적용되면(우선 우선 순위에서 중지), (1) 소스 목록에 DB 볼륨이 있는 경우 대상 장치가 대상 장치로 대체됩니다. (2) 소스 목록에 WAL 볼륨이 있는 경우 대상 장치가 이를 교체합니다. (3) 소스 목록에 느린 볼륨만 있는 경우 작업이 허용되지 않는 경우 new-db/new-wal 명령을 통해 명시적 할당이 필요합니다.

show-label --dev DEVICE […​]

모든 장치 레이블을 표시합니다.

free-dump --path OSD_PATH [ --al#159 block/bluefs-wal/bluefs-db/bluefs-slow ]

al Cryostat에서 모든 사용 가능한 리전을 덤프합니다.

free-score --path OSD_PATH [ --al#159 block/bluefs-wal/bluefs-db/bluefs-slow ]

[0-1] 수를 지정하여 조각화의 품질을 나타내는 값을 지정합니다. 0은 사용 가능한 모든 공간이 하나의 청크에 있는 경우를 나타냅니다. 1은 최악의 조각화 가능성을 나타냅니다.

reshard --path OSD_PATH --sharding NEW_SHARDING [ --resharding-ctrl CONTROL_STRING ]

BlueStore의 RocksDB 샤딩을 변경합니다. 샤딩은 RocksDB 열 제품군 위에 빌드됩니다. 이 옵션을 사용하면 OSD를 재배포하지 않고도 새 샤딩의 성능을 테스트할 수 있습니다. Resharding은 일반적으로 긴 프로세스로, 전체 RocksDB 키 공간을 통해 이동하고 그 중 일부를 다른 열 제품군으로 이동합니다. --resharding-ctrl 옵션은 복구 프로세스에 대한 성능 제어를 제공합니다. 중단된 재하드를 사용하면 OSD가 실행되지 않습니다. 중단된 복구는 데이터가 손상되지 않습니다. 항상 이전 재하드를 계속하거나 원래 상태로 되돌리는 것을 포함하여 다른 샤딩 스키마를 선택할 수 있습니다. 복구에 대한 자세한 내용은 BlueStore 관리자 도구를 사용하여 RocksDB 데이터베이스 복구의 OSD 수동 재 하드 섹션을 참조하십시오.

show-sharding --path OSD_PATH

현재 BlueStore의 RocksDB에 적용되는 샤딩을 표시합니다.

표 11.3. ceph-bluestore-tool 명령 옵션
명령 옵션설명

--dev DEVICE

고려할 장치 목록에 장치를 추가합니다.

-i OSD_ID

OSD OSD_ID 로 작동합니다. OSD 관련 옵션 모니터링에 연결합니다. 모니터를 사용할 수 없는 경우 대신 ceph.conf에서 읽을 수 있도록 --no-mon-config 를 추가합니다.

--devs-source DEVICE

장치를 마이그레이션 소스로 고려할 장치 목록에 추가합니다.

--dev-target DEVICE

새 DB/WAL을 추가하기 위해 추가할 대상 장치 마이그레이션 작업 또는 장치를 지정합니다.

--path OSD_PATH

OSD 경로를 지정합니다. 대부분의 경우 장치 목록은 osd 경로에 있는 심볼릭 링크에서 유추됩니다. 일반적으로 --dev로 장치를 명시적으로 지정하는 것보다 더 간단합니다. -i osd_id 가 제공되면 이 옵션이 필요하지 않습니다.

--out-dir DIR

bluefs-export 의 출력 디렉터리입니다.

-l,--log-file LOG_FILE

기록할 파일입니다.

--log-level NUM

디버그 로그 수준. 기본값은 30입니다(extremely verbose), 20은 매우 상세 정보이며 10은 상세 정보이며 1은 매우 상세하지 않습니다.

--deep

deep scrub/repair (메타데이터뿐만 아니라 오브젝트 데이터 읽기 및 유효성 확인).

--al Cryostat NAME

free-dump 및 free-score 작업에 유용합니다. al Cryostat를 선택합니다.

--resharding-ctrl CONTROL_STRING

Resharding 프로세스를 제어합니다. RocksDB Cryostat를 새로 고치는 빈도와 RocksDB로 커밋하기 전에 배치를 커밋해야 하는 크기를 지정합니다. 옵션 형식은 <iterator_refresh_bytes>/<iterator_refresh_keys>/<batch_commit_bytes>/<batch_commit_keys>입니다.

기본값: 10000000/10000/1000

프로세스

  1. ceph-bluestore-tool 을 사용하기 전에 OSD를 중지합니다.

    구문

    ceph orch daemon stop osd.ID

    예제

    [ceph: root@host01 /]# ceph orch daemon stop osd.2

  2. OSD 노드에서 대상 OSD 컨테이너에 로그인합니다.

    구문

    cephadm shell --name osd.ID

    예제

    [ceph: root@host01 /]# ceph shell --name osd.2

  3. 필요한 명령을 실행합니다.

    예제

    [ceph: root@host01 /]# ceph-bluestore-tool bluefs-bdev-new-wal --dev-target /dev/test/newdb --path /var/lib/ceph/osd/ceph-0

    참고

    이 예제에서는 새 wal 장치를 추가하는 방법을 보여줍니다.

  4. cephadm 쉘에서 OSD를 다시 시작합니다.

    구문

    ceph orch daemon start osd.ID

    예제

    [ceph: root@host01 /]# ceph orch daemon start osd.2

추가 리소스

BlueStore 구성 옵션에 대한 자세한 내용은 BlueStore 구성 옵션을 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.