Difference between revisions of "CentOS 8.x KVM Creating Windows VMs with fast disk input output (io)"

From Notes_Wiki
m
m
Line 13: Line 13:
* In case you cannot use raw format and use of qcow2 is required, then make sure metadata space is pre-allocated  
* In case you cannot use raw format and use of qcow2 is required, then make sure metadata space is pre-allocated  
*: https://serverfault.com/questions/407842/incredibly-low-kvm-disk-performance-qcow2-disk-files-virtio
*: https://serverfault.com/questions/407842/incredibly-low-kvm-disk-performance-qcow2-disk-files-virtio
* Make sure cache is set to none (Preferred).  Cache option of write-through has very bad performance.  '''Using write-back gives further 10x improvement''' over other types of cache but may lead to data loss in case of abrupt shutdown.   
* Make sure cache is set to none (Preferred).  Cache option of write-through has very bad performance.  '''Using write-back cache with threads IO gives further 10x improvement''' over other types of cache but may lead to data loss in case of abrupt shutdown.   
*: http://www.ilsistemista.net/index.php/virtualization/11-kvm-io-slowness-on-rhel-6.html?start=4
*: http://www.ilsistemista.net/index.php/virtualization/11-kvm-io-slowness-on-rhel-6.html?start=4
*: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.ldvq/ldvq_kvm_quick_start.html
*: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.ldvq/ldvq_kvm_quick_start.html
Line 19: Line 19:
*: https://georgik.rocks/solution-kvm-guest-io-very-slow/
*: https://georgik.rocks/solution-kvm-guest-io-very-slow/
*: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.ldvq/ldvq_kvm_quick_start.html
*: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.ldvq/ldvq_kvm_quick_start.html
*: Proxmox seems to be using IO native with cache none with detect-zeros on for its VMs.  ps output on a proxmox machine with Windows and Linux guests is pasted at end for reference.
* Avoid use of IOthreads as explained at
* Avoid use of IOthreads as explained at
*: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.ldvq/ldvq_kvm_quick_start.html
*: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.ldvq/ldvq_kvm_quick_start.html
Line 31: Line 32:


