Difference between revisions of "CentOS 8.x KVM Creating Windows VMs with fast disk input output (io)"
From Notes_Wiki
(Created page with "<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...") |
m |
||
Line 5: | Line 5: | ||
* Use virtio drivers for Windows KVM VMs | * Use virtio drivers for Windows KVM VMs | ||
*: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso | *: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso | ||
* | *:After creating VM use option to "Customize configuration before install". Add another storage device of type CD/DVD ROM and select above iso. Then using OS installation to detect hard-disk choose "Load driver" and choose appropriate drivers from CD/DVD (Typically amd64/OS") folder. | ||
* Make sure cache is set to none (Preferred). Cache option of write-through has very bad performance. Using write-back 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 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 | ||
Line 27: | Line 26: | ||
*: https://pve.proxmox.com/wiki/Performance_Tweaks | *: https://pve.proxmox.com/wiki/Performance_Tweaks | ||
*: https://unix.stackexchange.com/questions/47082/how-to-improve-windows-perfomance-when-running-inside-kvm | *: https://unix.stackexchange.com/questions/47082/how-to-improve-windows-perfomance-when-running-inside-kvm | ||
* 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 | |||
It would also make sense to change NIC from e1000 to virtio and install related network drivers from the virtio iso linked above. | |||
<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 09:17, 13 November 2019
<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
- Use virtio drivers for Windows KVM VMs
- https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
- After creating VM use option to "Customize configuration before install". Add another storage device of type CD/DVD ROM and select above iso. Then using OS installation to detect hard-disk choose "Load driver" and choose appropriate drivers from CD/DVD (Typically amd64/OS") folder.
- Make sure cache is set to none (Preferred). Cache option of write-through has very bad performance. Using write-back may lead to data loss in case of abrupt shutdown.
- IO Mode to native
- 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.ldva/ldva_t_definingGuestDevices.html
- This gives error that iothreads are not supported in latest CentOS 7
- Setting CPU model to host-model (host-passthrough) or core2duo might improve things CentOS 7.x Cloudstack 4.11 Guest VM CPU configuration for Windows
- There are some hyper-V related settings suggested at
- https://forums.unraid.net/topic/36777-kvm-windows-guests-100-disk-in-task-manager-and-very-slow/
- They seem to come by default if you select Guest OS as Windows 10 during VM creation
- Specifically for Windows 10 all of above also leads to marginal performance. Changing disk from qcow2 to raw has dramatic speed improvements (upto 10x). If snapshots are must then use LVM instead of raw format.
- https://serverfault.com/questions/425607/kvm-guest-io-is-much-slower-than-host-io-is-that-normal
- https://serverfault.com/questions/407842/incredibly-low-kvm-disk-performance-qcow2-disk-files-virtio
- https://pve.proxmox.com/wiki/Performance_Tweaks
- https://unix.stackexchange.com/questions/47082/how-to-improve-windows-perfomance-when-running-inside-kvm
- In case you cannot use raw format and use of qcow2 is required, then make sure metadata space is pre-allocated
It would also make sense to change NIC from e1000 to virtio and install related network drivers from the virtio iso linked above.
<yambe:breadcrumb self="Creating Windows VMs with fast disk input output (io)">CentOS_8.x_KVM|KVM</yambe:breadcrumb>