nested 환경으로 vSAN Stretched Cluster 를 구성해서 이것저것 테스트 해보고 있습니다.

아무래도 Stretched Cluster 인만큼 Site Failure 시의 동작과정을 한번 볼려고 직접 구성해서 보고 있는데, 

한가지 신경쓰이는 내용이 있어 다음과 같이 공유합니다.

현재의 실질적인 Network 구성은 다음과 같습니다.

Network 은 Preferred Site <-> Secondary Site 간도 L3 구성이고, Preferred or Secondary to Witness 도 L3 구성입니다. L3 Everywhere 구성이라고도 하죠.

그래서 Site failure 조건을 만들 때, 가운데 Router 의 인터페이스를 Disable 하는 방식으로 Simulating 을 했습니다. (Secondary Site 쪽의 Host 를 Power off 하는 방식도 가능합니다만, 편의를 위해서..)

Secondary Site 쪽의 vSAN network interface 를 disable 했을 때, Secondary Site 에서 running 중이던 VM 은 vSphere HA 에 의하여 Preferred 쪽으로 Failover 됩니다. (Quorum 이 Preferred-Witness 로 맺어지기 때문에..)

당연히 Preferred 쪽에서는 HA 로 인한 이벤트가 발생하지 않아야 정상인데 다음과 같은 메세지가 발생하는 경우가 있습니다.

실제로도 Failover 가 발생하진 않았고, 그냥 계속해서 Running 중이였습니다. 도대체 왜 vSphere HA 가 실패했다는 메세지가 뜨는것일까…

이것저것 테스트 해보다가 다시한번 Secondary Site 쪽의 vSAN network 를 disable 해보았습니다. 똑같은 이벤트가 발생할것이라고 예상하고… 그러나 발생하지 않았습니다.

두가지 경우가 어떤 차이가 있나 곰곰히 생각해봤더니,

failover failed 가 발생한 상황은 FDM Master 가 Secondary Site 쪽에,

발생하지 않은 상황은 Preferred Site 쪽에 FDM Master 가 존재하는 환경이였습니다.

그래서 좀 찾아보고 질문도 해보았더니, 아래와 같은 설명을 들을 수 있었습니다.

Network Partition 또는 Site Failure 가 발생할 당시에, HA Master node 가 Secondary Site 쪽에 있다면, 해당 Node 가 Preferred Site 에 VM 이 있는것을 알기 때문에 Failover 를 시도한다고 합니다. (Secondary 쪽으로) 그러나, Secondary Site Partition/Failure 상황에서는 Preferred Site 에서 Secondary Site 쪽으로 VM 이 failover 될수가 없죠. 그래서 insufficient resource event 가 발생한다고 하고, 무시해도 되는 alarm 이라고 합니다.

그러나 Network Partition 또는 Site Failure 가 발생할 당시에, HA Master node 가 Preferred 쪽에 있다면,  이벤트 발생후에 Secondary Site 에서 새로운 HA Master Node 의 선정작업이 시작되고, 새로 뽑히게 되는 HA Master Node 는 Preferred Site 의 VM 에 대한 존재를 알지 못하기 때문에 Failover 를 시도하지 않아서 이벤트가 발생하지 않는다고 합니다.

물론 반대의 경우도 마찬가지로 발생할 것입니다. HA Master Node 가 Secondary Site 에 있을 때 Preferred Site 에 장애가 발생할 때 라던지… HA Master Node 가 Preferred 에 있을 때 Preferred Site 에 장애가 발생한다던지 해서 말이지요. 제가 본바로는 동일하게 failover 이벤트가 발생하는것 같습니다.

설명이 좀 모호할 수 있는것 같은데요, 혹시나 그렇다면 코멘트 남겨주세요.

테스트하다가 발생한 야리꾸리한 이슈들이 몇가지 더 있는데요, 추후에 업데이트 드리도록 하겠습니다.

 

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다