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