Экспорт виртуальных машин libvirt+KVM в файлы

Я собираюсь удалить старый сервер libvirt + KVM, но мне нужно сохранить виртуальные машины. К сожалению, сеть не работает, и я не могу создать подключения к системе.

Есть ли способ экспортировать виртуальные машины, используя virsh или любая другая утилита?

Пояснение: мне нужны диски и все. Я разверну машины на другом сервере.

4 ответа

Решение

Если вам нужно сделать резервную копию вашей конфигурации VM с помощью virsh, вы можете использовать следующую команду

virsh dumpxml vmname > vmname.xml 

Если вам нужно переместить ваш vm на другой сервер, вы можете сбросить конфигурацию vm и перенести xml, если вы используете файлы в качестве внутреннего хранилища для вашего vm, вы можете скопировать файлы на другой сервер, используя scp или rsync, когда вы скопировали Дисковые файлы VM, вы можете попробовать запустить VM с virsh define /tmp/myvm.xml && virsh start myvm

Вы должны быть в состоянии создать образ ваших дисков из снимка:

Сначала вам нужно убедиться, что Vm не работает:

virsh suspend vm

Теперь вы можете создать снимок, убедитесь, что вы настроили размер 100M и имя vm-root-snapshot в соответствии со своими потребностями.

lvcreate -L 100M -n vm-root-snapshot -s /dev/sysvg/vm-root

После этого вы можете запустить ВМ снова.

virsh resume vm

Теперь, когда у вас есть снимок, вы можете создать изображение и удалить снимок:

dd if=/dev/mapper/sysvg-vm--root--snapshot of=/tmp/vm-root.img bs=1M
lvremove /dev/mapper/sysvg-vm--root--snapshot

Образ можно скопировать на новый сервер и импортировать в LVM на новом сервере с помощью dd

dd if=/tmp/vm-root.img of=/dev/mapper/sysvg-vm--root bs=1M

Также не забудьте импортировать ваш XML-файл.

virsh define /path/to/vm.xml

Кроме того virsh dumpxml который экспортирует настройки виртуальной машины в файл XML:

Скопируйте образы дисков VM, если они разрежены или находятся на блочном томе, правильный путь qemu-img convert -O output_format source destination

Чтобы импортировать, отредактируйте XML, чтобы отразить новое расположение образов дисков, а затем запустите virsh define path/to/dumpXML

Вы можете найти файлы конфигурации вашей виртуальной машины (экспортированныеvirsh dumpxml vmname > vmconfig.xml), а также сетевую конфигурацию qemu в папке /etc/libvirt/qemu. Затем вручную скопируйте файл конфигурации виртуальной машины в ту же папку libvirt '/etc/libvirt/qemu' из новой папки установки libvirt.

При необходимости вы также можете сделать резервную копию/сравнить все файлы конфигурации *.conf libvirt, чтобы сравнить все конфигурации из предыдущей установки. Они находятся внутри /etc/libvirt.

Другие вопросы по тегам