It would also make sense to change NIC from e1000 to virtio and install related network drivers from the virtio iso linked above.
It would also make sense to change NIC from e1000 to virtio and install related network drivers from the virtio iso linked above.
==Noted benchmark speeds with a few configuration options==
Using ATTO Disk benchmark version 4.01.0f1 observed:
;Cache-no, IO-native, OS-windows10, Disk-virtio raw : Max write:67.29 MB/s, Max read:121.01 MB/s for 48MB block.
;Cache-writeback, IO-threads, OS-windows10, Disk-ide raw : Max write: 577.88 MB/s, Max read: 602.35MB/s for 32 MB block
;Cache-writeback, IO-threads, OS-windows10, Disk-virtio raw : Max write: 3.83 GB/s, Max read: 6.08GB/s for 512KB block
;Cache-writeback, IO-threads, OS-windows-server-2016, Disk-virtio raw: Max write: 2.29GB/s, Max read:2.89GB/s for 48MB block
Note in a few cases higher read values were available for different block size.  The values above are chosen for max write speed for given configuration.
==Proxmox ps command output including kvm VM parameters==
Since Windows VMs on proxmox seem to work satisfactorily, we can refer disk configuration of proxmox VMs using ps output:
<pre>
root@pve3:/etc/pve/nodes/pve3/qemu-server# ps eaux | grep kvm
root    10682  5.6 11.6 5101516 3815164 ?    Sl  Jan13 4113:18 /usr/bin/kvm -id 125 -name Email-Gateway -chardev socket,id=qmp,path=/var/run/qemu-server/125.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/125.pid -daemonize -smbios type=1,uuid=b44cc125-90a0-42aa-8290-898542c21e9d -smp 2,sockets=1,cores=2,maxcpus=2 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/125.vnc,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 4096 -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device vmgenid,guid=b1a83f6d-61fa-4c5a-a7d3-f149c9a7c7e0 -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device VGA,id=vga,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:a75d96656848 -drive file=/mnt/pve/iso-containers/template/iso/proxmox-mailgateway_6.1-1.iso,if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 -drive file=/mnt/pve/A1/images/125/vm-125-disk-0.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=native,detect-zeroes=on -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100 -netdev type=tap,id=net0,ifname=tap125i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=AE:4C:F3:3D:61:12,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 -machine type=pc+pve1 LANG=en_US.UTF-8 PATH=/sbin:/bin:/usr/sbin:/usr/bin INVOCATION_ID=aa2e3079e06841dc9c375cb9975a073c JOURNAL_STREAM=9:26421 PVE_DAEMON_LOCK_FD=4 PVE_DAEMON_SOCKET_85=6 LC_ALL=C LVM_SUPPRESS_FD_WARNINGS=1
root    10686  0.0  0.0      0    0 ?        S    Jan13  0:03 [kvm-nx-lpage-re]
root    10731  0.0  0.0      0    0 ?        S    Jan13  0:00 [kvm-pit/10682]
root    24142 27.0 12.9 4814820 4225148 ?    Sl  13:54  1:17 /usr/bin/kvm -id 100 -name windows16-shared -chardev socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/100.pid -daemonize -smbios type=1,uuid=30b63868-5460-4497-a988-3b254627a975 -smp 2,sockets=1,cores=2,maxcpus=2 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/100.vnc,password -no-hpet -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,hv_synic,hv_stimer,hv_ipi,enforce -m 4096 -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device vmgenid,guid=fd9ffbeb-8a50-4950-b824-491dd0a235fd -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device VGA,id=vga,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:a75d96656848 -drive file=/mnt/pve/A1/images/100/vm-100-disk-0.qcow2,if=none,id=drive-ide0,format=qcow2,cache=none,aio=native,detect-zeroes=on -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=100 -drive if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown -device e1000,mac=8E:31:32:63:40:27,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 -rtc driftfix=slew,base=localtime -machine type=pc+pve1 -global kvm-pit.lost_tick_policy=discard LANG=en_US.UTF-8 PATH=/sbin:/bin:/usr/sbin:/usr/bin INVOCATION_ID=aa2e3079e06841dc9c375cb9975a073c JOURNAL_STREAM=9:26421 PVE_DAEMON_LOCK_FD=4 PVE_DAEMON_SOCKET_85=6 LC_ALL=C LVM_SUPPRESS_FD_WARNINGS=1
root    24146  0.0  0.0      0    0 ?        S    13:54  0:00 [kvm-nx-lpage-re]
root    24189  0.0  0.0      0    0 ?        S    13:54  0:00 [kvm-pit/24142]
root    27653  0.0  0.0  6072  892 pts/4    S+  13:59  0:00 grep kvm SHELL=/bin/bash PWD=/etc/pve/nodes/pve3/qemu-server LOGNAME=root XDG_SESSION_TYPE=tty HOME=/root LANG=en_US.UTF-8 SSH_CONNECTION=172.31.1.253 47490 172.31.1.172 22 XDG_SESSION_CLASS=user TERM=xterm-256color USER=root SHLVL=0 XDG_SESSION_ID=1337 XDG_RUNTIME_DIR=/run/user/0 SSH_CLIENT=172.31.1.253 47490 22 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin MAIL=/var/mail/root SSH_TTY=/dev/pts/4 OLDPWD=/etc/pve/nodes/pve3 _=/usr/bin/grep
root    29354  0.1  1.1 2690668 367376 ?      Sl  Jan08 134:12 /usr/bin/kvm -id 101 -name centos7-shared -chardev socket,id=qmp,path=/var/run/qemu-server/101.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/101.pid -daemonize -smbios type=1,uuid=38baec15-ec56-4e25-9833-30de75ad9579 -smp 2,sockets=1,cores=2,maxcpus=2 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/101.vnc,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 2048 -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device vmgenid,guid=f2c0d5d1-8ae5-406f-b4e9-c4f13209a455 -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device VGA,id=vga,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:a75d96656848 -drive if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 -drive file=/mnt/pve/A1/images/101/vm-101-disk-0.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=native,detect-zeroes=on -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100 -netdev type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=92:44:3E:17:77:FE,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 -machine type=pc+pve1 SHELL=/bin/bash PWD=/mnt/backup LOGNAME=root XDG_SESSION_TYPE=tty HOME=/root LANG=en_US.UTF-8 SSH_CONNECTION=172.31.1.253 48852 172.31.1.172 22 XDG_SESSION_CLASS=user TERM=xterm-256color USER=root SHLVL=1 XDG_SESSION_ID=44 XDG_RUNTIME_DIR=/run/user/0 SSH_CLIENT=172.31.1.253 48852 22 PATH=/sbin:/bin:/usr/sbin:/usr/bin MAIL=/var/mail/root SSH_TTY=/dev/pts/4 OLDPWD=/root _=/usr/sbin/qm LC_ALL=C LVM_SUPPRESS_FD_WARNINGS=1
root    29358  0.0  0.0      0    0 ?        S    Jan08  0:03 [kvm-nx-lpage-re]
root    29403  0.0  0.0      0    0 ?        S    Jan08  0:00 [kvm-pit/29354]
</pre>
Here, we can see that proxmox is creating both Windows and Linux VMs with qcow2 format with cache none and IO native.  It is interestingly setting detect-zeroes to on for all disks.
Refer:
* https://www.reddit.com/r/VFIO/comments/80p1q7/high_kvmqemu_cpu_utilization_when_windows_10/
* https://forum.proxmox.com/threads/high-cpu-load-for-windows-10-guests-when-idle.44531/#post-220824
* https://www.reddit.com/r/VFIO/comments/9ec4k9/high_kvmqemu_cpu_utilization_when_windows_10/


<yambe:breadcrumb self="Creating Windows VMs with fast disk input output (io)">CentOS_8.x_KVM|KVM</yambe:breadcrumb>
<yambe:breadcrumb self="Creating Windows VMs with fast disk input output (io)">CentOS_8.x_KVM|KVM</yambe:breadcrumb>

Revision as of 12:33, 1 August 2020

<yambe:breadcrumb self="Creating Windows VMs with fast disk input output (io)">CentOS_8.x_KVM|KVM</yambe:breadcrumb>

CentOS 8.x KVM Creating Windows VMs with fast disk input output (io)

While creating Windows VM use following recommendations along with mentioned references


It would also make sense to change NIC from e1000 to virtio and install related network drivers from the virtio iso linked above.


Noted benchmark speeds with a few configuration options

Using ATTO Disk benchmark version 4.01.0f1 observed:

Cache-no, IO-native, OS-windows10, Disk-virtio raw
Max write:67.29 MB/s, Max read:121.01 MB/s for 48MB block.
Cache-writeback, IO-threads, OS-windows10, Disk-ide raw
Max write: 577.88 MB/s, Max read: 602.35MB/s for 32 MB block
Cache-writeback, IO-threads, OS-windows10, Disk-virtio raw
Max write: 3.83 GB/s, Max read: 6.08GB/s for 512KB block
Cache-writeback, IO-threads, OS-windows-server-2016, Disk-virtio raw
Max write: 2.29GB/s, Max read:2.89GB/s for 48MB block

Note in a few cases higher read values were available for different block size. The values above are chosen for max write speed for given configuration.


Proxmox ps command output including kvm VM parameters

Since Windows VMs on proxmox seem to work satisfactorily, we can refer disk configuration of proxmox VMs using ps output:

