보조 데이터센터 복구

보조 데이터센터 복구 (Restore a Secondary Datacenter)

이 문서는 WAN 페더레이션 배포에서 중단이 발생한 보조 데이터센터를 복구하는 모범 사례의 개요를 제공해요. 쿼럼 손실, 데이터센터 전체 손실, 기본 데이터센터 복구로 인한 페더레이션 손실 상황을 각각 다룰게요.

출처: 문서

본문

이 문서는 중단이 발생한 WAN 페더레이션 배포의 보조 데이터센터를 복구하는 모범 사례의 개요를 제공합니다.

소개 (Introduction)

WAN 페더레이션 환경을 운영할 때 보조 데이터센터에서 중단이 발생하면 여러 수준의 장애가 발생할 수 있습니다.

  • 보조 데이터센터의 쿼럼(quorum) 손실. 데이터센터에 (N/2)+1 미만의 서버가 있는 경우(N은 전체 서버 수), 쿼럼을 잃습니다. 이 상황에서는 일부 노드는 영향받지 않지만 쿼럼을 구성할 만큼 정상 노드가 충분하지 않습니다.
  • 보조 데이터센터의 완전한 손실. 시설의 재해 이벤트가 클러스터를 완전히 없애거나 클라우드 제공자에 중대한 중단이 발생한 경우.
  • 기본 데이터센터 복구로 인한 페더레이션 손실. 기본 데이터센터를 복구한 후 새로 배포된 기본 데이터센터 노드는 보조 데이터센터의 구성에서 사용된 것과 다른 IP 주소를 갖게 됩니다.

보조 데이터센터의 쿼럼 손실 (Loss of quorum in the secondary datacenter)

이 상황은 기본 데이터센터의 쿼럼 손실과 동등하지만, 문제가 보조 데이터센터로 제한되고 Consul 환경의 나머지에는 영향을 주지 않습니다.

중단 복구 튜토리얼은 서버 노드를 복구하고 Raft 클러스터를 다시 구성하며 리더를 선출하도록 하는 가이드를 제공합니다.

보조 데이터센터의 완전한 손실 (Complete loss of the secondary datacenter)

이 상황은 기본 데이터센터의 완전한 손실과 동등하지만, 문제가 보조 데이터센터로 제한되고 Consul 환경의 나머지에는 영향을 주지 않습니다.

영향받은 데이터센터를 복구하려면 기본 데이터센터의 완전한 손실의 지침을 따르세요.

기본 데이터센터 연결 손실 (Connection to primary datacenter lost)

기본 데이터센터를 복구한 후 새 서버가 보조 데이터센터에서 조인하는 데 사용된 주소와 다른 IP 주소를 가질 수 있습니다. 이 경우 보조 데이터센터는 기본 데이터센터에 다시 연결할 수 없습니다.

기본 데이터센터의 페더레이션을 검증하려면 consul members -wan 명령을 사용하세요.

$ consul members -wan
Node                       Address           Status  Type    Build   Protocol  DC         Partition  Segment
consul-server-0.primary    172.20.0.10:8302  alive   server  1.21.4  2         primary    default    <all>
consul-server-1.primary    172.20.0.9:8302   alive   server  1.21.4  2         primary    default    <all>
consul-server-2.primary    172.20.0.14:8302  alive   server  1.21.4  2         primary    default    <all>

이 예제에서 명령은 기본 데이터센터의 서버만 보여주므로 페더레이션이 설정되지 않았음을 나타냅니다.

페더레이션을 복구하려면 retry-join-wan 에이전트 구성 매개변수에서 기본 데이터센터 서버의 새 IP를 사용해 보조 데이터센터 서버의 롤링 재시작을 수행해야 합니다.

retry-join-wan 매개변수의 구성은 다음 예제와 유사합니다:

## ...

retry_join_wan = [ "172.20.0.10", "172.20.0.9", "172.20.0.14" ]

## ...

각 보조 데이터센터 서버 노드의 구성이 업데이트된 후 노드의 롤링 재시작을 수행합니다. 새 구성이 올바르면 로그에서 확인할 수 있습니다.

[INFO]  agent: Joining cluster...: cluster=WAN
[INFO]  agent: (WAN) joining: wan_addresses=["172.20.0.10", "172.20.0.9", "172.20.0.14"]

롤링 재시작 후 기본 데이터센터에서 consul members -wan 명령을 실행하면 모든 서버가 반환되어야 합니다.

$ consul members -wan
Node                       Address           Status  Type    Build   Protocol  DC         Partition  Segment
consul-server-0.primary    172.20.0.10:8302  alive   server  1.21.4  2         primary    default    <all>
consul-server-1.primary    172.20.0.9:8302   alive   server  1.21.4  2         primary    default    <all>
consul-server-2.primary    172.20.0.14:8302  alive   server  1.21.4  2         primary    default    <all>
consul-server-0.secondary  172.20.0.5:8302   alive   server  1.21.4  2         secondary  default    <all>
consul-server-1.secondary  172.20.0.4:8302   alive   server  1.21.4  2         secondary  default    <all>
consul-server-2.secondary  172.20.0.8:8302   alive   server  1.21.4  2         secondary  default    <all>

이런 종류의 중단을 방지하려면 IP 주소 대신 호스트 이름을 사용하거나, 지원하는 클라우드 제공자의 경우 Consul의 클라우드 자동 조인 기능을 사용할 수 있습니다.

추가 안내 (Additional guidance)

이 페이지에서 언급된 개념에 익숙해지려면 재해 복구 튜토리얼을 시도해 볼 수 있습니다:

더 알아보기 (Learn more)