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

KVM / libvirt: как мигрировать между 2 хостами с разными процессорами

Я попытался перенести свой KVM-хост с хоста с процессором AMD на хост с процессором Intel, но когда я запустил virsh start guest_name я получил error: unsupported configuration: CPU model ... is not supported by hypervisor.

Я знаю, что KVM поддерживает такую ​​миграцию (в FAQ даже говорится о живой миграции между 64-битными процессорами AMD / Intel). Что я должен делать?

Вам следует отредактировать часть xml-определения вашего гостя, чтобы она содержала подмножество возможностей ЦП, которые есть в обоих ЦП (Intel и AMD). Ты можешь использовать virsh чтобы найти это подмножество. Вот как:

На 1-м хосте

$ virsh capabilities | virsh cpu-baseline /dev/stdin > /tmp/host1.xml

# copy this file to Host#2 -- e.g.:
$ scp /tmp/host1.xml $HOST2:/tmp/host1.xml

Все остальное происходит на 2-м хосте

$ virsh capabilities | virsh cpu-baseline /dev/stdin > /tmp/host2.xml
$ cat /tmp/host1.xml /tmp/host2.xml > /tmp/both-cpus.xml

Теперь редактировать both-cpus.xml и:

  1. оставить только <cpu>....</cpu> разделы
  2. из этих разделов удалите строки с <vendor>....</vendor>

Наконец, запустите это:

$ virsh cpu-baseline /tmp/both-cpus.xml

Если вы получите эту ошибку «Ошибка XML: отсутствует архитектура процессора» Добавить <arch>x86_64</arch> в обоих <cpu>...</cpu> разделы. Конечно x86_64 для современных процессоров AMD и Intel, если вы работаете с какой-либо другой архитектурой, отрегулируйте соответствующим образом (благодаря harald за этот совет).

Вывод вышеуказанной команды должен использоваться в определениях xml гостя.

Ссылки