public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* qemu-server: Severe I/O stalls moving VM disks from NFS to LVM-thin, resolved with -t none
@ 2026-10-28  7:41 RAFAEL SILVA
  0 siblings, 0 replies; only message in thread
From: RAFAEL SILVA @ 2026-10-28  7:41 UTC (permalink / raw)
  To: pve-devel

Hello Proxmox VE developers,

I would like to report an issue with VM disk moves from NFS storage to
LVM-thin using the Proxmox VE web interface.

I investigated the issue, identified a difference in the target cache mode
used by qemu-img, and successfully tested a local workaround.

*Environment*

   -

   Proxmox VE: 9.2.0
   -

   pve-manager: 9.2.21
   -

   qemu-server: 9.2.10
   -

   pve-qemu-kvm: 11.0.3-4
   -

   Kernel: 7.0.14-22-pve
   -

   libpve-storage-perl: 9.1.12
   -

   Source: TrueNAS NFS storage containing RAW VM images
   -

   Destination: local LVM-thin storage (local-lvm)
   -

   Hardware: Dell PowerEdge R710, PERC 6/i, four HDDs in RAID 5
   -

   RAID cache policy: WriteThrough (degraded BBU)

*Observed behavior*

Moving a powered-off VM disk from NFS to LVM-thin through the web interface
caused severe I/O congestion and host responsiveness issues.

During the operation, I observed approximately:

   -

   Write latency (w_await): 1,699 ms
   -

   Average queue size (aqu-sz): 104
   -

   Disk utilization: 94.5%
   -

   Write throughput: 10 MB/s

The problem persisted even with a 5 MiB/s conversion bandwidth limit.

It was reproducible with NFS datasets using both 64K and 128K ZFS record
sizes.

Disk moves in the opposite direction (LVM-thin to NFS) worked normally.

VMware ESXi imports into the same LVM-thin storage also worked normally.

*Command generated by Proxmox*

/usr/bin/qemu-img convert -p -n -r 5120K \
  -f raw -O raw -- \
  /mnt/pve/nas-nfs-vms/images/113/vm-113-disk-0.raw \
  zeroinit:/dev/pve/vm-113-disk-0

*Successful manual conversion*

qemu-img convert -p -n -f raw -O raw -t none -- \
  /mnt/pve/nas-nfs-vms/images/113/vm-113-disk-0.raw \
  zeroinit:/dev/pve/vm-113-disk-0

This completed successfully without the previously observed severe I/O
stalls.

I also verified that an ESXi import using -t none opened its destination
block device with O_DIRECT.

*Relevant implementation*

In PVE/QemuServer/QemuImage.pm, the convert() function contains:

push @$cmd, '-t', 'none' if $dst_scfg->{type} eq 'zfspool';

Therefore, the target cache mode is explicitly set to none for ZFS pool
destinations, but not for LVM-thin.

*Locally tested workaround*

I changed the condition to:

push @$cmd, '-t', 'none'
    if $dst_scfg->{type} eq 'zfspool'
    || ($dst_storeid eq 'local-lvm' && $dst_scfg->{type} eq 'lvmthin');

After applying this modification, VM disk moves from NFS to local-lvm
through the Proxmox web interface completed successfully without the
previous severe I/O stalls.

This workaround is intentionally limited to my local storage ID. I am not
proposing the storage-name-specific condition as an upstream solution.

*Additional testing observations*

The original disk move experienced severe I/O stalls even when the
conversion bandwidth was limited to 5 MiB/s.

Both the successful manual conversion and the subsequent successful
web-interface disk move were performed without a bandwidth limit, using -t
none.

Despite the absence of rate limiting, neither operation reproduced the
previously observed I/O congestion.

This suggests that the target cache mode may be a more significant factor
than the transfer rate itself.

However, since the bandwidth limit and target cache mode were changed
together, I cannot conclusively isolate their individual effects.

I have not repeated the failing conversion solely to test this distinction,
as the original behavior caused severe host responsiveness issues.

*Questions*

Would enabling -t none for LVM-thin destinations be appropriate?

Alternatively, would it be preferable to make the target cache mode
configurable for disk conversion operations?

I understand that the degraded RAID BBU and WriteThrough policy may
contribute to the observed behavior, and I cannot yet determine whether the
issue affects other hardware configurations.

I would appreciate feedback on the preferred approach. This would be my
first contribution to Proxmox VE. I would be happy to perform additional
tests, prepare a patch, or follow any guidance on the preferred approach.

Thank you for your time and for maintaining Proxmox VE.
Rafael Prazeres

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-28  7:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-28  7:41 qemu-server: Severe I/O stalls moving VM disks from NFS to LVM-thin, resolved with -t none RAFAEL SILVA

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal