서버 장애 시 VM은 어떻게 다시 실행될까? HA 이해하기
가상화 인프라를 설명할 때 자주 등장하는 단어가 있습니다.
바로 HA입니다.
HA는 High Availability의 약자로, 보통 고가용성이라고 부릅니다. 서버나 시스템에 장애가 발생하더라도 서비스를 가능한 한 계속 사용할 수 있도록 하는 구조를 의미합니다.
하지만 실무에서 HA를 이야기할 때는 오해가 생기기 쉽습니다.
“HA가 되면 장애가 나도 전혀 끊기지 않는 것 아닌가?”
“서버가 꺼져도 VM은 그대로 살아 있는 것 아닌가?”
“HA와 백업, DR은 같은 개념 아닌가?”
결론부터 말하면 HA는 장애를 없애는 기술이 아닙니다. 장애가 발생했을 때 영향을 줄이고, VM을 다른 노드에서 빠르게 다시 실행해 서비스 중단 시간을 줄이는 기술입니다.
HA는 ‘장애가 안 나는 구조’가 아니라 ‘장애 후 회복하는 구조’입니다
물리 서버는 언제든 장애가 발생할 수 있습니다.
전원 장애, 메인보드 고장, 메모리 오류, 디스크 장애, 네트워크 단절, 운영체제 멈춤처럼 인프라 운영 중에는 다양한 문제가 생길 수 있습니다.
단일 서버 환경에서는 서버 한 대가 멈추면 그 위에서 운영 중이던 서비스도 함께 중단됩니다.
반면 HA가 구성된 가상화 클러스터에서는 한 노드에 문제가 생겼을 때, 클러스터가 장애를 감지하고 해당 노드에서 실행 중이던 VM을 다른 정상 노드에서 다시 실행합니다.
즉 HA의 핵심은 “장애가 절대 발생하지 않는다”가 아니라, 장애가 발생했을 때 VM을 다시 살릴 수 있는 구조를 미리 만들어두는 것입니다.
장애 시 VM은 어떤 순서로 다시 살아날까요?
가상화 HA의 동작 흐름은 비교적 명확합니다.
먼저 클러스터를 구성한 여러 노드가 서로의 상태를 계속 확인합니다. 각 노드는 “나는 정상이다”라는 신호를 주고받고, 클러스터는 전체 노드의 상태를 판단합니다.
이 과정에서 특정 노드가 응답하지 않거나, 클러스터 통신이 끊기거나, 장애 상태로 판단되면 HA 절차가 시작됩니다.
일반적인 흐름은 다음과 같습니다.

| 단계 | 동작 내용 |
|---|---|
| 1. 장애 감지 | 클러스터가 특정 노드의 응답 불가 또는 장애 상태를 확인합니다. |
| 2. 노드 상태 판단 | 장애 노드가 실제로 서비스 불가능한 상태인지 판단합니다. |
| 3. 대상 VM 확인 | 장애 노드에서 실행 중이던 HA 대상 VM을 확인합니다. |
| 4. 실행 노드 선정 | 정상 노드 중 해당 VM을 실행할 수 있는 노드를 선택합니다. |
| 5. VM 재시작 | 선택된 정상 노드에서 VM을 다시 실행합니다. |
| 6. 서비스 복구 | VM 내부 OS와 애플리케이션이 기동되면서 서비스가 다시 제공됩니다. |
사용자 입장에서는 짧은 장애 시간이 발생할 수 있습니다. 하지만 단일 서버 장애처럼 관리자가 장비를 확인하고 수동으로 복구하기를 기다리는 구조와는 다릅니다.
HA는 장애 발생 후 VM을 다른 노드에서 자동으로 다시 실행해 복구 시간을 줄이는 구조입니다.
HA가 동작하려면 클러스터가 먼저 필요합니다
HA는 서버 한 대만으로 구현되는 기능이 아닙니다.
최소한 두 대 이상의 노드가 필요하고, 안정적인 운영을 위해서는 클러스터의 정족수와 상태 판단 구조가 중요합니다.
여러 노드가 서로의 상태를 확인하고, 어느 노드가 정상인지, 어느 노드가 장애인지 판단할 수 있어야 하기 때문입니다.
SmartECM은 기본적으로 여러 노드를 하나의 클러스터로 구성하고, 각 노드가 상태 정보를 공유하는 구조를 사용합니다. 특히 안정적인 쿼럼 유지와 스플릿 브레인 방지를 위해 3개 이상의 노드 구성을 기본으로 설명하고 있습니다.
여기서 중요한 개념이 쿼럼입니다.
쿼럼은 클러스터가 정상적으로 판단을 내릴 수 있는 최소한의 참여 노드 수를 의미합니다. 클러스터는 과반수 또는 정해진 기준을 만족해야 “정상적인 판단”을 할 수 있습니다.
이 구조가 필요한 이유는 스플릿 브레인을 막기 위해서입니다.
스플릿 브레인을 막아야 HA가 안전해집니다
스플릿 브레인은 클러스터가 둘로 갈라져 서로 자신이 정상이라고 판단하는 상황을 말합니다.
예를 들어 노드 A와 노드 B 사이의 네트워크가 끊겼다고 가정해보겠습니다.
이때 두 노드가 각각 “상대방이 죽었다”고 판단하고 같은 VM을 동시에 실행하면 어떻게 될까요?
같은 VM 디스크에 두 노드가 동시에 접근하면서 데이터 정합성 문제가 발생할 수 있습니다. 최악의 경우 VM 데이터가 손상될 수도 있습니다.
따라서 HA에서 중요한 것은 단순히 VM을 빨리 다시 켜는 것이 아닙니다.
정확하게 장애를 판단하고, 어느 노드가 VM을 실행할 권한을 갖는지 결정하고, 데이터 정합성을 지키면서 복구하는 것이 더 중요합니다.
이를 위해 클러스터 통신, 쿼럼, 펜싱, 스토리지 접근 제어 같은 요소가 함께 설계되어야 합니다.

