Difference between revisions of "CentOS 8.x KVM Creating Windows VMs with fast disk input output (io)"
From Notes_Wiki
m |
m |
||
Line 6: | Line 6: | ||
*: 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. | *: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. | * 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 | |||
*: 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. | |||
*: 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 | ||
* IO Mode to native | * IO Mode to native in case cache is none. If cache is write-back then IO mode should be threads. | ||
*: 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 | ||
Line 21: | Line 28: | ||
*: https://forums.unraid.net/topic/36777-kvm-windows-guests-100-disk-in-task-manager-and-very-slow/ | *: 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 | *: They seem to come by default if you select Guest OS as Windows 10 during VM creation | ||
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. | ||
<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 17:37, 17 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.
- 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
- 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.
- IO Mode to native in case cache is none. If cache is write-back then IO mode should be threads.
- 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
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>