13.3. Compute 노드 삭제
오버클라우드에서 Compute 노드를 삭제해야 하는 경우가 있을 수 있습니다. 예를 들면 문제가 있는 Compute 노드를 교체해야 할 수 있습니다.
오버클라우드에서 Compute 노드를 삭제하기 전에 노드에서 다른 Compute 노드로 워크로드를 마이그레이션합니다. 자세한 내용은 11장. Compute 노드 간에 가상 머신 마이그레이션을 참조하십시오.
절차
source 명령으로 오버클라우드 설정을 로드합니다.
$ source ~/stack/overcloudrc
노드에서 새 인스턴스가 예약되지 않도록 오버클라우드에서 발신 노드의 Compute 서비스를 비활성화합니다.
(overcloud) $ openstack compute service list (overcloud) $ openstack compute service set [hostname] nova-compute --disable
작은 정보--disable-reason
옵션을 사용하여 서비스가 비활성화되는 이유에 대한 간단한 설명을 추가합니다. 이 작업은 나중에 Compute 서비스를 재배포하려는 경우에 유용합니다.source 명령으로 언더클라우드 설정을 로드합니다.
(overcloud) $ source ~/stack/stackrc
오버클라우드 노드를 삭제하는 경우 로컬 템플릿 파일을 사용하여 director에서 오버클라우드 스택을 업데이트해야 합니다. 먼저 오버클라우드 스택의 UUID를 확인합니다.
(undercloud) $ openstack stack list
삭제할 노드의 UUID를 확인합니다.
(undercloud) $ openstack server list
다음 명령을 실행하여 스택에서 노드를 삭제하고 그에 따라계획을 업데이트합니다.
(undercloud) $ openstack overcloud node delete --stack [STACK_UUID] --templates -e [ENVIRONMENT_FILE] [NODE1_UUID] [NODE2_UUID] [NODE3_UUID]
중요오버클라우드를 생성할 때 추가 환경 파일을 전달한 경우
-e
또는--environment-file
옵션을 사용하여 오버클라우드를 불필요하게 수동으로 변경하지 않도록 환경 파일을 다시 지정합니다.작업을 계속 진행하기 전
openstack overcloud node delete
명령 실행이 완전히 종료되었는지 확인합니다.openstack stack list
명령을 사용하여overcloud
스택이UPDATE_COMPLETE
상태가 되었는지 확인합니다.중요동일한 호스트 이름을 사용하여 Compute 서비스를 재배포하려는 경우 재배포된 노드에 기존 서비스 레코드를 사용해야 합니다. 이 경우에는 다음 절차의 나머지 단계를 생략하고 동일한 호스트 이름을 사용하여 Compute 서비스 재배포에 설명된 지침을 따르십시오.
노드의 Compute 서비스를 삭제합니다.
(undercloud) $ source ~/stack/overcloudrc (overcloud) $ openstack compute service list (overcloud) $ openstack compute service delete [service-id]
노드의 Open vSwitch 에이전트를 삭제합니다.
(overcloud) $ openstack network agent list (overcloud) $ openstack network agent delete [openvswitch-agent-id]
배치 서비스에서 리소스 공급자로 삭제된 Compute 서비스를 제거합니다.
(overcloud) $ openstack resource provider list (overcloud) $ openstack resource provider delete [uuid]
참고배치 서비스를 사용하려면
python2-osc-placement
패키지를 설치합니다.
이제 오버클라우드에서 노드를 삭제하여 다른 용도로 노드를 다시 프로비저닝할 수 있습니다.
동일한 호스트 이름을 사용하여 Compute 서비스 재배포
비활성화된 Compute 서비스를 재배포하려면 동일한 호스트 이름을 가진 노드를 다시 실행한 후에 Compute 서비스를 다시 활성화합니다. 예를 들면 다음과 같습니다.
(overcloud) $ openstack compute service set compute-1.localdomain nova-compute --disable --disable-reason "gets re-provisioned" (overcloud) $ openstack compute service list --long ... | 80 | nova-compute | compute-1.localdomain | nova | disabled | up | 2018-07-13T14:35:04.000000 | gets re-provisioned | ... (overcloud) $ openstack compute service set compute-1.localdomain nova-compute --enable