Я собираюсь отказаться от старого сервера 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