나는 여러 개의 Linux VM을 실행하는 서버()를 가지고 있습니다 xen
. centos 5 base
불 덩어리로 인해 서버가 사망했습니다. 어느 시점에 저장하는 것이 가능할 수도 있지만 그 동안에는 이러한 VM을 다시 온라인으로 가져와야 합니다. 문제는 다른 VM 호스트가 KVM 기반이라는 것입니다. 모든 xen config/xml 파일과 .img
KVM 시스템으로 이동된 파일의 백업이 있습니다...
virt-v2v
그러나 모든 가이드에서는 활성 하이퍼바이저에서 ssh를 가져오는 것을 참조하므로 xen VM을 KVM으로 변환하는 방법을 잘 모르겠습니다 .
또한 현재 내 시스템에서 실행 중인 xen 커널을 어떻게 해야 할지 잘 모르겠습니다... 어떤 제안이 있습니까?
답변1
내 해결책을 찾았습니다.
먼저, 드라이브 이미지를 오프셋에 마운트하고, 마운트 /dev를 바인드하고, 마운트에 chroot를 적용한 후, xen이 아닌 커널을 다운로드해야 합니다.
드라이브의 파티션 정보 가져오기
fdisk -l /images/server1.img
fdisk에 나열된 단위 크기에 fdisk에 나열된 시작점을 곱한 오프셋에 드라이브를 마운트합니다.
mount -t auto -o loop,offset=<offset goes here> /images/server1.img /mnt/server1
부팅 파티션을 마운트합니다. 동일한 규칙이 적용됩니다.
mount -t auto -o loop,offset=<offset goes here> /images/server1.img /mnt/server1/boot
마운트 /dev 바인딩(yum에서는 다운로드하려면 /dev/urandom이 필요함)
mount --bind /dev/ /mnt/server1/dev
드라이브에 chroot
chroot /mnt/server1
커널을 설치하고 chroot를 종료합니다.
yum -y install kernel exit
모두 제거
umount /mnt/server1/dev umount /mnt/server1/boot umount /mnt/server1
virt-v2v를 설치하고 "디스크" 유형을 대상으로 변환에 사용합니다.
yum -y install virt-v2v virt-v2v -i disk /images/server1.img -o local -os /images/
새 가상 머신 시작
virsh create /images/server1.xml