Difference between revisions of "Windows 2003 guest best practices"

From Proxmox VE
Jump to navigation Jump to search
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
==Introduction==
 
==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.
+
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.  Please feel free to add to it, even if just to pose a potential best practice.
  
== Power settings ==
+
==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
 +
 
 +
Note: the latest VirtIO iso do not include drivers for Windows 2003. You need to download an older version.
 +
 
 +
== Network ==
 +
=== E1000 NIC  ===
 +
 
 +
Use e1000 NIC. It's stable and performs well. BUT only with the latest drivers from Intel, [http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=18719 download from intel.com]! (If you use the integrated drivers, the device manager shows a working NIC, but it does not.)
 +
 
 +
'''Windows Server 2003 R2 SP2''' ships with drivers that do work, but the ones from intel are newer.
 +
 
 +
=== Virtio  ===
 +
Use virtio driver as these are kept updated by Fedora virtio NIC drivers need to be loaded post install & can be found here : https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/ Information on install can be found here : http://pve.proxmox.com/wiki/Paravirtualized_Network_Drivers_for_Windows
 +
 
 +
Note: the latest VirtIO iso do not include drivers for Windows 2003. You need to download an older version.
 +
 
 +
=== Packet Capture Fix  ===
  
 +
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.
 +
 +
=== KVM Network Performance  ===
 +
 +
Apply the changes mentioned on the [http://www.linux-kvm.org/page/WindowsGuestDrivers/kvmnet/registry KVM Windows TCP/IP Performance] page.
 +
 +
== Miscellaneous hints  ==
 +
=== Power management ===
 
* In order for the Windows 2003 guest to shutdown cleanly in the event of a shutdown on the Proxmox VE host you need to:
 
* 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 (Start -> Run -> secpol.msc -> "Security Settings\Local Policies\Security Options")
 
# enable (Start -> Run -> secpol.msc -> "Security Settings\Local Policies\Security Options")
Line 56: Line 85:
 
NOTE: For this policy to be visible in the ''Group Policy Object Editor'' the ''Only show policy settings that can be fully managed'' filter must be unchecked.
 
NOTE: For this policy to be visible in the ''Group Policy Object Editor'' the ''Only show policy settings that can be fully managed'' filter must be unchecked.
  
==Disk==
+
=== Clock Drift  ===
 
 
===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?
 
 
 
With VIRTIO the system sees the DEV as a USB so the way to turn off caching is:
 
Computer Mgmt -> Disk Mgmt -> Select Drive (system) -> properties -> Hardware -> VirtIO Drv -> Properties -> Policies -> Optimize for quick removal
 
 
 
===UNTESTED: sparse disk===
 
Use a utility like [http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx SDelete] to zero out a drive and take advantage of ext3's sparse file handling.
 
 
 
== Network  ==
 
 
 
=== E1000 NIC<br>  ===
 
 
 
Use e1000 NIC. It's stable and performs well. BUT only with the latest drivers from Intel, [http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=18719 download from intel.com]! (If you use the integrated drivers, the device manager shows a working NIC, but it does not.)
 
 
 
'''Windows Server 2003 R2 SP2''' ships with drivers that do work, but the ones from intel are newer.
 
 
 
=== Virtio<br>  ===
 
 
 
Use virtio driver as these are kept updated by Fedora virtio NIC drivers need to be loaded post install &amp; can be found here&nbsp;: http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/ Information on install can be found here&nbsp;: http://pve.proxmox.com/wiki/Paravirtualized_Network_Drivers_for_Windows
 
 
 
=== Packet Capture Fix<br>  ===
 
 
 
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.
 
 
 
=== KVM Network Performance  ===
 
 
 
Apply the changes mentioned on the [http://www.linux-kvm.org/page/WindowsGuestDrivers/kvmnet/registry KVM Windows TCP/IP Performance] page.
 
 
 
== Clock Drift  ==
 
  
 
If you have any problems with the time on your VM drifting, please see the [[Guest Time drift|Guest Time Drift]] document.  
 
If you have any problems with the time on your VM drifting, please see the [[Guest Time drift|Guest Time Drift]] document.  
 
== 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.
 
  
 
==Sources and further reading==
 
==Sources and further reading==
  
 
[[Windows 2012 guest best practices]]
 
[[Windows 2012 guest best practices]]
 +
 +
[[Windows 2008 guest best practices]]
  
 
[http://www.linux-kvm.org/page/Tuning_KVM www.linux-kvm.org/page/Tuning_KVM]
 
[http://www.linux-kvm.org/page/Tuning_KVM www.linux-kvm.org/page/Tuning_KVM]
 
[[Category: HOWTO]]
 
[[Category: HOWTO]]
 +
[[Category: Qemu/KVM]]

Latest revision as of 14:14, 6 October 2016

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. Please feel free to add to it, even if just to pose a potential best practice.

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

Note: the latest VirtIO iso do not include drivers for Windows 2003. You need to download an older version.

Network

E1000 NIC

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.)

Windows Server 2003 R2 SP2 ships with drivers that do work, but the ones from intel are newer.

Virtio

Use virtio driver as these are kept updated by Fedora virtio NIC drivers need to be loaded post install & can be found here : https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/ Information on install can be found here : http://pve.proxmox.com/wiki/Paravirtualized_Network_Drivers_for_Windows

Note: the latest VirtIO iso do not include drivers for Windows 2003. You need to download an older version.

Packet Capture Fix

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.

KVM Network Performance

Apply the changes mentioned on the KVM Windows TCP/IP Performance page.

Miscellaneous hints

Power management

  • In order for the Windows 2003 guest to shutdown cleanly in the event of a shutdown on the Proxmox VE host you need to:
  1. enable (Start -> Run -> secpol.msc -> "Security Settings\Local Policies\Security Options")
    1. "Shutdown: Allow system to be shut down without having to log on".
    2. "Interactive logon: Do not require CTRL+ALT+DEL"
  2. disable logon screen screensaver using regedit

REGEDIT4

[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
"ScreenSaveActive"="0"

  • Optional: It may also be useful to set Shutdown Warning Dialog Timeout. This can be done with the following .reg file

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"ShutdownWarningDialogTimeout"=dword:00000001

Alternatively you can you can use the following adm template to apply it via GPO

CLASS MACHINE
	CATEGORY "otherSystem"
	KEYNAME "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows"
		POLICY "Shutdown Warning Dialog Timeout"
		KEYNAME "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows"
		VALUENAME "ShutdownWarningDialogTimeout"
		VALUEON NUMERIC 1
		VALUEOFF DELETE
			PART "Shutdown Warning Dialog Timeout" NUMERIC
			KEYNAME "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows"
			VALUENAME "ShutdownWarningDialogTimeout"
			REQUIRED
			MIN 0
			MAX 9999
			DEFAULT 1
			END PART
		END POLICY
	END CATEGORY
CLASS USER

NOTE: For this policy to be visible in the Group Policy Object Editor the Only show policy settings that can be fully managed filter must be unchecked.

Clock Drift

If you have any problems with the time on your VM drifting, please see the Guest Time Drift document.

Sources and further reading

Windows 2012 guest best practices

Windows 2008 guest best practices

www.linux-kvm.org/page/Tuning_KVM