...
하드웨어에 장애가 발생되거나 또는 수동적인 개입으로 인하여 노드가 다운되면 상대편 노드는 상황을 감지하고 연결 상태를 Connecting 으로 전환하고 상대 노드가 다시 나타날 때까지 disconnected 모드 상태로 대기합니다. 장애 상황에 따라 다음의 두 가지 경우로 구분합니다.
...
노드 장애는 보통 자동복구되는 일시적 장애로 취급되지만 영구적 장애가 발생할 경우 수작업으로 복구해야 합니다.
Secondary 의 일시적 장애
타깃 측이 다운됬을 경우 소스 측은 disconnected 모드로 운영을 지속할 수 있지만 블록에 대한 수정 사항은 상대 노드로 복제되지 않습니다. 다만 변경되고 있는 블록에 대한 정보는 내부적으로 저장하여 추후 상대 노드가 복구될 시 변경 된 블럭에 대해 동기화 할 수 있도록 대기 합니다
...
Primary 의 일시적 장애
소스 측이 다운됬을 경우 HA 는 우선 절체 여부를 결정해야 합니다. 절체 여부에 따라 추후 소스 노드가 복구되어 클러스터에 합류 되었을 때 어느 노드를 기준으로 동기화 할 지가 판가름 됩니다.
절체를 하면 대기노드 였던 노드가 새로운 소스 노드의 역할을 수행합니다.
절체를 하지 않고 대기할 경우 원래 소스 노드였던 노드가 동기화 소스노드의 역할을 수행합니다.
Secondary 의 일시적 장애
Secondary 역할의 리소스를 가진 노드에서 RAM 문제와 같은 장비교체로 인한 일시적 장애가 발생할 경우, 장애 노드를 복구해서 온라인 할게 아니라면 추가적인 개입은 필요하지 않습니다. 단지 Secondary 노드를 재 시작하여 양 노드의 연결을 자동으로 재 시도하고 성립합니다. 이 후 Primary 노드에서 수정된 모든 변경사항이 Secondary 노드로 동기화하여 반영됩니다.
Primary 의 일시적 장애
복제 중 Primary 노드가 전원장애 등에 의해 예기치 않게 중단 될 수 있습니다. 이 상태를 Crashed Primary 상태라고 합니다. 이 때 상대편 노드는 Primary 노드가 사라진 것을 감지하고 disconneted 모드로 전환합니다. Crashed Primary 노드는 부팅 과정을 거쳐 재기동 되고 서비스에 의해 자동 Secondary 역할로 기동합니다. 여기서 Primary 역할로 자동 승격시키지는 않습니다. Crashed Primary 노드는 Secondary 노드와 연결을 수립하고 이 과정에서 양노드는 서로 Crashed Primary 상태가 되었음을 인지합니다. 이후, 동기화의 과정을 통해 양 노드의 정합성을 일치 시킵니다. 이전 섹션에서 설명한 것처럼, 이 경우에도 장애 노드가 복구되면 더 이상 수동 개입은 필요하지 않지만 클러스터 관리 응용 프로그램(HA)에 의해 특정 노드의 승격을 결정하고 운영서비스를 지속할 수 있습니다.
소스 측이 다운됬을 경우 HA 는 우선 절체 여부를 결정해야 합니다. 절체 여부에 따라 추후 소스 노드가 복구되어 클러스터에 합류 되었을 때 어느 노드를 기준으로 동기화 할 지가 판가름 됩니다.
절체를 하면 대기노드 였던 노드가 새로운 소스 노드의 역할을 수행합니다.
절체를 하지 않고 대기할 경우 원래 소스 노드였던 노드가 동기화 소스노드의 역할을 수행합니다.
Primary 노드 장애의 경우 AL 을 통한 특별한 메커니즘으로 블록 디바이스의 정합성을 맞추게 됩니다. 이와 관련한 자세한 설명은 액티비티 로그를 참고하세요.
...