Skip to main content

복제본 어플라이언스로 장애 조치(failover) 시작

유지 관리 및 테스트를 위해 명령줄을 사용하거나 기본 어플라이언스가 실패하는 경우 GitHub Enterprise Server 복제본 어플라이언스로 장애 조치할 수 있습니다.

장애 조치(failover)에 필요한 시간은 복제본을 수동으로 승격하고 트래픽을 리디렉션하는 데 걸리는 시간에 따라 달라집니다. 평균 시간 범위는 20~30분입니다.

복제본을 승격해도 기존 어플라이언스에 대한 복제가 자동으로 설정되지는 않습니다. 복제본을 승격한 후 원하는 경우 새 주 복제본에서 기존 어플라이언스 및 이전 주 복제본으로 복제를 설정할 수 있습니다.

  1. 기본 어플라이언스를 사용할 수 있는 경우 어플라이언스를 전환하기 전에 복제를 완료할 수 있도록 기본 어플라이언스에서 이를 유지 관리 모드로 전환합니다.

    • 어플라이언스를 유지 관리 모드로 전환합니다.

    • 활성 Git 작업 수, MySQL 쿼리, Resque 작업 수가 0에 도달하면 30초 동안 기다립니다.

      참고: Nomad는 유지 관리 모드에서도 항상 작업이 실행되므로 이러한 작업을 안전하게 무시할 수 있습니다.

    • 모든 복제 채널 보고서가 OK인지 확인하려면 ghe-repl-status -vv 명령을 사용합니다.

      $ ghe-repl-status -vv
  2. 복제본 어플라이언스에서 복제를 중지하고 복제본 어플라이언스 수준을 기본 상태로 올리려면 ghe-repl-promote 명령을 사용합니다. 또한 연결할 수 있는 경우 기본 노드가 자동으로 유지 관리 모드가 됩니다.

    $ ghe-repl-promote

    참고: 주 노드를 사용할 수 없는 경우 경고 및 시간 제한이 발생할 수 있지만 무시할 수 있습니다.

  3. 복제본의 IP 주소를 가리키도록 DNS 레코드를 업데이트합니다. 트래픽은 TTL 기간이 경과한 후 복제본으로 전달됩니다. 부하 분산 장치를 사용하는 경우 복제본에 트래픽을 보내도록 구성되어 있는지 확인합니다.

  4. 정상적인 작업을 다시 시작할 수 있음을 사용자에게 알립니다.

  5. 원하는 경우 새 기본 어플라이언스에서 기존 어플라이언스 및 이전 기본 어플라이언스로의 복제를 설정합니다. 자세한 내용은 “고가용성 구성 정보”를 참조하세요.

  6. 장애 조치(failover) 전에 고가용성 구성의 일부였던 복제를 설정하지 않으려는 어플라이언스는 UUID를 사용하여 고가용성 구성에서 제거해야 합니다.

    • cat /data/user/common/uuid
      $ cat /data/user/common/uuid
    • 새 기본에서 ghe-repl-teardown을 사용하여 UUID를 제거합니다. UUID 을 이전 단계에서 검색한 UUID로 바꾸세요.
      $ ghe-repl-teardown -u  UUID

추가 참고 자료