Crmgo Блог

KVM, помилка клонування в CentOS 7

KVM, помилка клонування в CentOS 7

При клонуванні ВМ виникає неприємний баг, пов'язаний з її конфігураційним файлом, у цьому файлі є секція: де test — ім'я ВМ, так ось при клонуванні командою: virt-clone -o test -n test2 -f /tmp/test2.img у шляху це ім'я не змінюється з…

KVM, помилка клонування в CentOS 7

При клонуванні ВМ виникає неприємний баг, пов'язаний з її конфігураційним файлом, у цьому файлі є секція:

<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-test/org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>

де test ім'я ВМ, так ось при клонуванні командою:

virt-clone -o test -n test2 -f /tmp/test2.img

у шляху це ім'я не змінюється з test на test2 і якщо ВМ test не запущена, нова ВМ test2 не стартує і буде виведена помилка:

Цитата
помилка: Не вдалося запустити домен test2 помилка: внутрішня помилка: Процес завершився при підключенні до монітора: 2016-02-12T06:02:41.024054Z qemu-kvm: -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-test/org.qemu.guest_agent.0,server,nowait: Failed to bind socket: No such file or directory 2016-02-12T06:02:41.024121Z qemu-kvm: -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-test/org.qemu.guest_agent.0,server,nowait: chardev: opening backend "socket" failed

Щоб це виправити, потрібно вручну поміняти ім'я ВМ у шляху з test на test2, тобто вийде

<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-test2/org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>

і виконати команду:

systemctl restart libvirtd.service
Щоб не перезавантажуватися, потрібно правити командою virsh edit
Ще буває при клонуванні посилання залишається на старий qcow2 <source file='/var/lib/libvirt/images/Old.qcow2'/>
Я з цим борюся так:
cp /var/lib/libvirt/images/Old.qcow2 /var/lib/libvirt/images/New.qcow2
І виправляю в virsh edit New
<source file='/var/lib/libvirt/images/New.qcow2'/>

Примітка: матеріал міг бути створений за підтримки ШІ з подальшою людською редакцією. Відповідальний за зміст: Dmytro Lomaka, Kaltenkirchen.

Рубрики: KVM