Windows 2003 guest best practices
Introduction
This is a set of best practices to follow when installing a Windows 2003 guest on a Proxmox VE server. Right now it's a work in progress, written by a Proxmox noob but hopefully soon it will be a comprehensive and reliable document. Please feel free to add to it, even if just to pose a potential best practice.
Power settings
In order for the Windows 2003 guest to shutdown cleanly in the event of a shutdown on the Proxmox VE host you need to enable "Allow system to be shut down without having to log on". It can be found in the policy editor here: "Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Shutdown: Allow system to be shut down without having to log on", by running: gpedit.msc.
Disk
raw vs qcow2
Raw file format provides better performance while qcow2 offers advanced features such as copy on write and snapshots.
virtio storage drivers
Use virtio dirvers for best performance. See http://pve.proxmox.com/wiki/Paravirtualized_Block_Drivers_for_Windows
UNTESTED: caching
Under disk properties in Windows 2003 you can turn off the disk cache (Windows caches writes in ram). KVM enables it's own writethough caching which relies on the Debian hosts caching (I think). Plus modern disks have a sizable hardware cache. Do we really need all this chained redundant caching?
UNTESTED: sparse disk
Use a utility like SDelete to zero out a drive and take advantage of ext3's sparse file handling.
Network
Use e1000 NIC. It's stable and performs well. BUT only with the latest drivers from Intel, download from intel.com! (If you use the integrated drivers, the device manager shows a working NIC, but it does not.) I highly recommend to add this regfix http://www.intel.com/support/de/network/sb/cs-005897.htm (http://www.intel.com/support/network/sb/CS-005897.htm?wapkw=%284D36E972%29 in english). HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\00xx where you need to search for your network card an add a DWORD "MonitorModeEnabled"="1". ControlSet001 can be CurrentControlSet.
Page File Settings
This is a placeholder as I'm not sure what the optimum page file settings are. My guess is that it's best to create a small static page file and assign plenty of RAM.