There was a problem loading the comments.

Best Practice Creating a Windows VM on Proxmox / TCC

Support Portal  »  Knowledgebase  »  Viewing Article

  Print

When creating a VM, there are a number of settings can be configured to ensure optimal performance.

A good start is to watch this video on Youtube: (opens in a new window) https://www.youtube.com/embed/fn6iJzRQDkw
The Virtio ISO (virtio-win - *. Iso) you need for installation is in the Tuxis Marketplace on your TCC.

Create VM

Each window has a help button at the bottom left. Click on it to get an explanation of each function.
TIP*: Add 2 CD-ROMs to the hardware of the VPS. 1 with the Windows ISO and 1 with the VirtIO ISO from the Tuxis Marketplace.


Disk

  • Choose SCSI as the disk type. The VirtIO block driver for Windows is not being further developed and many of the features below do not work with VirtIO.
  • We recommend putting a Read and Write limit on the ops/s. When something goes wrong on a VM, causing it to read and / or write extremely hard, that one server does not affect the rest of the VPS-es on the node. So choose a value that is not too low. 500 is really the lowest value. An RDP server is more likely to be 2000 or 3000.
  • You can play with the Cache setting. By default, no cache is the safest solution. It is a balance between speed and the chance of data loss. Write back is a safe choice with good performance.
  • Check "No Backup" if the disk is unimportant. For example for a temporary machine or test machine. If checked, the disk is skipped when a backup is created.
  • SSD emulation is safe to enable. The OS will then see that it has no spinning disk and will not use features that are nonsensical with SSDs.
  • Also check Discard. With Discard on, and a guest OS with TRIM support, blocks marked as unused by the OS after deleting files are also deleted on the storage, shrinking disk image and decreasing disk usage.
  • Leave IO thread disabled.

Network

Choose VirtIO as the network adapter. You will have to install drivers in Windows. You can do that after you boot the server. Insert the VirtIO ISO and install the driver.

 

CPU

  • It is better for a VM to have too much than too little CPU. If a VM is not using CPU capacity, that capacity will be available to other VMs on the node.
  • WITH CPU units you determine how important it is that this VM also gets CPU cycles. 1024 is standard. You can leave it like that. If a VM should never run out of CPU, you can increase this value.
  • Configure your CPU-type to use "x86-64-V2-AES" (or higher if your CPU supports this). This CPU-type replaces the current KVM64 and has massive performance improvements compared to the older CPU-type.

* You can use this Proxmox article as a reference to which CPU-type your processor supports.

 

Memory
Enable ballooning, even if you are not using this feature. Proxmox uses this to gather accurate memory usage & information about the guest OS.

 

Unmount ISOs

After you are done using ISOs, you need to eject them. Because an ISO is a file, it can cause problems if you don't eject it and make snapshots/backups or want to restore. It can also cause problems during VPS migrations.


And furthermore
Also install the QEMU-guest-agent and the drivers from the folder vioserial drivers as shown in the video.

Without these drivers Proxmox is not able to perform graceful shutdowns.

Automate driver installation

You can also place the drivers in your own Windows ISO. You can read more about this in the links below.

https://pve.proxmox.com/wiki/Windows_2022_guest_best_practices

https://pve.proxmox.com/wiki/Windows_guests_-_build_ISOs_including_VirtIO_drivers
https://www.thomasmaurer.ch/2019/07/add-drivers-to-a-windows-server-2019-iso-image/
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-and-remove-drivers-to-an-offline-windows-image




Share via
Did you find this article useful?  

Related Articles

© Tuxis B.V.