11.6. BlueStore 관리자 툴을 사용하여 RocksDB 데이터베이스 다시 배치
BlueStore 관리자 도구를 사용하여 데이터베이스를 다시 배치 할 수 있습니다. OSD를 재배포하지 않고 BlueStore의 RocksDB 데이터베이스를 한 모양에서 다른 여러 열 제품군으로 변환합니다. 열 제품군은 전체 데이터베이스와 동일한 기능을 가지고 있지만 사용자가 더 작은 데이터 세트에서 작동하고 다른 옵션을 적용할 수 있습니다. 저장된 키의 예상 다른 수명을 활용합니다. 새 키를 생성하거나 기존 키를 삭제하지 않고 변환 중에 키를 이동합니다.
OSD를 복구하는 방법은 다음 두 가지가 있습니다.
-
rocksdb-resharding.yml
플레이북을 사용합니다. - OSD를 수동으로 재하드합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- BlueStore로 구성된 오브젝트 저장소입니다.
- 호스트에 배포된 OSD 노드
- 모든 호스트에 대한 루트 수준 액세스.
-
모든 호스트에 설치된
ceph-common
및cephadm
패키지입니다.
11.6.1. rocksdb-resharding.yml 플레이북 사용 링크 복사링크가 클립보드에 복사되었습니다!
root 사용자로 관리 노드에서 플레이북이 설치된
cephadm
폴더로 이동합니다.예제
cd /usr/share/cephadm-ansible
[root@host01 ~]# cd /usr/share/cephadm-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북을 실행합니다.
구문
ansible-playbook -i hosts rocksdb-resharding.yml -e osd_id=OSD_ID -e admin_node=HOST_NAME
ansible-playbook -i hosts rocksdb-resharding.yml -e osd_id=OSD_ID -e admin_node=HOST_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복구가 완료되었는지 확인합니다.
재하드된 OSD를 중지합니다.
예제
[ceph: root@host01 /]# ceph orch daemon stop osd.7
[ceph: root@host01 /]# ceph orch daemon stop osd.7
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 컨테이너를 입력합니다.
예제
cephadm shell --name osd.7
[root@host03 ~]# cephadm shell --name osd.7
Copy to Clipboard Copied! Toggle word wrap Toggle overflow resharding을 확인합니다.
예제
[ceph: root@host03 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-7/ show-sharding m(3) p(3,0-12) O(3,0-13) L P
[ceph: root@host03 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-7/ show-sharding m(3) p(3,0-12) O(3,0-13) L P
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD를 시작합니다.
예제
[ceph: root@host01 /]# ceph orch daemon start osd.7
[ceph: root@host01 /]# ceph orch daemon start osd.7
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.6.2. OSD 수동 복구 링크 복사링크가 클립보드에 복사되었습니다!
cephadm
쉘에 로그인합니다.예제
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 관리 노드에서 OSD_ID 및 호스트 세부 정보를 가져옵니다.
예제
[ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph orch ps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 해당 호스트에
root
사용자로 로그인하여 OSD를 중지합니다.구문
cephadm unit --name OSD_ID stop
cephadm unit --name OSD_ID stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
cephadm unit --name osd.0 stop
[root@host02 ~]# cephadm unit --name osd.0 stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중지된 OSD 데몬 컨테이너에 입력합니다.
구문
cephadm shell --name OSD_ID
cephadm shell --name OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
cephadm shell --name osd.0
[root@host02 ~]# cephadm shell --name osd.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm 쉘에
로그인하고 파일 시스템의 일관성을 확인합니다.구문
ceph-bluestore-tool --path/var/lib/ceph/osd/ceph-OSD_ID/ fsck
ceph-bluestore-tool --path/var/lib/ceph/osd/ceph-OSD_ID/ fsck
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-0/ fsck fsck success
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-0/ fsck fsck success
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 노드의 분할 상태를 확인합니다.
구문
ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding
ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding m(3) p(3,0-12) O(3,0-13) L P
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding m(3) p(3,0-12) O(3,0-13) L P
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-bluestore-tool
명령을 실행하여 하드를 다시 실행합니다. Red Hat은 명령에 지정된 대로 매개변수를 사용하는 것이 좋습니다.구문
ceph-bluestore-tool --log-level 10 -l log.txt --path /var/lib/ceph/osd/ceph-OSD_ID/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard
ceph-bluestore-tool --log-level 10 -l log.txt --path /var/lib/ceph/osd/ceph-OSD_ID/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard reshard success
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard reshard success
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 노드의 분할 상태를 확인하려면
show-sharding
명령을 실행합니다.구문
ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding
ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm
쉘을 종료합니다.[ceph: root@host02 /]# exit
[ceph: root@host02 /]# exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 해당 호스트에
root
사용자로 로그인하고 OSD를 시작합니다.구문
cephadm unit --name OSD_ID start
cephadm unit --name OSD_ID start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
cephadm unit --name osd.0 start
[root@host02 ~]# cephadm unit --name osd.0 start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow