
내 설정은 다음과 같습니다. libvirt로 KVM을 실행하는 ubuntu 14.04에는 실행 중인 HW-Raid(/dev/sda)와 "datavg라는 LVM VG에 대한 PV인 또 다른 HW-RAID(/dev/sdb)가 있습니다. " 포맷되지 않은 LV에 가상 머신이 설치되어 있습니다. 그런 다음 VM을 다음과 같이 백업했습니다.
- libvirt/virsh 구성 저장
- LV 크기를 저장
- dd를 사용하여 처음 512바이트(MBR 및 GPT)를 저장합니다.
- LV의 LVM 스냅샷 생성
- kpartx를 사용하여 파티션을 매핑하고 vm의 루트 파티션을 마운트합니다.
- 해당 파티션의 fs 유형과 uuid를 저장하세요.
- 이중성을 사용하여 모든 항목의 증분 백업 수행(/proc 제외)
- 마운트 해제 및 매핑 해제
- 스냅샷 삭제
이것은 LV "vm-test-lv"의 "test-vm"이라는 VM으로 복원하기 위해 "돌아가는 길"에서 실행한 것입니다.
동일한 크기의 LV 생성(백업에서)
lvcreate --name vm-test-lv --size 400.00G datavg
LV 시작 부분의 첫 번째 512b에 MBR 및 GPT를 다시 추가하십시오.
dd if=/data/backup/test/MBR-20141126T104236Z.raw of=/dev/datavg/vm-test-lv
LV 파티션 매핑
kpartx -av /dev/datavg/vm-test-lv
동일한 UUID를 사용하여 동일한 FS에서 포맷합니다(둘 다 백업에서).
mkfs.ext4 -U a5943cc4-6421-47a4-9613-30efd4dc44d4 /dev/mapper/datavg-vm--test--lv1
새로 포맷된 파티션을 마운트하세요.
mount /dev/mapper/datavg-vm--test--lv1 /data/mnt/
이중성 백업 복원
duplicity restore --progress --restore-time 20141126T104236Z file:///data/backup/test /data/mnt
마운트 해제
umount /data/mnt
매핑을 제거
kpartx -d /dev/mapper/datavg-vm--test--lv
가상 머신을 생성합니다(이 경우 원래 머신은 여전히 존재하지만 전원이 꺼져 있기 때문에 다른 이름과 uuid를 사용합니다).
virsh create /data/backup/test/virsh-20141126T104236Z.xml
부팅을 시도
작동하지 않고 멈췄습니다. SSH 터널을 통해 VNC를 통해 보면 "하드 디스크에서 부팅 중..."이라고 표시됩니다(스크린샷인라인 이미지를 게시하는 것이 허용되지 않기 때문에)
그런 다음 다시 매핑을 시도하고 루트에 접속하여 시도해 보았지만 grub-install
그것도 작동하지 않았습니다.
root@kvm-host:~# mkdir /data/mnt/proc
root@kvm-host:~# mount --bind /proc /data/mnt/proc
root@kvm-host:~# mount --bind /dev /data/mnt/dev
root@kvm-host:~# mount --bind /sys /data/mnt/sys
root@kvm-host:~# chroot /data/mnt
root@kvm-host:/# grub-install /dev/mapper/datavg-vm--test--lv
Installing for i386-pc platform.
grub-install: error: disk `lvmid/eLefkO-MKtH-kOcq-pt0b-4zzO-31xg-XIqDpY/AcNuFk-JY2r-V8x5-gNoV-UCoi-uQug-8R0ZWZ' not found.
VG와 LV의 올바른 UUID가 표시되지만 잘못 사용하고 있는 것 같습니다... 누구든지 도와주실 수 있나요?