KVM 원시 이미지 백업

KVM 원시 이미지 백업

내 가상 머신용 원시 이미지를 사용하여 CentOS 6.3에서 qemu-img-0.12.1.2-2.355.0.1.el6을 실행하고 있습니다. 게스트를 중지하지 않고 안전하게 백업할 수 있는 방법이 있나요? 실행 중이 아닌 테스트 게스트에서 스냅샷을 만들려고 했지만 "이 qemu 바이너리에서는 라이브 디스크 스냅샷이 지원되지 않습니다."라는 오류가 발생했습니다. 이는 원시 형식이 모든 유형의 스냅샷에 적합하지 않다는 의미입니까, 아니면 내 KVM 패키지에 문제가 있습니까? 게스트를 정지하는 것만으로도 dd 작업을 수행할 수 있다고 읽었는데 맞나요? 이 분야의 모범 사례를 공유해 주실 수 있나요?

답변1

당신이 사용하는 경우날것의영상파일일관된 스냅샷을 얻는 유일한 방법은 VM을 일시 중단하거나 종료하는 것입니다.

VM을 일시 중단하지 않고 qcow2 이미지 파일을 사용하여 스냅샷을 찍을 수 있지만 스냅샷은 해당 파일의 일부가 됩니다. 이는 귀하의 상황에 따라 적절할 수도 있고 그렇지 않을 수도 있습니다.

스냅샷 테이블 LVM 볼륨 또는 ZFS zvols와 같은 CentOS 7 또는 최신 Fedora 하이퍼바이저를 사용하는 경우 더 많은 옵션이 있습니다. 이러한 최신 시스템에서는 virsh domfsfreeze게스트가 스냅샷을 찍고 virsh domfsthaw, 게스트가 스냅샷을 백업하게 됩니다. 이를 위해서는 게스트에서 실행 중인 qemu-guest-agent가 필요합니다.

답변2

VM을 virsh suspend <domain>일시 중지하면 VM이 정지됩니다. 문서에 따르면 모든 디스크 I/O 및 네트워크 I/O가 일시 중지되는 반면 VM은 여전히 ​​호스트의 RAM을 사용합니다.

Centos가 있는 경우 LVM 파티션이 있고 그 위에 XFS 파티션이 있을 가능성이 높습니다. 설명이 true인 경우 다음 방법으로 백업할 수 있습니다.

  • VM에 캐시를 삭제하고 일시 중지합니다.
  • 호스트에 캐시를 삭제하고 LVM 스냅샷을 수행합니다.
  • 호스트 어딘가에 LVM 스냅샷을 마운트하고 백업 일정을 수행하십시오.

데이터베이스 서버에서도 작동합니다. 호스트와 가상 머신의 커널 매개변수가 기본값이라고 가정하면 호스트나 VM에 캐시를 삭제하지 않고 파일 서버(예: Samba)를 백업하는 것도 완전히 안전합니다. 데이터 손실은 최소화됩니다. 예를 들어 Ext4는 5초마다 RAM의 더티 페이지를 커밋합니다(기본 설정). 정지 전 5초 이내에 커밋된 데이터가 손실될 수 있습니다. 그 정도의 데이터 손실은 나에게 허용되었습니다.

모든 백업 방법에는 몇 가지 단점이 있습니다. 가동 중지 시간 또는 잠재적인 데이터 손실. 많은 데이터베이스 관리자는 데이터베이스 엔진(예: MS SQL)이 변경 사항을 적용하기 전에 모든 트랜잭션을 파일 시스템에 커밋해야 할 때 데이터 손실로 인해 데이터가 손상될 수 있다고 생각하는 경우가 많습니다. 반면에 그들은 백업에서 데이터를 복원하는 것을 수락하고 데이터 손실에 동의합니다.

관련 정보