NOTE:
old title of this thread is "weird disk write i/o pattern on source disks when moving virtual disk".
it has been adjusted to match the bugzilla ticket .it's about a performance regression finding which seems to affect virtual machines with qcow2 when those are stored on zfs. it was found/tested with local zfs. currently it's unknown, if this is reproducable with remote/nfs attached zfs storage. maybe someone has a setup to test this. please report the results.
hello,
i made some really weird observation i cannot explain to myself.
i moved some vm's from an old 6.4 cluster to a new 7.3 cluster. (copy via scp)
the virtual machines have qcow2 disks and are located on zfs datasets.
after moving the virtual machine to the new cluster, i moved one of the vm's virtual disk from a hdd zfs dataset to an ssd zfs dataset with "move disk" via webgui (while vm was running but same applies when vm is offline and qemu-img is being used instead of drive mirror)
the disk move is totally slow , about 5-20Mb/s
the weird thing is, that it is slow because apparently there are high WRITE IOPS on the source dataset, which bring the ordinary harddisk to their iops limit.
there is nothing other on that dataset - only the virtual machine , which is completely idle inside.
it's the disk move causing the high write IOPS on the SOURCE dataset, but i can't determine what's being written there and who's writing - and why.
from my understanding, there should be reads on the source and writes on the target dataset.
does qemu-img or qemu drive mirror issue writes to the source virtual disk file when being moved ?
does anybody have a clue what's happening here and why the problem goes away after the first move ?
i can move the virtual disk forth and back and it's always fast and i don't see the high write iops anymore.
only the first move is slow
slow
https://pastebin.com/VeXeJdnz
fast:
https://pastebin.com/hrLhnFhQ
old title of this thread is "weird disk write i/o pattern on source disks when moving virtual disk".
it has been adjusted to match the bugzilla ticket .it's about a performance regression finding which seems to affect virtual machines with qcow2 when those are stored on zfs. it was found/tested with local zfs. currently it's unknown, if this is reproducable with remote/nfs attached zfs storage. maybe someone has a setup to test this. please report the results.
hello,
i made some really weird observation i cannot explain to myself.
i moved some vm's from an old 6.4 cluster to a new 7.3 cluster. (copy via scp)
the virtual machines have qcow2 disks and are located on zfs datasets.
after moving the virtual machine to the new cluster, i moved one of the vm's virtual disk from a hdd zfs dataset to an ssd zfs dataset with "move disk" via webgui (while vm was running but same applies when vm is offline and qemu-img is being used instead of drive mirror)
the disk move is totally slow , about 5-20Mb/s
the weird thing is, that it is slow because apparently there are high WRITE IOPS on the source dataset, which bring the ordinary harddisk to their iops limit.
there is nothing other on that dataset - only the virtual machine , which is completely idle inside.
it's the disk move causing the high write IOPS on the SOURCE dataset, but i can't determine what's being written there and who's writing - and why.
from my understanding, there should be reads on the source and writes on the target dataset.
does qemu-img or qemu drive mirror issue writes to the source virtual disk file when being moved ?
does anybody have a clue what's happening here and why the problem goes away after the first move ?
i can move the virtual disk forth and back and it's always fast and i don't see the high write iops anymore.
only the first move is slow
Code:
capacity operations bandwidth
pool alloc free read write read write
----------------------------------------------------- ----- ----- ----- ----- ----- -----
hddpool 444G 668G 30 1.04K<-! 918K 6.56M
mirror-0 222G 334G 25 536 775K 2.85M
scsi-35000cca0561119d4 - - 10 271 319K 1.43M
scsi-35000cca05601fd28 - - 14 265 456K 1.42M
mirror-1 222G 334G 4 534 143K 3.71M
scsi-35000cca05601fad8 - - 4 263 143K 1.85M
scsi-35000cca043dae6dc - - 0 271 0 1.86M
----------------------------------------------------- ----- ----- ----- ----- ----- -----
rpool 2.67G 106G 0 0 0 0
mirror-0 2.67G 106G 0 0 0 0
ata-INTEL_SSDSC2BB120G6R_PHWA6384053K120CGN-part3 - - 0 0 0 0
ata-INTEL_SSDSC2BB120G4_PHWL442300A2120LGN-part3 - - 0 0 0 0
----------------------------------------------------- ----- ----- ----- ----- ----- -----
ssdpool 277G 611G 0 440 0 20.2M
mirror-0 277G 611G 0 440 0 20.2M
sdd - - 0 216 0 10.1M
sdc - - 0 224 0 10.1M
----------------------------------------------------- ----- ----- ----- ----- ----- -----
slow
https://pastebin.com/VeXeJdnz
fast:
https://pastebin.com/hrLhnFhQ
Code:
# cat /etc/pve/qemu-server/223.conf
agent: 1
boot: order=ide2;scsi0
cores: 4
cpu: host
ide2: none,media=cdrom
memory: 8192
name: gitlab
net0: virtio=72:A6:BD:68:E4:3A,bridge=vmbr1,firewall=1,tag=23
numa: 0
onboot: 1
ostype: l26
scsi0: vms-qcow2-ssdpool:223/vm-223-disk-0.qcow2,aio=threads,discard=on,iothread=1,size=40G
scsi1: vms-qcow2-ssdpool:223/vm-223-disk-1.qcow2,aio=threads,discard=on,iothread=1,size=50G
scsi2: vms-qcow2-hddpool:223/vm-223-disk-1.qcow2,aio=threads,discard=on,iothread=1,size=300G
scsihw: virtio-scsi-single
smbios1: uuid=0df9d070-b1a6-4fa5-8512-0ddf8673fe87
sockets: 1
tablet: 0
tags: centos7
vmgenid: 509ea882-dabf-4394-8477-06aaa931da1b
Last edited: