Windows XP + Virtio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am getting crashes (BSoD) when using Virtio for the disk driver in Windows XP.

It boots fine, it seems to run okay most of the time, but whenever the disk begins to get taxed, 9 times out of 10 it will start locking up then eventually crash with a BSoD about virtio.sys.

Here is the environment:

VM Host is a CentOS 6 server running qemu-kvm-0.12.1.2-2.209 with Kernel version 2.6.32-220.13.1.el6.x86_64.  It's a dual quad-core Xeon with 24 gigs of ram.

It's connected to backend storage via 2 gigabit ethernet connections.  I have created a raw 20gig LVM block device for this XP machine that is exported over iSCSI.

The VM Host is running device-mapper-multipath to utilize both ethernet connections to the SAN.

When I run a disk benchmark tool on the XP machine, the ICMP responses from the box start going through the roof, and even drop off.  It usually bluescreens during the test.

I have eliminated multipathd and setup the XP virt machine to just use the iSCSI /dev/disk/by-id/ block directly, and it still behaves this way.

If I set the machine to use IDE instead of Virtio, it's certainly slower, but the machine never crashes and when running I/O benchmarks, pings stay solid as they should, this is while still using multipathd and iSCSI to the storage server.

Have I setup virtio incorrectly?  How would you go about finding the real issue?

Here is the virt machine's XML (using IDE for disk currently):

<domain type='kvm' id='12'>
  <name>Apollo</name>
  <uuid>d32041b8-853e-e679-edce-2b1f3db55e8a</uuid>
  <memory>4194304</memory>
  <currentMemory>4194304</currentMemory>
  <vcpu>2</vcpu>
  <os>
    <type arch='i686' machine='rhel5.4.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'>
    <timer name='pit' tickpolicy='delay'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/dev/mapper/vm_apollo'/>
      <target dev='vda' bus='ide'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <alias name='ide0-1-0'/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:d7:bb:08'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5900' autoport='yes' keymap='en-us'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
</domain>


Thanks,
Sean--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux