This should be fixed with pve-qemu-kvm package updated to 8.1.2-5.
Hi,
no, that is not true. If your PBS connection is too slow or gets lost, the issue described in this thread is still present.
So backup fleecing doesn't help...? Or only in some scenarios?
Is it fair to say that the PBS issue is just one manifestation of a group of IO / hang problems that many are hoping Vadim @ RH's work on the virtio drivers might fix? Is it even possible that the PBS issue is unrelated to the original issue that Vadim reached out for?
I - like many - saw a presentation of the IO issue every time I performed a Windows cumulative update. Sometimes this is obscured as a boot failure because upon crashing a VM, the VM might attempt a boot-time
chkdsk
, resulting in more IO, which exacerbates the problem. This was often reported during initial patching following Windows setup. These were ultimately unresolved because users were leaving the workaround in place (using IDE or SATA instead - I believe the default LSI works too), e.g. as mentioned
here. Updating just one VM could bring the whole server down even if I shut down most of my other VMs on the affected host. In my case, I think several issues were at play which I have attempted to provide some details of in the thread I started
here.
ok, switching to threads does not help either. and again the errors only occur a few minutes after the backup has been completed.
Worked for me per
https://bugzilla.kernel.org/show_bug.cgi?id=199727#c24. (not my post btw)
I note you do have to enable
iothread=1, not just
aio=threads. Very important..!! You did do that, right..?
I suspect the issue is in the
io_uring and
native Async IO implementations. Perhaps a shared library
threads doesn't use...? Whether it is Proxmox specific or upstream I couldn't say. It's unfortuante I never tried
threads in the 19 months (!!) I was troubleshooting this. All the materials I read sold me on
io_uring or
native, and as a result I never even trialled
threads. I suspect this will prove to be a common theme amongst users.
Have you tried tuning virtio-scsi parameters as advised by virtio devs?
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vioscsi\Parameters\Device
- IoTimeoutValue = 0x5a (90)
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vioscsi\Parameters\Device
- PhysicalBreaks = 0x3f (63)
The
IoTimeoutValue has been implemented since Windows 8. It has been much more common practice in MSCS and SAN based environments to set the
HKLM\System\CurrentControlSet\Services\Disk\TimeoutValue global value instead (due to historical reasons, i.e. it has been available since NT4.0 iirc). The default for this is 60s, which really should be plenty. In the absence of either registry value, the default is 10s. That being said, it is possible the driver does not properly implement the StorPort Miniport specifc
IoTimeoutValue and
IoLatencyCap tuning parameters in the registry (there are others too, but the defaults should suffice). These would exist at
HKLM\System\CurrentControlSet\Services\vioscsi\Parameters (
no "Device" key at the end)
. This can also be implemented at the class level at
HKLM\System\CurrentControlSet\Services\Disk\IoTimeoutValue., as version 0.1.248 of the driver does. It is my view the defaults (60s) for
TimeoutValue and
IoTimeoutValue will be sufficient in almost all cases.
More info:
https://learn.microsoft.com/en-us/w...ge/registry-entries-for-scsi-miniport-drivers
https://learn.microsoft.com/en-us/w...egistry-entries-for-storport-miniport-drivers
https://github.com/virtio-win/kvm-guest-drivers-windows/issues/907 (CAUTION: There are more that a few errors in this post, but it is an imformative thread)
The
PhysicalBreaks registry entry actually needs to be set to less than the
max_segments size for each backing block device.
This can be determined by issuing the command
grep "" /sys/block/*/queue/max_segments
.
If, for example, your block device has a
max_segments of 60, it should be set to no more than 59, but one might consider setting it to 32 instead.
More info:
https://github.com/virtio-win/kvm-guest-drivers-windows/issues/827