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

В домене 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

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

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

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"