VM이 실행되는 동안 KVM virt-clone

VM이 실행되는 동안 KVM virt-clone

virt-clone과 같은 도구 없이 실행 중인 kvm 시스템을 복제할 수 있습니까?

그들은 이미 프로덕션에 원본 VM을 가지고 있으므로 종료할 수 없습니다. 복제본의 일시적인 데이터 손상(초기 fsck로 수정할 수 있는 사항)에 관심이 없다면 qcow 이미지 파일을 새 이름으로 지정하고 해당 디스크를 사용하는 새 vm 정의를 만든 다음 컴퓨터를 시작할 수 있습니까?

답변1

메모리 내 데이터에 관심이 없다면 백업 장치의 스냅샷을 만들고 해당 스냅샷의 복사본을 만들 수 있습니다.

물론 이를 위해서는 스냅샷을 지원하는 스토리지 풀이 필요합니다(BTRFS는 가상 머신 스토리지에 비해 엄청나게 느리기 때문에 대부분 LVM 또는 ZFS).

답변2

나는 그것이라고 의심한다오직(이미 언급했듯이) virt-clone은 실행 중인 VM과의 작동을 거부하기 때문에 virt-clone을 사용하지 않고도 디스크를 복제할 수 있습니다. 따라서 실제 디스크 이미지의 복사본을 만들려면 다른 것을 사용해야 합니다.

기본적인 대답은 시도해 볼 수 있고 운이 좋기를 바라는 것입니다.

게스트 구성의 '스냅샷'을 얻는 것은 충분히 간단합니다( virsh dumpxml NAME그렇게 할 것입니다). 디스크가 두 개 이상인 경우(예: OS 디스크와 n+1개의 데이터 디스크가 있는 경우) OS 디스크 복제를 피하고 대신 새로 설치를 사용할 수 있는지 확인하겠습니다.

그러나 만약 있다면어느디스크 이미지를 복사하는 것 외에는 다른 방법을 선호할 것입니다. 예를 들어 이 모든 것이 데이터베이스 서버와 관련된 경우 데이터베이스 자체 기능을 사용하여 인스턴스 간에 데이터를 안전하게 복사할 것입니다. 파일 시스템을 직접 다루고 있다면 DRBD와 같은 것이 도움이 되는지, 아니면 rsync와 같은 간단한 것이 도움이 되는지 살펴보는 것이 좋습니다.

기본적으로 나는 실제로 수행해야 할 작업을 신중하게 고려하고 사용 중인 디스크 이미지를 복사하는 것과 같은 작업에 시간을 낭비하지 않도록 노력합니다. 복사본이 어떻게 보일지에 대한 문제는 제외하고 디스크를 복사하려고 하면 원본에 어떤 영향을 미칠 수 있는지).

답변3

나는 일하는 VM을 가지고 있었다. 그 동안 KVM 기본 머신에 SSH로 연결하고 cp -ar. 복사하기 전에 언급된 nvme도 포맷하고 파티셔닝했습니다. 그런 다음 사용했습니다.

virsh edit mykvm 

ID와 디스크 위치, 이름을 변경했습니다 ...

내 컴퓨터를 종료하고 새 컴퓨터를 재부팅했습니다. 사라진 것은 열린 창과 크롬 세션뿐이었습니다 ...

일부 시스템이나 응용 프로그램 파일을 작성하지 않는 한 작동하는 것 같습니다 ...

나는 이것을 물론 사용하지 않을 것이다. 실험해보고 실험한 후에 결과를 원본 파일에 구현하겠습니다.

그러나 이를 기본 OS 스냅샷으로 사용해야 한다면. 간단히 파일 시스템 검사를 한 다음 시스템 파일 검사(sha1sum)를 수행하거나 내장된 명령을 사용하여 시스템 파일을 검사합니다.

답변4

이는 RAW 디스크 이미지 형식으로 완전히 가능합니다. qcow2는 잘 모르겠네요...

Debian.img: x86 부트 섹터; 파티션 1: ID=0x83, 활성, 시작 헤드 32, 시작 섹터 2048, 497664 섹터; 파티션 2: ID=0x5, 시작 헤드 59, 시작 섹터 501758, 104353794 섹터, 코드 오프셋 0x63

Debian2.img: x86 부트 섹터; 파티션 1: ID=0x83, 활성, 시작 헤드 32, 시작 섹터 2048, 497664 섹터; 파티션 2: ID=0x5, 시작 헤드 59, 시작 섹터 501758, 104353794 섹터, 코드 오프셋 0x63

테스트를 위해 나는 모든 것을 갖춘 Linux Mint 시스템을 실행했습니다. 그런 다음 새 이미지로 새 VM을 만들었는데 부팅 시 파일 시스템 불일치도 발생하지 않았습니다. 이것은 단지 작은 데스크톱 VM이었지만 제가 "복제"하려고 했던 것은 데이터베이스에서 높은 I/O를 사용하여 프로덕션에서 실행 중인 LAMP 서버입니다.

불일치는 전혀 신경 쓰지 않고 LAMP 환경을 재설정하는 데 시간을 절약하고 싶었습니다. 처음에 기본 이미지를 생성하거나 첫 번째 웹 서버의 스냅샷을 만드는 것이 좋은 생각이었을 것 같지만 완전히 구성되고 난 후에는 테스트가 너무 늦어서 즉시 프로덕션에서 사용하기 시작했습니다.

관련 정보