KVM Gäste booten nicht

7

Ich habe KVM auf Ubuntu Oneiric Server 64 AMD installiert.

uname -a 
Linux myhostname 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Ich habe versucht, einen Gast mit demselben Betriebssystem zu erstellen. Zuerst habe ich das versucht:

vmbuilder kvm ubuntu \
--suite oneiric --flavour virtual --arch amd64 \ 
--libvirt qemu:///system \
--ip 192.168.0.100 \
--hostname myguest \
--part vmbuilder.partition \ 
--user adminUser --name fullname--pass defaultPass \
--addpkg apache2 --addpkg apache2-utils --addpkg tomcat6 --addpkg mysql-client \
--addpkg mysql-server --addpkg wwwconfig-common --addpkg dbconfig-common \
--addpkg apache2.2-common --addpkg unattended-upgrades --addpkg vim \ 
--addpkg openssh-server \ 
--mem 2048 \
--bridge br0

(dafür musste ich die serielle Konsole übrigens separat konfigurieren)

Dann das:

virt-install \ 
--connect qemu:///system -n myguest -r 2048 -f myguest.qcow2 \
-s 12 -c ubuntu-11.10-server-amd64.iso --vnc --noautoconsole --os-type linux \
--os-variant ubuntuOneiric --accelerate --network=network:default

In beiden Fällen wird der Gast erfolgreich generiert. Dann versuche ich den Gast zu starten:

virsh start myguest
virst list --all

Id Name                 State
----------------------------------
4 myguest               running

Als nächstes versuche ich, eine Verbindung zur Konsole herzustellen:

virsh --connect qemu:///system console myguest
Connected to domain myguest
Escape character is ^]

Danach passiert nichts mehr. Das Verhalten ist für beide Gäste gleich. Ich habe auch versucht, eine Remoteverbindung herzustellen.

In einigen Fällen steigt KVM dann auf 100% CPU-Auslastung. Im Moment wird keine CPU verwendet.

Bei der Remoteverbindung war die Konsolenausgabe etwas interessanter:

Booting from Harddisk

Und sonst nichts. Ich kann auch nicht anrufen virsh shutdown myhost, ich kann nur den destroyBefehl verwenden.

Kann jemand auf Fehler hinweisen, die ich wahrscheinlich gemacht habe?

dpkg --list | grep qemu

ii  qemu-common                      0.14.1+noroms-0ubuntu6.2             
ii  qemu-keymaps                     0.15.50-2011.08-0ubuntu4              
ii  qemu-kvm                         0.14.1+noroms-0ubuntu6.2               
ii  qemu-kvm-extras                  0.15.50-2011.08-0ubuntu4                
ii  qemu-system                      0.15.50-2011.08-0ubuntu4                
ii  qemu-user                        0.15.50-2011.08-0ubuntu4                
ii  python-vm-builder                0.12.4+bzr469-0ubuntu1        
ii  libvirt-bin                      0.9.2-4ubuntu15.2         
ii  libvirt0                         0.9.2-4ubuntu15.2                   
ii  python-libvirt                   0.9.2-4ubuntu15.2                                 
ii  virtinst                         0.600.0-1ubuntu1                        

Die einzige Protokollausgabe, die ich sehe, /var/log/libvirt/libvirt.logerfolgt, wenn ich den Gast zerstöre und zuvor versucht habe, eine Verbindung zur Konsole herzustellen:

11:49:28.072: 1441: error : qemuMonitorIO:576 : internal error End of file from monitor
Yashima
quelle
Haben Sie libvirtd.log überprüft? Ich weiß nicht, wo es sich unter Ubuntu befindet, aber in Gentoo ist / var / log / libvirt. Wahrscheinlich hat es einen Hinweis darauf, was passiert
Feiticeir0
Ich habe nicht viel Interessantes zu sehen. Ich werde den Beitrag aktualisieren
Yashima
Ich sehe, dass Sie alle mit Befehlszeilentools arbeiten, aber haben Sie es mit virt-manager versucht und sehen? Normalerweise geben virt-manager auch Fehler, wenn virtuelle kvm-Maschinen nicht booten (oder funktionieren)
Feiticeir0
Danke für diesen Hinweis. Es sieht aus wie ein wirklich hilfreiches Werkzeug. Außer in diesem Fall sagt es mir noch nichts Neues. Ich habe die Maschine gestartet. Es ist bei 100% CPU und die Konsole sagt "Booten von der Festplatte" (wie oben)
Yashima
Nachdem ich mit dem Virt-Manager einen neuen Gast erstellt hatte, stellte ich fest, dass dieser funktioniert. Ich vermute also, dass meine beiden oben genannten Versuche, einen Gast zu erstellen, fehlerhaft waren. Vielen Dank für den Hinweis mit virt-manager. Hat meinen Tag gerettet - oder besser gesagt die Woche. Wenn Sie es als Antwort hinzufügen würden, könnte ich es akzeptieren und positiv bewerten
Yashima

Antworten:

2

Um eine Verbindung zur seriellen Konsole herzustellen, muss der Gast diese zuerst unterstützen. Dies bedeutet, dass der Gast console=ttyS0an die Kernel-Startzeile in grub.conf angehängt haben muss . Dies bedeutet auch, dass die libvirt-Konfiguration für die VM Folgendes enthalten sollte:

<serial type='pty'>
  <target port='0'/>
</serial>
<console type='pty'>
  <target type='serial' port='0'/>
</console>
dyasny
quelle
1
Vielen Dank, dies ist eine hilfreiche Ergänzung zu meiner Frage. Ich habe vergessen zu erwähnen, dass ich die serielle Konsole für die vmbuilder-Variante konfiguriert habe. Das Problem wurde jedoch immer noch nicht behoben, da die VM nicht booten würde.
Yashima
0

Wie in den Kommentaren vorgeschlagen, habe ich dieses Problem mit einem Workaround gelöst, indem ich ein weiteres Tool zum Erstellen der Gäste verwendet habe. Dies ist ein Grafiktool namens Virtual Machine Manager, mit dem ich eine Remoteverbindung zu meinem kvm herstellen und einen Gast aus einem ISO-Image erstellen konnte, das ich auf dem Server platziert hatte.

Ich weiß, dass es keine echte Lösung ist, aber ich werde die anderen Optionen nicht verfolgen, da ich einen Weg gefunden habe, Gäste zu schaffen.

Yashima
quelle
-1

Ich hatte ein ähnliches Problem auf einem Ubuntu 12.04-Host:

  • Ich habe Ubuntu-VM-Builder verwendet, um den Gast zu erstellen (Ubuntu präzise)
  • virsh start testguest -> Konsole über VNC sagt mir "Booten von der Festplatte"
  • kvm verwendet CPU 100% ... argh

/var/log/libvirt/libvirtd.log zeigte mir:

2013-11-19 18:25:10.551+0000: 9815: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2013-11-19 18:25:13.122+0000: 9815: error : virExecWithHook:327 : Cannot find 'pm-is-supported' in path: No such file or directory

Es scheint, dass der VM-Builder einige Energieverwaltungstools benötigte.

apt-get install pm-utils

auf dem Host löste dieses Problem für mich.

Tamago
quelle
1
Dies scheint überhaupt nicht mit dieser Frage zu tun zu haben.
Michael Hampton
1
Sie haben zwei Symptome gemeinsam mit dem OP ("Booten von der Festplatte" und 100% KVM-CPU-Auslastung), aber er hat diese Fehlermeldung nicht erhalten, libvirtd.logdie darauf hinweist, dass die Grundursache unterschiedlich ist. Wenn Sie ein Problem gelöst haben, für das hier keine Frage gestellt wird, können Sie Ihre eigene Frage stellen und beantworten.
Ladadadada