root@pve3:/etc/pve/nodes/pve3/qemu-server# ps eaux | grep kvm
root     10682  5.6 11.6 5101516 3815164 ?     Sl   Jan13 4113:18 /usr/bin/kvm -id 125 -name Email-Gateway -chardev socket,id=qmp,path=/var/run/qemu-server/125.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/125.pid -daemonize -smbios type=1,uuid=b44cc125-90a0-42aa-8290-898542c21e9d -smp 2,sockets=1,cores=2,maxcpus=2 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/125.vnc,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 4096 -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device vmgenid,guid=b1a83f6d-61fa-4c5a-a7d3-f149c9a7c7e0 -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device VGA,id=vga,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:a75d96656848 -drive file=/mnt/pve/iso-containers/template/iso/proxmox-mailgateway_6.1-1.iso,if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 -drive file=/mnt/pve/A1/images/125/vm-125-disk-0.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=native,detect-zeroes=on -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100 -netdev type=tap,id=net0,ifname=tap125i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=AE:4C:F3:3D:61:12,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 -machine type=pc+pve1 LANG=en_US.UTF-8 PATH=/sbin:/bin:/usr/sbin:/usr/bin INVOCATION_ID=aa2e3079e06841dc9c375cb9975a073c JOURNAL_STREAM=9:26421 PVE_DAEMON_LOCK_FD=4 PVE_DAEMON_SOCKET_85=6 LC_ALL=C LVM_SUPPRESS_FD_WARNINGS=1
root     10686  0.0  0.0      0     0 ?        S    Jan13   0:03 [kvm-nx-lpage-re]
root     10731  0.0  0.0      0     0 ?        S    Jan13   0:00 [kvm-pit/10682]
root     24142 27.0 12.9 4814820 4225148 ?     Sl   13:54   1:17 /usr/bin/kvm -id 100 -name windows16-shared -chardev socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/100.pid -daemonize -smbios type=1,uuid=30b63868-5460-4497-a988-3b254627a975 -smp 2,sockets=1,cores=2,maxcpus=2 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/100.vnc,password -no-hpet -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,hv_synic,hv_stimer,hv_ipi,enforce -m 4096 -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device vmgenid,guid=fd9ffbeb-8a50-4950-b824-491dd0a235fd -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device VGA,id=vga,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:a75d96656848 -drive file=/mnt/pve/A1/images/100/vm-100-disk-0.qcow2,if=none,id=drive-ide0,format=qcow2,cache=none,aio=native,detect-zeroes=on -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=100 -drive if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown -device e1000,mac=8E:31:32:63:40:27,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 -rtc driftfix=slew,base=localtime -machine type=pc+pve1 -global kvm-pit.lost_tick_policy=discard LANG=en_US.UTF-8 PATH=/sbin:/bin:/usr/sbin:/usr/bin INVOCATION_ID=aa2e3079e06841dc9c375cb9975a073c JOURNAL_STREAM=9:26421 PVE_DAEMON_LOCK_FD=4 PVE_DAEMON_SOCKET_85=6 LC_ALL=C LVM_SUPPRESS_FD_WARNINGS=1
root     24146  0.0  0.0      0     0 ?        S    13:54   0:00 [kvm-nx-lpage-re]
root     24189  0.0  0.0      0     0 ?        S    13:54   0:00 [kvm-pit/24142]
root     27653  0.0  0.0   6072   892 pts/4    S+   13:59   0:00 grep kvm SHELL=/bin/bash PWD=/etc/pve/nodes/pve3/qemu-server LOGNAME=root XDG_SESSION_TYPE=tty HOME=/root LANG=en_US.UTF-8 SSH_CONNECTION=172.31.1.253 47490 172.31.1.172 22 XDG_SESSION_CLASS=user TERM=xterm-256color USER=root SHLVL=0 XDG_SESSION_ID=1337 XDG_RUNTIME_DIR=/run/user/0 SSH_CLIENT=172.31.1.253 47490 22 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin MAIL=/var/mail/root SSH_TTY=/dev/pts/4 OLDPWD=/etc/pve/nodes/pve3 _=/usr/bin/grep
root     29354  0.1  1.1 2690668 367376 ?      Sl   Jan08 134:12 /usr/bin/kvm -id 101 -name centos7-shared -chardev socket,id=qmp,path=/var/run/qemu-server/101.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/101.pid -daemonize -smbios type=1,uuid=38baec15-ec56-4e25-9833-30de75ad9579 -smp 2,sockets=1,cores=2,maxcpus=2 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vnc unix:/var/run/qemu-server/101.vnc,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 2048 -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device vmgenid,guid=f2c0d5d1-8ae5-406f-b4e9-c4f13209a455 -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device VGA,id=vga,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:a75d96656848 -drive if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 -drive file=/mnt/pve/A1/images/101/vm-101-disk-0.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=native,detect-zeroes=on -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100 -netdev type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=92:44:3E:17:77:FE,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 -machine type=pc+pve1 SHELL=/bin/bash PWD=/mnt/backup LOGNAME=root XDG_SESSION_TYPE=tty HOME=/root LANG=en_US.UTF-8 SSH_CONNECTION=172.31.1.253 48852 172.31.1.172 22 XDG_SESSION_CLASS=user TERM=xterm-256color USER=root SHLVL=1 XDG_SESSION_ID=44 XDG_RUNTIME_DIR=/run/user/0 SSH_CLIENT=172.31.1.253 48852 22 PATH=/sbin:/bin:/usr/sbin:/usr/bin MAIL=/var/mail/root SSH_TTY=/dev/pts/4 OLDPWD=/root _=/usr/sbin/qm LC_ALL=C LVM_SUPPRESS_FD_WARNINGS=1
root     29358  0.0  0.0      0     0 ?        S    Jan08   0:03 [kvm-nx-lpage-re]
root     29403  0.0  0.0      0     0 ?        S    Jan08   0:00 [kvm-pit/29354]

Here, we can see that proxmox is creating both Windows and Linux VMs with qcow2 format with cache none and IO native. It is interestingly setting detect-zeroes to on for all disks.


Refer:


<yambe:breadcrumb self="Creating Windows VMs with fast disk input output (io)">CentOS_8.x_KVM|KVM</yambe:breadcrumb>