클러스터형 컨트롤러 노드의 상태는 다음과 같습니다.
|
이러한 상태 간의 전환은 두 작업인 인계와 페일백의 일환으로 발생합니다.
인계는 언제든지 발생할 수 있으며, 피어 장애가 감지될 때마다 실행됩니다. 또한 클러스터 구성 CLI 또는 BUI를 사용하여 수동으로 트리거될 수 있습니다. 이는 테스트와 롤링 소프트웨어 업그레이드 수행 시 유용합니다. 업그레이드는 한 컨트롤러를 업그레이드하는 동안 다른 컨트롤러가 이전 소프트웨어의 실행 서비스를 제공하고 새 소프트웨어가 검증되면 두번째 컨트롤러가 업그레이드되는 방식으로 진행됩니다. 마지막으로 인계는 컨트롤러가 부트되고 피어가 없다는 것이 감지되면 발생합니다. 이렇게 하면 한 컨트롤러가 영구적으로 실패하거나 두 컨트롤러의 전원이 모두 일시적으로 끊긴 경우에 서비스를 정상적으로 재개할 수 있습니다.
페일백은 자동으로 발생하지 않습니다. 장애가 발생한 컨트롤러가 복구되어 부트되면 클러스터를 재결합(모든 리소스, 등록 정보 및 소유권 보기 재동기화)하고 관리자가 페일백 작업을 수행할 때까지 계속 대기합니다. 그때까지 작동 중인 원래 컨트롤러가 계속 모든 서비스를 제공합니다. 이를 통해 원래 인계를 트리거한 문제를 완전히 조사하거나, 새로운 소프트웨어 개정을 검증하거나, 컨트롤러가 운용 서비스로 돌아가기 전에 기타 관리 작업을 수행할 수 있습니다. 페일백은 클라이언트를 중단시키므로 비즈니스 요구 사항과 프로세스에 따라 일정을 계획해야 합니다. 한 가지 예외가 있습니다. 컨트롤러 A에 장애가 발생하여 컨트롤러 B가 인계 받은 경우를 가정해 봅니다. 컨트롤러 A가 클러스터를 재결합하면 컨트롤러 B가 없거나 장애 발생을 감지한 경우 인계할 수 있어야 합니다. 원칙상 원래 문제를 파악하지 못한 경우에도 서비스를 제공하는 것이 더 좋습니다. 따라서 이전에 장애가 발생한 컨트롤러로의 페일백은 자동으로 발생되지 않는 반면 인계는 언제든지 수행될 수 있습니다.
클러스터를 설정하면 설정이 시작된 노드는 OWNER 상태로, 다른 노드는 STRIPPED 상태로 초기 상태가 구성됩니다. 초기 페일백 작업이 수행되고 STRIPPED 노드에 공유 리소스의 위치를 전달한 후에는 두 노드 모두 CLUSTERED 상태가 됩니다. 두 클러스터 노드에 장애가 발생하거나 전원이 꺼진 경우 동시에 시작하면 중재가 발생하여 한 노드는 OWNER, 다른 노드는 STRIPPED 상태가 됩니다.
페일백 동안 모든 외부 리소스(피어에 지정된 리소스)가 내보내진 다음 피어가 이를 가져옵니다. 결함으로 인해 풀을 가져올 수 없으면 STRIPPED 노드가 재부트됩니다. 결함이 있는 풀을 페일백하려고 하면 가져오기 실패의 결과로 STRIPPED 노드가 재부트될 수 있습니다.
서비스 작동 중지 시간을 최소화하기 위해 페일백 및 인계 작업 중에는 통계 및 데이터 세트를 사용할 수 없습니다. 데이터가 수집되지 않으며, 통계를 일시 중단 또는 재개하려는 시도는 페일백 및 인계 작업이 완료되고 데이터 수집이 자동으로 재개될 때까지 지연됩니다.
관련 항목