Hyper-V 환경은 장애 조치(failover) 클러스터, 라이브 마이그레이션(Live Migration), 복제(Replication) 등 가상 머신의 고가용성과 내결함성을 위한 다양한 기술을 제공합니다. 하지만 이러한 기술들은 다양한 상황에서 VM의 다운타임을 최소화할 뿐, 인적 오류, 해커나 바이러스 공격, 경쟁사에 의한 공격 등으로 인한 재해 복구(disaster recovery) 시나리오까지는 대비해주지 못합니다. 따라서 관리자는 여전히 전통적인 방식으로 가상 머신을 백업해야 합니다. 이 글에서는 Hyper-V 백업 솔루션의 기본 요구 사항, 백업 전략, 그리고 무료 및 상용 백업 제품의 특징까지 살펴보겠습니다.
Hyper-V 가상 머신 백업은 어떻게 동작할까?
Hyper-V 호스트에서 실행 중인 가상 머신은 Windows Server Backup(또는 이를 기반으로 한 wbadmin 스크립트)과 같은 기본 제공 기능이나 기타 무료·상용 제품을 사용해 백업할 수 있습니다. 이들 모두는 실행 중인 Hyper-V VM을 백업하기 위해 스냅샷(체크포인트) 기술을 활용합니다. 체크포인트란 특정 시점의 가상 머신 상태를 의미하며, 가상 디스크의 상태, RAM의 내용, VM 설정 정보를 저장합니다.
모든 현대적인 Hyper-V 백업 솔루션의 동작 방식은 대체로 다음과 같습니다.
참고: 과거에는 각 호스트마다 백업 에이전트를 설치하는 방식으로 서버를 백업했습니다. 하지만 가상화 시대가 되면서 백업 생성 지점이 게스트 OS에서 VM이 구동되는 Hyper-V 호스트로 이동했습니다. 현재 에이전트 기반 백업은 드물며, 주로 VSS를 지원하지 않는 특정 애플리케이션에 한해서만 사용됩니다.
먼저 백업 도구가 Hyper-V 호스트에 체크포인트 생성을 지시합니다. 명령을 받으면 하이퍼바이저는 새로운 델타(delta) 파일들을 생성하고, VM은 계속 작동하면서 변경 사항을 해당 파일에 기록하기 시작합니다. 이후 백업 도구는 더 이상 변경되지 않는 원본 VM 파일을 백업 미디어로 복사한 뒤 체크포인트를 삭제합니다. 체크포인트 삭제 시 Hyper-V는 원본 파일과 델타 파일을 병합(consolidation)하며, 이 과정에서도 VM은 정상적으로 작동합니다. 만약 운영 중인 VM을 잃더라도 백업이 생성된 시점의 상태로 복구할 수 있습니다.
Hyper-V VM 백업 베스트 프랙티스와 주요 고려 사항
위 내용은 Hyper-V 백업의 일반적인 개념이지만, 실제로는 수많은 세부 사항과 문제점이 존재합니다. 가장 흔히 발생하는 이슈들을 정리하면 다음과 같습니다.
- 델타 파일 증가 문제: 백업 도구가 체크포인트를 복사하는 시간이 길어질수록 델타 파일에 기록되는 변경 사항도 많아집니다. 체크포인트 복사 중 VM에 많은 변경이 발생하면, 체크포인트 삭제 후 파일 병합 작업이 스토리지 서브시스템, Hyper-V 호스트, 그리고 VM 자체에 큰 부하를 줄 수 있습니다. 따라서 체크포인트는 최대한 빠르게 복사하는 것이 좋습니다. Hyper-V Server 2016부터는 RCT(Resilient Change Tracking) 기술이 도입되어, 마지막 백업 이후 변경된 데이터 블록만 복사함으로써 백업 속도를 크게 향상시켰습니다. 이제 VM 전체를 통째로 복사할 필요가 없습니다.
- 네트워크 부하 관리: LAN을 통해 Hyper-V 호스트에서 백업 스토리지로 VM 체크포인트 데이터를 복사하면 네트워크에 심한 부하가 걸릴 수 있습니다. 따라서 백업 트래픽을 위해 별도의 서버 네트워크나 HBA 인터페이스를 사용하거나, SAN을 통해 데이터를 복사하는 것이 바람직합니다.
- 스토리지 연동 기능 활용: 외부 데이터 스토리지에 VM 파일을 저장하는 경우라면, 백업 제품과 스토리지의 연동 기능(예: 하드웨어 스냅샷)을 활용할 수 있습니다.
- 프로덕션 체크포인트(Production Checkpoints): 기본적으로 게스트 OS는 자신이 백업되고 있다는 사실을 알지 못합니다. 따라서 백업본에서 VM을 복구하려 하면 OS는 체크포인트가 생성된 시점부터 작업을 이어가려 합니다. 이 경우 OS 자체에 문제가 발생하거나, 실행 중인 애플리케이션(특히 Exchange, SQL, ADDS 같은 트랜잭션 기반 앱)의 데이터가 유실될 수 있습니다. 이 문제를 해결하기 위해 Hyper-V 2016에서 새로운 체크포인트 유형인 프로덕션 체크포인트가 등장했습니다. (Microsoft는 표준 체크포인트는 테스트 또는 실험 환경이나 중지된 VM 백업에만 사용할 것을 권장합니다.) 프로덕션 체크포인트는 게스트 OS의 Hyper-V 통합 서비스를 통해 작동하며, Windows에서는 볼륨 섀도 복사본(Volume Shadow Copy), Linux에서는 파일 시스템 프리징 데몬(fsfreeze)을 기반으로 합니다. 단, 메모리 상태는 복사되지 않습니다. 즉, Hyper-V가 게스트 OS에 체크포인트 생성을 알리면 VSS를 지원하는 애플리케이션은 현재 트랜잭션을 마무리하고 일관된 상태로 전환된 후 체크포인트가 생성됩니다. 체크포인트에서 복구하면 게스트 OS는 전원이 꺼진 상태(메모리 상태가 저장되지 않았으므로)로 복구되며, 부팅 시 비정상 종료가 발생했다고 인식합니다. 이후 VSS를 지원하는 앱은 저장된 일관된 상태부터 작업을 시작합니다.
- 백업 스토리지 용량: VM 백업을 저장하려면 상당한 공간이 필요합니다. 체크포인트를 자주 생성할수록 백업 스토리지 용량이 더 많이 필요합니다. 일반적으로 Windows Server에 내장된 데이터 중복 제거(Data Deduplication) 기술이나 백업 벤더가 제공하는 중복 제거 솔루션을 활용할 수 있습니다. 차등 디스크(differential disk)를 사용한다면 해당 기술을 지원하는 백업 도구를 선택해야 하며, 그렇지 않으면 동일한 VM 데이터를 여러 번 저장하게 될 수 있습니다.
- 백업 시간 계획: 호스트당 VM 밀도가 높다면 업무 시간 중 운영 시스템에 과부하가 걸리지 않도록 백업 시간대를 신중하게 계획해야 합니다.
- 백업 복사본 관리: 여러 날짜의 VM 복사본을 보관해야 한다면 저장되는 복사본 수를 관리해야 합니다(스크립트나 백업 도구의 기능을 통해 자동화할 수 있습니다).
- 모니터링과 검증: 백업 모니터링 도구도 중요합니다. 스토리지 여유 공간 부족으로 백업이 실패했다는 사실을 뒤늦게 알게 되면 매우 곤란합니다. 또한 백업 검증(verification) 도구 사용도 권장됩니다.
- 세분화된 복구(Fine-grained Recovery): 실무에서는 VM 백업에서 특정 파일만 복구해야 하는 경우가 자주 있습니다. 일부 백업/복구 제품은 VM 전체나 가상 디스크를 복원하지 않고도 파일/폴더 단위의 세분화된 복구를 지원합니다. 참고: Exchange가 설치된 VM 백업에서 특정 사서함 데이터베이스, 사서함, 심지어 개별 이메일까지 복구할 수 있는 도구도 있습니다.
- 역할 기반 접근 제어: 역할 기반(role-based) 백업 관리 모델을 통해 접근 권한을 분리할 수 있습니다(서로 다른 시스템이나 장비 그룹을 담당하는 관리자에게 유용합니다).
- 3-2-1 백업 전략: 전통적인 3-2-1 백업 전략(3개의 복사본을 2개의 서로 다른 미디어에 저장하고, 그중 1개는 원격지에 보관)를 반드시 구현하는 것을 잊지 마세요.
이어서 위에서 설명한 기능들을 기준으로 Hyper-V VM 백업에 널리 사용되는 몇 가지 솔루션을 살펴보겠습니다.
Windows Server Backup으로 Hyper-V VM 백업하기
Hyper-V에서 VM 백업을 무료로 구성하는 방법은 기본 제공되는 Windows Server Backup(WSB) 기능을 활용하는 것입니다. WSB는 그래픽 백업/복원 마법사나 명령줄 도구인 wbadmin(WSB의 일부)을 통해 사용할 수 있으며, VSS와 증분 백업(incremental backup)을 지원합니다. 이 기능은 Windows Server 2012 이상과 Hyper-V Server에서 모두 사용할 수 있습니다. WSB 구성 요소를 설치하려면 서버 관리자 콘솔을 이용하거나 다음 명령을 실행하세요.
Install-WindowsFeature Windows-Server-Backup -IncludeManagementTools
Windows Server Backup에는 GUI 콘솔(wbadmin.msc)이 있어 Hyper-V 백업 생성·관리, 백업 일정 설정 등을 할 수 있습니다. VM을 백업하려면 간단한 마법사를 실행하여 Hyper-V 서버에서 백업할 VM과 백업 저장 위치를 선택하고 백업 일정을 지정하기만 하면 됩니다.
팁: 2012 이전 버전의 Hyper-V Server에서는 기본 제공 백업 도구로 개별 VM만 백업할 수 없었으며, 모든 VM이 한꺼번에 백업되었습니다.
일반적으로 Hyper-V VM을 백업할 때는 명령 프롬프트를 사용하는 편이 더 편리합니다. 게다가 그래픽 인터페이스에서는 백업 작업을 두 개 이상 만들 수 없고, 새 작업이 이전의 모든 백업 작업을 덮어쓰게 됩니다.
예를 들어 "Server 1"이라는 이름의 VM을 C: 드라이브의 로컬 폴더에 백업하려면(사실 그다지 좋은 방법은 아니죠?) 다음 명령을 실행하면 됩니다.
wbadmin start backup –backupTarget:C: –hyperv:"Server 1"
두 개의 VM을 백업하여 네트워크 공유 폴더(예: 외부 NAS 스토리지)에 저장하려면 다음 명령을 실행하면 됩니다.
wbadmin start backup -backuptarget:\\192.168.2.15\\HVMback: -hyperv:"TestVM01,TestVM02" -allowDeleteOldBackups -quiet
PowerShell을 사용해 이 명령을 Windows 작업 스케줄러에 추가하면 정기적인 VM 백업을 예약할 수 있습니다(이 경우 오래된 백업은 자동으로 삭제됩니다).
예를 들어 AD 도메인 컨트롤러가 설치된 VM을 백업하는 경우, 백업이 완료된 후 AD 트랜잭션 로그를 재설정하여 백업 안의 ADDS 데이터베이스가 일관된 상태를 유지하도록 할 수 있습니다(Exchange나 SQL Server가 설치된 VM도 같은 방식으로 백업할 수 있습니다).
wbadmin start backup -backuptarget:\\192.168.2.15\\HVMback: -hyperv:PAR-DC1 -vssFull
시스템에 등록된 백업 목록을 확인하려면 다음 명령을 실행하세요.
wbadmin get versions
팁: Windows 2012 이상이 실행되는 Hyper-V 호스트에서 VM을 백업할 때, Hyper-V 통합 구성 요소가 설치되어 있다면 VM이 일시 중지(pause)되지 않는다는 점에 유의하세요.
WSB는 단순하지만 안정적인 Hyper-V VM 백업 솔루션입니다. 속도가 빠르고 백업 일정 관리도 가능합니다. 다만 Windows Server Backup에는 다음과 같은 단점이 있습니다.
- 백업 프로세스 모니터링, VM 백업 또는 그 안의 애플리케이션 일관성 검증 도구가 없습니다.
- 중규모·대규모 Hyper-V 환경에서는 백업 관리가 어렵습니다(1~3개의 Hyper-V 호스트를 가진 소규모 환경에만 적합합니다).
- 특정 파일이나 애플리케이션 상태를 자동으로 복구할 수 없습니다(백업의 .vhdx 파일을 직접 마운트하고 필요한 파일을 수동으로 복사해야 합니다).
- 호스트에 VM 밀도가 높고 크기가 클 경우, 서버 과부하와 업무 시간 중 LAN/SAN/iSCSI 네트워크 부하(외부 스토리지에 백업을 저장하는 경우)를 막기 위해 Windows 작업 스케줄러로 백업 일정을 세밀하게 조정해야 합니다.
주요 서드파티 Hyper-V 백업 제품
Hyper-V 호스트와 가상 머신이 많은 환경에서는 Windows Server Backup만으로는 감당하기 어렵습니다. 이런 경우 서드파티 솔루션 중 하나를 선택해야 합니다. 호스트 수, 라이선스 제한, 필요한 기능, 네트워크 아키텍처 등 고려해야 할 사항이 많기 때문에 어떤 제품이 Hyper-V 백업에 가장 이상적인지 단정하기는 어렵습니다.
시장에는 수많은 상용 및 무료 백업 제품이 있어 올바른 제품을 고르기가 쉽지 않습니다. 일반적으로 Gartner 매직 쿼드런트(Magic Quadrant)가 해당 분야의 리더를 파악하는 데 활용됩니다. 아래 이미지는 2019년 데이터 센터 백업 솔루션 시장의 주요 플레이어와 리더를 보여줍니다.
Gartner가 백업 솔루션 선도 공급업체로 꼽은 기업과 제품은 다음과 같습니다.
- Commvault
- Dell EMC
- IBM
- Veeam
- Veritas Technologies (Symantec — Veritas Backup Exec)
- Actifio
- MicroFocus (HPE Data Protector)