Назад | Перейти на главную страницу

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

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

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

Уточнение: Мне нужны диски и все такое. Я разверну машины на другом сервере.

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

virsh dumpxml vmname > vmname.xml 

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

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

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

virsh suspend vm

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

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:

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

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