8

I have installed KVM on Ubuntu Oneiric Server 64 AMD.

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

I tried creating a guest with the same OS. First I tried this:

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

(for this i needed to configure the serial console separately btw)

Then this:

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 both cases the guest is generated successfully. Then I try to start the guest:

virsh start myguest
virst list --all

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

Next I try to connect to the console:

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

Nothing happens after that. The behaviour is the same for both guests. I also tried to connect remotely.

In some cases KVM then goes up to 100% CPU usage. Right now it is not using CPU.

When connecting remotely the console output was a bit more interesting:

Booting from Harddisk

And nothing else. Also I cannot call virsh shutdown myhost, I can only use the destroy command.

Can anyone point out any mistakes I have probably made?

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                        

The only log output I see in /var/log/libvirt/libvirt.log happens when I destroy the guest and tried to connect to the console before:

11:49:28.072: 1441: error : qemuMonitorIO:576 : internal error End of file from monitor
Yashima
  • 223
  • 1
  • 3
  • 8
  • Have you checked libvirtd.log ? Don't know where on Ubuntu it's located, but in Gentoo is /var/log/libvirt. Probably it has some clue to what's happening – Feiticeir0 Apr 26 '12 at 09:41
  • I have, nothing much intersting to see. I'll update the post – Yashima Apr 26 '12 at 09:49
  • I see you do all with command line tools, but, have you tried with virt-manager and see ? Usually virt-manager also give errors when kvm virtual machines don't boot (or work) – Feiticeir0 Apr 26 '12 at 10:46
  • Thanks for that hint. It looks like a really helpful tool. Except in this case it doesn't tell me anything new - yet. I started the machine. It is at 100% CPU and the console says "Booting from harddisk" (as above) – Yashima Apr 26 '12 at 11:41
  • After creating a new guest with the virt-manager I found this one to be working. So I am guessing that both my tries above to create a guest were faulty. Thanks so much for the hint with virt-manager. Saved my day - or rather week. If you would add it as an answer I could accept and upvote it – Yashima Apr 26 '12 at 12:59

3 Answers3

3

In order to connect to the serial console, you need the guest to support it first. This means the guest must have console=ttyS0 appended to the kernel start line in grub.conf. This also means the libvirt config for the VM should contain the following:

<serial type='pty'>
  <target port='0'/>
</serial>
<console type='pty'>
  <target type='serial' port='0'/>
</console>
dyasny
  • 18,802
  • 6
  • 49
  • 64
  • 1
    Thanks, this is a helpful addition to my question, I forgot to mention that I did configure the serial console for the vmbuilder variant. It still did not fix the problem however, since the vm would not boot. – Yashima Apr 27 '12 at 15:08
0

As suggested in the comments I solved this problem with a work-around by using yet another tool to create the guests. This is a graphic tool called Virtual Machine Manager with which I was able to connect to my kvm remotely and create a guest from an iso image I had placed on the server.

I know it is not a true solution but I won't be pursuing the other options since I found a way to create guests.

Yashima
  • 223
  • 1
  • 3
  • 8
-1

I had a similar problem on an ubuntu 12.04 host:

  • I used ubuntu-vm-builder to create the guest (ubuntu precise)
  • virsh start testguest -> console via VNC is telling me "Booting from Harddisk"
  • kvm is using CPU 100% ...argh

/var/log/libvirt/libvirtd.log showed me:

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

It appears that the vm-builder needed some power-management tools.

apt-get install pm-utils

on the host solved this problem for me.

tamago
  • 11
  • 1
  • 1
    This doesn't appear related to this question at all. – Michael Hampton Nov 20 '13 at 08:20
  • 1
    You have two symptoms in common with the OP ("Booting from Harddisk" and 100% KVM CPU usage) but he did not get that error message in his `libvirtd.log` which suggests the *root cause* is different. If you have solved a problem that doesn't have a question here, you can ask and answer your own question. – Ladadadada Nov 20 '13 at 10:52