forked from apache/cloudstack
-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
추가 확인 필요사항
- 호스트 재부팅 후 체크포인트 유지 확인
- 스토리지 마이그레이션 시 체크포인트 확인
백업 테스트
- Incremental Backup Command 실행
- VM snapshot revert와 incremental 백업 충돌
- 체크 포인트 없는 경우 incremental 백업 동작 실패 확인
- 가상머신 마이그레이션시 체크포인트 상실
- VM 정지 상태에서 incremental 가능 여부 확인
- VM disk 변경 시 incremental chain 영향 확인
- volume resize 후 incremental 백업 가능 여부 확인
- checkpoint metadata 없이 incremental restore 가능 여부 확인
Incremental Backup Command 실행
- 백업 관련 디렉토리 생성
#mkdir -p /backup/i-2-999-VM
#mkdir -p /backup/i-2-299-VM/full
#mkdir -p /backup/i-2-299-VM/inc1
#mkdir -p /backup/i-2-299-VM/inc2
#mkdir -p /backup/i-2-299-VM/checkpoints
- 가상머신 볼륨 확인
#virsh domblklist i-2-299-VM --details >> sda /mnt/glue-gfs/96da846d-d731-4cc3-b752-85bf79d07dcc
- FULL 백업 진행
#vi backup-full.xml
<domainbackup mode='push'>
<disks>
<disk name='sda' type='file'>
<target file='/backup/i-2-299-VM/full/root.full.qcow2'/>
<driver type='qcow2'/>
</disk>
</disks>
</domainbackup>
#virsh backup-begin i-2-299-VM backup-full.xml
#virsh domjobinfo i-2-299-VM
- 체크포인트1 생성
#virsh checkpoint-create-as i-2-299-VM chk1
- 가상머신 내부 데이터 변경 작업 진행
- Incremental 백업 진행
#vi backup-inc1.xml
<domainbackup mode='push'>
<incremental>chk1</incremental>
<disks>
<disk name='sda' type='file'>
<target file='/backup/i-2-299-VM/inc1/root.inc1.qcow2'/>
<driver type='qcow2'/>
</disk>
</disks>
</domainbackup>
#virsh checkpoint-list i-2-299-VM
#virsh backup-begin i-2-299-VM backup-inc1.xml
#virsh domjobinfo i-2-299-VM --completed
- 체크포인트2 생성
#virsh checkpoint-create-as i-2-299-VM chk2
- 가상머신 내부 데이터 변경 작업 진행
- Incremental 백업 진행
#vi backup-inc2.xml
<domainbackup mode='push'>
<incremental>chk2</incremental>
<disks>
<disk name='sda' type='file'>
<target file='/backup/i-2-299-VM/inc2/root.inc2.qcow2'/>
<driver type='qcow2'/>
</disk>
</disks>
</domainbackup>
#virsh backup-begin i-2-299-VM backup-inc2.xml
- 체크포인트 메타데이터 저장
#virsh checkpoint-dumpxml i-2-299-VM chk1 > /backup/i-2-299-VM/checkpoints/chk1.xml
#virsh checkpoint-dumpxml i-2-299-VM chk2 > /backup/i-2-299-VM/checkpoints/chk2.xml
- 체크포인트 확인
#virsh checkpoint-list i-2-299-VM
VM snapshot revert와 incremental 백업 충돌
- VM snapshot 생성
#virsh snapshot-create-as i-2-299-VM snap1
- 가상머신 내부 데이터 변경 작업 진행
- VM snapshot 복원
#virsh snapshot-revert i-2-299-VM snap1
error: Failed to revert snapshot snap1 error: operation failed: load of internal snapshot 'snap1' job failed: Could not load snapshot 'snap1' on 'libvirt-2-format': Device has active dirty bitmaps
>> incremental backup을 위해 생성된 bitmap(checkpoint) 이 존재하고 있기 때문에 snapshot revert가 차단
- 체크포인트 삭제
#virsh checkpoint-delete i-2-299-VM chk1
#virsh checkpoint-delete i-2-299-VM chk2
- VM snapshot 복원 시 정상 확인
체크 포인트 없는 경우 incremental 백업 동작 실패 확인
- Incremental 백업
#virsh backup-begin i-2-299-VM backup-inc.xml
error: Domain checkpoint not found: Checkpoint 'chk' for incremental backup of disk 'sda' not found
가상머신 마이그레이션시 체크포인트 상실
- 체크포인트 확인
#virsh checkpoint-list i-2-299-VM
Name Creation Time
-----------------------------------
chk1 2026-03-16 11:03:44 +0900
chk2 2026-03-16 11:04:49 +0900
- 다른 호스트로 가상머신 마이그레이션
- 다른호스트에서 체크포인트 확인
#virsh checkpoint-list i-2-299-VM
Name Creation Time
-----------------------
- 다시 기존 호스트로 가상머신 마이그레이션해도 체크포인트 없음 확인
- 기존 호스트에서 체크포인트 생성시 migration 과정에서 libvirt checkpoint metadata 는 사라졌지만 qcow2 내부 persistent dirty bitmap chk1 는 남아 있음
error: internal error: unable to execute QEMU command 'transaction': Bitmap already exists: chk1 - 가상머신 비트맵 삭제
#qemu-img info -U /mnt/glue-gfs/96da846d-d731-4cc3-b752-85bf79d07dcc
#qemu-img bitmap --remove /mnt/glue-gfs/96da846d-d731-4cc3-b752-85bf79d07dcc chk1
#qemu-img bitmap --remove /mnt/glue-gfs/96da846d-d731-4cc3-b752-85bf79d07dcc chk2
- 체크포인트 생성시 정상 확인
메타데이터를 checkpoint-dumpxml 로 저장한 후 마이그레이션 후 checkpoint-create 로 복구 필요해보임
VM 정지 상태에서 incremental 가능 여부 확인
- 가상머신 종료
- 가상머신 Incremental 백업 실행
#virsh backup-begin i-2-299-VM backup-inc1.xml
error: failed to get domain 'i-2-299-VM'
VM disk 변경 시 incremental chain 영향 확인
- 루트 볼륨 FULL 백업 후 체크포인트1 생성, 내부 데이터 작업 진행 후 incremental 백업 후 체크포인트2 생성 후 리스트 확인
# virsh checkpoint-list i-2-299-VM
Name Creation Time
-----------------------------------
chk1 2026-03-16 13:40:43 +0900
chk2 2026-03-16 13:43:31 +0900
- 데이터 디스크 연결 후 체크포인트 리스트 확인
# virsh checkpoint-list i-2-299-VM
Name Creation Time
-----------------------
디스크 topology 변경(attach/detach) 시 checkpoint chain이 무효화됨 확인
volume resize 후 incremental 백업 가능 여부 확인
- 루트 볼륨 FULL 백업 후 체크포인트1 생성, 내부 데이터 작업 진행 후 incremental 백업 후 체크포인트2 생성 후 리스트 확인
# virsh checkpoint-list i-2-299-VM
Name Creation Time
-----------------------------------
chk1 2026-03-16 13:40:43 +0900
chk2 2026-03-16 13:43:31 +0900
- 디스크 크기 변경 후 incremental 백업 후 작업 결과 확인 시
# virsh domjobinfo i-2-299-VM --completed
Job type: Completed
Operation: Backup
Time elapsed: 680 ms
File processed: 100.058 GiB
File remaining: 0.000 B
File total: 100.058 GiB
resize 후 incremental이 아니라 사실상 Full 수준으로 백업이 수행된 상황이며, libvirt 공식 권장은 resize 발생 시 체인 reset 후 full backup 수행
checkpoint metadata 없이 incremental restore 가능 여부 확인
- 체크포인트 XML 저장
#virsh checkpoint-dumpxml i-2-299-VM chk1 > chk1.xml
- 체크포인트 삭제
#virsh checkpoint-delete i-2-299-VM chk1
- XML로 체크포인트 재추가
#virsh checkpoint-create VM chk1.xml
- incremental 백업 실행
checkpoint xml만 복구하면 incremental chain 유지 가능 확인
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels