Домен Virsh имеет место в нем, не может удалить

У меня проблемы с запуском или уничтожением домена:

virsh # list --all
 Id    Name                           State
----------------------------------------------------
 1     pxe                            running
 -     Centos_6.5_64                  shut off
 -     Git Server                     shut off

Я не могу запустить домен:

virsh # start Git
error: failed to get domain 'Git'
error: Domain not found: no domain with matching name 'Git'

virsh # start Git Server
error: unexpected data 'Server'

Из-за этого я не могу уничтожить домен.

Как я могу назначить идентификатор или иным образом удалить эту виртуальную машину?

Поскольку в нем есть пробел, я не могу управлять им, как другие домены.

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

Спасибо за любую помощь, которую вы можете оказать.

2 ответа

Решение

Дети, не пытайтесь делать это дома:

Libvirt должен был отклонить создание домена с пробелом в его имени, поэтому кто-то сделал что-то странное, чтобы создать домен для начала. Чтобы исправить это, потребуется ручное редактирование файлов, которые обычно не нужно трогать вручную.

Вот что я бы сделал:

  1. Остановите libvirtd (ваши виртуальные машины продолжат работать).

    service libvirtd stop
    
  2. Найдите нарушающий XML-файл, который должен быть где-то в /etc/libvirt/qemu,

    # ls /etc/libvirt/qemu
    autostart
    Centos_6.5_64.xml
    Git Server.xml
    networks
    pxe.xml
    
  3. Переименуйте оскорбительный файл.

    # mv /etc/libvirt/qemu/Git\ Server.xml /etc/libvirt/qemu/Git_Server.xml
    
  4. Отредактируйте имя в файле обидчика.

    # vi /etc/libvirt/qemu/Git_Server.xml
    
    <domain type='kvm'>
      <name>Git_Server</name>
    ...
    
  5. Перезапустите libvirtd.

    service libvirtd start
    

Это (в настоящее время?) На самом деле так же просто, как:

$ virsh destroy "Git Server"
$ virsh undefine "Git Server"
Другие вопросы по тегам