On 8/29/2011 10:29 PM, Trey Dockendorf wrote:
Have you looked into using virt-manager?  When I started using KVM I found that new VM provisioning was much simpler with that interface.

Alas, Virtmanager doesn't seem to be a supported program under Gentoo - the distribution I use.  If its X-based, it wouldn't work anyhow - I'm strictly a command line shop.

Once you've created your domain with "virt-install" you can make changes using virsh.

virsh -c qemu:///system edit Test

That will allow you to directly edit the domain.

In the virt-install line you used "bridge=br0" , maybe replace that with "bridge=tap5".  If that doesn't do it, once your editing the XML you can try something like the following...

I'm familiar with virsh edit and have used it to probe around a bit.  Actually tried the "bridge=tap5" a few days ago and get the message:

ERROR    internal error Failed to add tap interface to bridge. tap5 is not a bridge device


    <interface type='bridge'>
      <mac address='52:54:00:4d:74:c7'/>
      <source bridge='tap5'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

That was created using virt-manager, so you probably need to use what virt-install created for your mac address and address.

Gave that a shot, attempting to create a new domain with "br0" replaced by "tap5" and got the same error message:

error: internal error Failed to add tap interface to bridge. tap5 is not a bridge device



Is your init failing on /dev/vda3 and then kernel panic?  If so it's likely your guest OS doesn't have the necessary kernel modules loaded.  Depending on your distro it will vary, but using CentOS 6 I've found they are automatically loaded.  This is what's loaded in CentOS 6

Well, yes and no.  Its failing with a kernel panic because KVM is being started with if=none instead of if=virtio.  If I manually change it, it works fine.  Just need to know where to update that in the domain XML file.

For what its worth, the image runs 100% fine with started manually with:

kvm -net nic,model=virtio -net tap,ifname=tap5,script=no  -drive file=test1.img,if=virtio,boot=on -curses -no-reboot -m 2g -smp 2

So I know the image is good.


# lsmod | grep virtio
virtio_blk              5087  5 
virtio_pci              6733  0 
virtio_ring             7169  2 virtio_blk,virtio_pci
virtio                  4824  2 virtio_blk,virtio_pci

Try changing the disk to ide , and then verifying your system is able to load the virtio modules.

Also , once you have your XML the way you like, if your going to stick with command line look at using virsh though I highly recommend virt-manager.

I'm still very new to KVM myself, so hopefully that was of some use

- Trey

Thanks!