High Availability

 

 

vSphere HA는 클러스터로 구성된 여러 ESXi 호스트를 사용하여 운영 중단으로부터 신속하게 복구하고,

가상 머신에서 실행되는 애플리케이션의 비용 효율적인 고가용성을 제공합니다. 

 

 

 

 

 

 

1. HA Operation

 

 

우선 HA 클러스터를 만들면 FDM(Fault Domain Manager) 서비스가 실행됩니다.

HA 클러스터 내의 Host 들은 Fault Domain에 속해 있으며 Host가 유지보수 모드, 대기 모드 혹은

연결이 끊길 시 Fault Domain에서 빠지게 됩니다. 

 

FDM은 마스터 노드가 관리하며 나머지 슬레이브 노드의 FDM은 마스터 FDM과만 통신을 주고 받습니다.

 

마스터 호스트는 호스트중에서 가장 많은 수의 Datastore와 연결된 호스트가 선정이 되며,

만약 호스트간 연결된 Datastore 수가 같으면 "MOID"를 통해 마스터 호스트를 선출하게 됩니다.

 

FDM의 마스터 호스트 선정은 HA클러스터 사용 시, 마스터가 시스템 장애 시

이루어 지게되며 약 15초의 시간이 소요가 됩니다.

 

 

 

HA는 HA 클러스터 내의 하나의 호스트가 장애 시

다른 호스트에 장애가 난 호스트의 VM을 실행 시켜 줌으로서 운영 중단을 최소화 하는 구조 입니다. 

 

이를 위해서 각 호스트 들은 반드시 공유 스토리지를 통해서 구성이 되어야 합니다.

 

 

 

2. Heart Beat

 

 

기본적으로 하트비트는 메니지먼트 네트워크를 통해서

마스터 호스트는 활성 상태임을 알리기 위해 슬레이브 호스테에 주기적으로 하트비트를 전송합니다.

 

만일 클러스터에서 vSAN을 사용할 경우 vSAN VMkernel을 이용하여 하트비트를 전송하게 됩니다.

 

 

 

 

만일 Management Network의 이상으로 인해 통신이 불가능한 경우를 대비하여

각 호스트에 연결된 공유 스토리지를 통해서 Heart Beat를 확인 하게 할 수 있습니다.

 

이를 Datastore Heartbeat라고 하며, 2개이상의 공유스토리지를 Datastore Heartbeat를 사용하는 것을 권장합니다.

 

 

 

 

3. 장애 상황

 

1. 슬레이브 호스트 장애

 

슬레이브 호스트 장애의 경우 마스터 호스트가 전송한 네트워크 하트비트에 슬레이브 호스트가

응답하지 않을 경우 마스터 vSphere HA 에이전트는 원인을 식별하려 하며,

이를 통해 host의 이상이 있다고 판단을 하면 HA를 실행하게 됩니다.

 

 

 

2. 마스터 호스트 장애

 

마스터 호스트 이상으로 인해 마스터 호스트에서 슬레이브 호스트에 더 이상 하트비트를 전송하지 않게되면,

슬레이브 호스트에서는 마스터 호스트의 이상을 감지하게 되며,

첫번째로 각 슬레이브 노드의 FDM을 통해서 연결된 Datastore의 갯수로 마스터 노드를 재 결정하게 되며,

만약 슬레이브 노드간의 연결 된 Datastore의 갯수가 같다면 MOID를 통해서 마스터 노드를 결정합니다.

 

마스터 노드가 결정 된 후에는 HA을 실행 VM을 다른 호스트에 재배치 하게 됩니다.

 

 

 

3. 호스트 분리 장애

 

네트워크 상의 문제로 네트워크를 통한 하트비트가 전송되지 않지만, 호스트는 정상 작동되는 경우를

호스트 분리 상황이라고 합니다.

 

네트워크를 문제로 인해 발생하는 호스트 분리상황은 데이터스토어 하트비트 설정을 통해서 알 수 있으며,

분리된 호스트에서 다른 호스트의 이상으로 잘못 감지하여 다른 호스트의 VM생성하는것을 방지하여 줍니다.

 

 

 

4. 데이트스토어 엑세스 장애

 

공유 스토리지의 연결문제 등으로 데이터 스토어에 접근이 되지 않게 되는 스토리지 장애가 일어날 수 도 있는데,

이 경우에는 VMCP를  사용하도록 설정, 데이터 스토어 접근에 대한 장애를 인식하고,

영향을 받는 가상시스템을 자동으로 다른 호스트에 복구하여 주는 방식으로 장애를 대처하게 됩니다.

 

VMCP의 경우 ESXi 6 이상의 호스트만 설정이 가능합니다.

 

 

4. HA 실행시 VM의 상태

 

HA가 발생이 되면 VM의 경우는 VM의 상태와 호스트의 상태에 따라

Failover의 실행모습은 다르게 됩니다.

 

VM이 켜진 상태에서 Host가 강제 종료되는 경우에는

VM은 다른 호스트에서 Restart를 하며 Failover를 실행하게되며,

 

VM이 꺼진 상태에서 Host가 강제 종료되는 경우에는

VM은 다른 호스트에서 VM이 종료된 체로 Failover를 실행하게 됩니다.

 

VM이 종료된 상태로 Host를 유지보수모드로 진입한 뒤, Host를 강제 종료 혹은 종료를 시키는 경우에는

VM이 다른 호스트에 이동하지 않고 Host와 함께 연결이 끊기게 됩니다.

 

 

 

 

+ Recent posts