Nach einem Update von Ubuntu 10.04 auf 12.04 werden unter Umständen alle von libvirt verwalteten virtuellen Maschinen nicht mehr angezeigt. So bleibt die Liste der VMs mit dem Befehl virsh und im virt-manager leer. Im folgenden wird kurz gezeigt, wie dies relativ leicht behoben werden kann.
So weit zu sehen ist, liegt das Problem nicht am Ubuntu-Update, sondern wohl an einem Fehler bzw. Kompatibilitätsproblem zwischen dem alten und dem neuen libvirt Dienst. Ein kurzer Blick in die Log-Datei /var/log/libvirt/libvirtd.log brachte eine beachtliche Zahl der folgenden Meldung zum Vorscheinen. Dabei passte die Anzahl der Meldungen auf den ersten Blick auf die Anzahl der vorhandenen VM-Konfigurationen.
1906: error : virDomainDefParseXML:7542 : unsupported configuration: Only the first console can be a serial port
Dies lässt vermuten, dass der Fehler in den Konfigurationsdateien zu suchen ist. Die Konfiguration jeder einzelnen VM liegt in einer XML-Datei im Ordner /etc/libvirt/qemu/. Wird eine Datei mit einem Texteditor geöffnet, fällt folgendes auf.
<domain type='kvm'>
...
<devices>
...
<console type='pty'>
<target port='0'/>
</console>
<console type='pty'>
<target port='0'/>
</console>
...
</devices>
</domain>
Aus irgendeinem Grund wurden bei der älteren libvirt Version zwei serielle Konsolen konfiguriert. Die Lösung des Problem ist, einfach einen "<console...>...</console>"-Abschnitt komplett zu entfernen. Anschließend muss der libvirt-Dienst neu gestartet werden.
$ sudo service libvirt-bin restart
War bis dahin alles erfolgreich sollten alle so angepassten VMs wieder mit virsh angezeigt bzw. im virt-manager auftauchen.