VM이 살아나려면 스토리지도 함께 설계되어야 합니다
HA를 이야기할 때 많은 분들이 컴퓨팅 노드만 생각합니다.
하지만 VM이 다른 노드에서 다시 실행되려면, 그 노드가 VM 디스크 데이터에 접근할 수 있어야 합니다.
즉 HA의 핵심은 단순히 “다른 서버에서 VM을 켠다”가 아닙니다.
정상 노드가 장애 노드에서 실행 중이던 VM의 디스크를 사용할 수 있어야 하고, 그 데이터가 최신 상태로 보호되어 있어야 합니다.
이를 구현하는 방식은 여러 가지가 있습니다.
1. 분산 스토리지 기반 HA
Ceph 같은 분산 스토리지를 사용하면 VM 데이터가 여러 노드에 분산·복제됩니다.
특정 노드나 디스크에 장애가 발생하더라도 데이터 복제본이 다른 노드에 존재하기 때문에, 정상 노드에서 VM을 다시 실행할 수 있습니다.
SmartECM 소개자료에서도 Ceph 기반 분산 스토리지를 통해 VM 데이터를 여러 노드에 자동 분산·복제하고, 노드나 디스크 장애 시에도 서비스가 지속되며 자동으로 데이터를 정상 디스크로 복구하는 자가 치유 기능을 설명하고 있습니다.
2. 공유 스토리지 기반 HA
기존 SAN 스토리지를 사용하는 기업이라면 공유 스토리지 기반 HA를 구성할 수 있습니다.
이 방식에서는 여러 노드가 동일한 SAN 스토리지의 VM 디스크에 접근할 수 있습니다. 노드 장애가 발생하면 다른 노드가 같은 VM 디스크를 사용해 VM을 다시 실행합니다.
SmartECM의 LVM over FC 구성에서는 FC SAN을 통해 모든 노드가 동일한 LUN을 공유하고, 공유 LVM 설정을 통해 여러 노드가 동일한 스토리지 자원에 접근할 수 있도록 구성합니다.
3. 로컬 스토리지 복제 기반 HA
ZFS나 로컬 스토리지를 사용하는 경우에는 노드 간 복제 구성이 중요합니다.
각 노드의 로컬 디스크는 기본적으로 해당 노드에만 존재하기 때문에, 다른 노드에서 VM을 다시 실행하려면 VM 데이터가 사전에 복제되어 있어야 합니다.
이 방식은 고성능 로컬 스토리지의 장점을 살리면서도, 노드 간 레플리케이션을 통해 장애 대응력을 높이는 구조입니다.
다만 복제 주기와 방식에 따라 장애 시점의 데이터 차이가 발생할 수 있으므로, 업무 중요도와 RPO 요구사항에 맞게 설계해야 합니다.
HA와 라이브 마이그레이션은 다릅니다
HA를 라이브 마이그레이션과 혼동하는 경우도 많습니다.
둘 다 VM이 다른 노드에서 실행된다는 점은 비슷하지만, 목적과 상황이 다릅니다.
| 구분 | 주요 목적 | 동작 상황 |
|---|---|---|
| 라이브 마이그레이션 | 운영 중인 VM을 중단 없이 다른 노드로 이동 | 점검, 자원 재배치, 노드 교체 등 계획된 작업 |
| HA | 장애 발생 시 다른 노드에서 VM을 자동 재시작 | 노드 장애, 예기치 못한 중단 등 비계획 장애 |
라이브 마이그레이션은 정상적으로 동작 중인 VM을 다른 노드로 옮기는 기능입니다. 운영 중인 노드를 점검하거나, 자원 부하를 분산하거나, 장비를 교체할 때 유용합니다.
반면 HA는 장애가 이미 발생한 상황에서 동작합니다. 장애 노드에서 실행 중이던 VM을 정상 노드에서 다시 실행해 서비스 복구를 시도합니다.
따라서 라이브 마이그레이션은 계획된 운영 편의성에 가깝고, HA는 예기치 못한 장애 대응 기능에 가깝습니다.
HA와 백업, DR도 구분해야 합니다
HA가 있다고 해서 백업이나 DR이 필요 없는 것은 아닙니다.
HA는 노드 장애나 일부 인프라 장애 상황에서 VM을 다시 실행해 서비스 중단 시간을 줄이는 기능입니다.
하지만 데이터가 삭제되었거나, VM 내부 OS가 손상되었거나, 랜섬웨어로 데이터가 암호화되었거나, 전체 사이트에 장애가 발생한 경우에는 HA만으로 해결하기 어렵습니다.
이때 필요한 것이 백업과 DR입니다.
| 구분 | 역할 | 대표 상황 |
|---|---|---|
| HA | 장애 노드의 VM을 다른 노드에서 재시작 | 노드 장애, 하드웨어 장애 |
| 백업 | 데이터를 별도 저장소에 보관하고 필요 시 복구 | 삭제, 손상, 랜섬웨어, 장기 보관 |
| DR | 운영 사이트 장애 시 다른 환경에서 서비스 복구 | 센터 장애, 재해, 대규모 장애 |
즉 HA는 서비스 연속성을 높이는 기능이고, 백업은 데이터 복구를 위한 기능이며, DR은 더 큰 범위의 장애에 대비하는 전략입니다.
안정적인 인프라를 만들려면 HA, 백업, DR을 각각의 역할에 맞게 함께 설계해야 합니다.
SmartECM은 고객 환경에 맞는 HA 구성을 지원합니다
SmartECM은 HCI 기반 가상화 플랫폼으로, VM 운영에 필요한 클러스터링, 마이그레이션, 스토리지, 백업, HA 기능을 함께 제공합니다.
고객 환경에 따라 다양한 방식의 HA 구성이 가능합니다.
분산 스토리지 기반의 HCI 구성에서는 Ceph을 활용해 VM 데이터를 여러 노드에 분산·복제하고, 장애 시 정상 노드에서 VM을 다시 실행할 수 있는 구조를 만들 수 있습니다.
기존 SAN 스토리지를 보유한 기업이라면 dHCI 구성으로 기존 FC SAN 자산을 활용하면서, 공유 스토리지 기반의 라이브 마이그레이션과 HA 구성을 검토할 수 있습니다.
고성능이 필요한 업무라면 ZFS 기반 로컬 스토리지와 노드 간 레플리케이션을 조합해 성능과 데이터 보호를 함께 고려한 구성을 설계할 수 있습니다.
중요한 것은 하나의 HA 방식이 모든 고객에게 정답이 아니라는 점입니다.
업무 중요도, 예산, 보유 장비, 스토리지 구조, 장애 허용 시간, 데이터 손실 허용 범위에 따라 적합한 HA 아키텍처는 달라집니다.
HA의 핵심은 ‘장애 후 얼마나 빨리 회복할 수 있는가’입니다
HA는 장애가 발생하지 않게 만드는 마법 같은 기능이 아닙니다.
장애는 언제든 발생할 수 있습니다. 중요한 것은 장애가 발생했을 때 얼마나 빠르게 감지하고, 얼마나 안전하게 VM을 다시 실행하며, 서비스 영향을 얼마나 줄일 수 있는가입니다.
가상화 HA는 이 과정을 자동화해 운영자의 부담을 줄이고, 서비스 연속성을 높이는 기술입니다.
SmartECM은 클러스터 기반 가상화, 다양한 스토리지 구성, VM 마이그레이션, HA, 백업, 복제 기능을 통해 기업 환경에 맞는 안정적인 인프라 운영을 지원합니다.
HA를 검토하고 있다면 단순히 “지원 여부”만 볼 것이 아니라, 장애 감지 방식, 스토리지 구조, 정상 노드의 여유 자원, 백업·DR 연계까지 함께 확인해야 합니다.
그때 비로소 HA가 된다는 말의 진짜 의미를 이해할 수 있습니다.
SmartECM 주요 기능 보기
SmartECM 아키텍처 보기
SmartECM 도입분야 보기
SmartECM 제품소개서 다운로드
- 이전글 VMware 마이그레이션, 꼭 확인해야 할 7가지 체크리스트 26.07.16
- 다음글 랜섬웨어가 서버가 아닌 가상화 인프라를 노리는 이유 26.07.09