부록 A. 인스턴스 HA를 통한 자동 제거
인스턴스 HA를 사용하면 해당 노드가 실패하면 OpenStack에서 컴퓨팅 노드에서 인스턴스를 비우는 프로세스를 자동화합니다. 다음 프로세스는 컴퓨팅 노드 오류 발생 시 트리거되는 이벤트 시퀀스를 설명합니다.
-
컴퓨팅 노드에 실패하면
IPMI에이전트가 첫 번째 펜싱 을 수행하고 전원이 꺼지도록 노드를 물리적으로 재설정합니다. 온라인 컴퓨팅 노드에서 인스턴스를 비우면 오버클라우드에서 데이터 손상 또는 동일한 여러 인스턴스가 실행될 수 있습니다. 노드의 전원이 꺼지면 펜싱된 것으로 간주됩니다. 물리적 IPMI 펜싱 후
fence-nova에이전트는 두 번째 수준 펜싱 을 수행하고 fenced 노드를"evacuate=yes"클러스터 per-node 속성으로 표시합니다. 이를 위해 에이전트는 다음을 실행합니다.attrd_updater -n evacuate -A name="evacuate" host="FAILEDHOST" value="yes"
$ attrd_updater -n evacuate -A name="evacuate" host="FAILEDHOST" value="yes"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서 FAILEDHOST 는 실패한 컴퓨팅 노드의 호스트 이름입니다.
-
nova-evacuate에이전트는 백그라운드에서 지속적으로 실행되며"evacuate=yes"속성이 있는 노드에서 주기적으로 클러스터를 확인합니다.nova-evacuate에서 펜싱된 노드에 이 속성이 있음을 감지하면 에이전트는 Evacuate Instances 에 설명된 대로 동일한 프로세스를 사용하여 노드를 비우기 시작합니다. -
한편 실패한 노드는 IPMI 재설정에서 부팅되는 동안
nova-compute-checkevacuate에이전트는nova-evacuate가 비우기로 완료되었는지 확인하기 전에(기본적으로 120초 동안) 대기합니다. 그렇지 않으면 동일한 시간 간격 후에 다시 확인합니다. -
nova-compute-checkevacuate에서 인스턴스가 완전히 비어 있는지 확인하면 다른 프로세스를 트리거하여 호스트 인스턴스에 펜싱된 노드를 다시 사용할 수 있도록 합니다.