virtio-win / kvm-guest-drivers-windows

Windows paravirtualized drivers for QEMU\KVM
https://www.linux-kvm.org/page/WindowsGuestDrivers
BSD 3-Clause "New" or "Revised" License
2k stars 384 forks source link

win2008r2 amd64 crash when using same backingfile #6

Closed paymentslab closed 6 years ago

paymentslab commented 11 years ago

Environment:

labuser@os-cloud-2:~$ uname -a Linux os-cloud-2 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

labuser@os-cloud-2:~$ kvm --version QEMU emulator version 1.0 (qemu-kvm-1.0), Copyright (c) 2003-2008 Fabrice Bellard

Multiple version drivers (up to build-48) from: http://people.redhat.com/vrozenfe/

Openstack Folsom is used for deployment

libvirt: cache=none image=qcow2

I've been tracking down an issue that when I deploy multiple win2k8r2 instances that end up using the same backingfile (at it seems this is the issue) I end up with a BSOD for every instance except the first. This happens often directly when applying the new settings to the generalized instance and sometimes to a running instance. (DRIVER_IRQL_NOT_LESS_OR_EQUAL)

If I make the backingfile unique per instance the problem seems to go away, but needless to say that is not a situation I would like to maintain.

I can provide a minidump and even provide access to the environment if that helps tracking down the issue.

YanVugenfirer commented 11 years ago

Hi,

Thank you for the report.

First of all please send provide minidump file. I am on vacation now, but will look at it on Monday when I will be back.

Also what do you mean by "backing file" - one images for multiple VMs? One base image for multiple VMs?

If possible please also provide the exact way you deploy the VMs.

Thanks, Yan.

On Fri, Dec 14, 2012 at 2:23 PM, paymentslab notifications@github.comwrote:

Environment:

labuser@os-cloud-2:~$ uname -a Linux os-cloud-2 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

labuser@os-cloud-2:~$ kvm --version QEMU emulator version 1.0 (qemu-kvm-1.0), Copyright (c) 2003-2008 Fabrice Bellard

Multiple version drivers (up to build-48) from: http://people.redhat.com/vrozenfe/

Openstack Folsom is used for deployment

libvirt: cache=none image=qcow2

I've been tracking down an issue that when I deploy multiple win2k8r2 instances that end up using the same backingfile (at it seems this is the issue) I end up with a BSOD for every instance except the first. This happens often directly when applying the new settings to the generalized instance and sometimes to a running instance.

If I make the backingfile unique per instance the problem seems to go away, but needless to say that is not a situation I would like to maintain.

I can provide a minidump and even provide access to the environment if that helps tracking down the issue.

— Reply to this email directly or view it on GitHubhttps://github.com/YanVugenfirer/kvm-guest-drivers-windows/issues/6.


Daynix Computing LTD Yan Vugenfirer, Technology expert and consultant Email: yan@daynix.com Phone: +972-54-4758084 Web: www.daynix.com

paymentslab commented 11 years ago

Hi,

Thanks for the reply.

You can find the minidump here: https://docs.google.com/open?id=0B_Y7S4YFVWvYLU5WdDlFdmdQS0E

I'm not entirely sure what drivers I'm using here, I have been experimenting with them. Most of the time I'm not able to pass the "installing device drivers" stage. This one is by (coincidence) just after this so I was able to recover and get the minidump.

Backing file is used for thin provisioning. Ie: multiple instances use the same base image but write their own changes to a separate file.

It seems pretty reproducible, as said I can give access the the environment if required.

Cheers Bolke

YanVugenfirer commented 11 years ago

Hi Vadim,

Please take a look, the crash is in viostor. If needed we can get an access to the setup.

Thanks, Yan.

On Sun, Dec 16, 2012 at 9:44 PM, paymentslab notifications@github.comwrote:

Hi,

Thanks for the reply.

You can find the minidump here: https://docs.google.com/open?id=0B_Y7S4YFVWvYLU5WdDlFdmdQS0E

I'm not entirely sure what drivers I'm using here, I have been experimenting with them. Most of the time I'm not able to pass the "installing device drivers" stage. This one is by (coincidence) just after this so I was able to recover and get the minidump.

Backing file is used for thin provisioning. Ie: multiple instances use the same base image but write their own changes to a separate file.

It seems pretty reproducible, as said I can give access the the environment if required.

Cheers Bolke

— Reply to this email directly or view it on GitHubhttps://github.com/YanVugenfirer/kvm-guest-drivers-windows/issues/6#issuecomment-11421863.


Daynix Computing LTD Yan Vugenfirer, Technology expert and consultant Email: yan@daynix.com Phone: +972-54-4758084 Web: www.daynix.com

vrozenfe commented 6 years ago

Using the same backend file is a quite unusual and dangerous scenario. Modern qemu fails with " Failed to get "write" lock error" to prevent such kind of situation. Using virtio-scsi (+LIO Target) is the right way to establish multiply connection to the same backend storage from single or multiply VM(s).

Closing this issue as it will not be fixed. Vadim.

bolkedebruin commented 6 years ago

That’s a bit strange, cause this is often the default for cloud systems in order to preserve storage. But I’m quite sure you are misinterpreting the issue? One backing file works in a copy on write fashion. It works as the base image and changes are written to a different file. I don’t consider this “dangerous”.

This issue was opened 5 years ago not sure if it still persists.

vrozenfe commented 6 years ago

I'm probably wrong, but in my understanding sharing the same backend storage between several VMs supposed to imply some sort of IO synchronisation like SCSI-3 PR to keep it running safely. viostor driver was not designed to work in this mode.