15.2. Ceph Storage 노드 축소 및 교체
Ceph Storage 클러스터를 축소하거나 Ceph Storage 노드를 교체해야 하는 경우도 있습니다. 두 경우 모두 데이터 손실을 방지하기 위해 오버클라우드에서 삭제하려는 Ceph Storage 노드를 비활성화하고 재조정해야 합니다.
Ceph Storage 클러스터에 OSD를 손실할 수 있는 용량이 없는 경우 이 절차를 진행하지 마십시오.
-
오버클라우드 컨트롤러 노드에
tripleo-admin사용자로 로그인합니다. -
sudo cephadm shell명령을 사용하여 Ceph 쉘을 시작합니다. ceph osd tree명령을 사용하여 서버에서 제거할 OSD를 식별합니다.다음 예제에서는
ceph-2호스트의 OSD를 식별하려고 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 클러스터 사양을 YAML 파일로 내보냅니다.
[ceph: root@oc0-controller-0 /]# ceph orch ls --export > spec.yml
[ceph: root@oc0-controller-0 /]# ceph orch ls --export > spec.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
적용 가능한 호스트가
service-type: osd 호스트 목록에서 제거되고 해당 호스트에값이 제거되도록 내보낸 사양 파일을 편집합니다.placement: hosts - 편집한 파일을 저장합니다.
수정된 Ceph 사양 파일을 적용합니다.
[ceph: root@oc0-controller-0 /]# ceph orch apply -i spec.yml
[ceph: root@oc0-controller-0 /]# ceph orch apply -i spec.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요OSD를 제거하기 전에 Ceph 사양 파일을 내보내고 편집하지 않으면 Ceph Manager에서 OSD를 다시 생성합니다.
ceph orch osd rm --zap <osd_list> 명령을 사용하여 OSD를 제거합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch osd status명령을 사용하여 OSD 제거 상태를 확인합니다.[ceph: root@oc0-controller-0 /]# ceph orch osd rm status OSD_ID HOST STATE PG_COUNT REPLACE FORCE DRAIN_STARTED_AT 7 ceph-2 draining 34 False False 2021-04-23 21:35:51.215361 11 ceph-2 draining 14 False False 2021-04-23 21:35:50.243762
[ceph: root@oc0-controller-0 /]# ceph orch osd rm status OSD_ID HOST STATE PG_COUNT REPLACE FORCE DRAIN_STARTED_AT 7 ceph-2 draining 34 False False 2021-04-23 21:35:51.215361 11 ceph-2 draining 14 False False 2021-04-23 21:35:50.243762Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의이 명령에서 결과를 반환하지 않을 때까지 다음 단계를 진행하지 마십시오.
ceph orch host drain <HOST>명령을 사용하여 나머지 데몬을 드레이닝합니다.[ceph: root@oc0-controller-0 /]# ceph orch host drain ceph-2
[ceph: root@oc0-controller-0 /]# ceph orch host drain ceph-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch host rm <HOST> 명령을 사용하여 호스트를 제거합니다.[ceph: root@oc0-controller-0 /]# ceph orch host rm ceph-2
[ceph: root@oc0-controller-0 /]# ceph orch host rm ceph-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Ceph 쉘 세션을 종료합니다.
-
tripleo-admin계정에서 로그아웃합니다. -
stack사용자로 언더클라우드 노드에 로그인합니다. 다음과 같은 방법으로
~/overcloud-baremetal-deploy.yaml을 수정합니다.-
축소할 역할의
count속성을 줄입니다. 프로비저닝 해제 중인 각 노드의
instances항목을 추가합니다. 각 항목에는 다음이 포함되어야 합니다.-
baremetal 노드의
이름입니다. -
해당
노드에 할당된 호스트이름입니다. 프로비저닝: falsevalue.다음 예제에서는
overcloud-compute-1노드를 삭제합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
baremetal 노드의
-
축소할 역할의
openstack overcloud node delete명령을 사용하여 노드를 삭제합니다.openstack overcloud node delete \ --stack overcloud \ --baremetal-deployment ~/overcloud-baremetal-deploy.yaml
openstack overcloud node delete \ --stack overcloud \ --baremetal-deployment ~/overcloud-baremetal-deploy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고삭제할 노드 목록에 노드가 삭제되기 전에 확인 프롬프트가 제공됩니다.
Ceph 클러스터를 축소하면 노드가 나중에 복원되고 노드가 나중에 복원되면 확장 작업을 늘리며 이전에 provisioned: false 를 설정한 노드에서 provisioned: true 를 설정할 수 있습니다. 노드를 재사용하지 않으면 provisioned: false 를 무기한 설정하고 확장 작업을 수행하면 새 인스턴스 항목을 지정할 수 있습니다.
+ 다음 파일 샘플은 각 인스턴스의 몇 가지 예를 제공합니다.
+