Difference between revisions of "Paravirtualized Network Drivers for Windows"

From Proxmox VE
Jump to navigation Jump to search
Line 1: Line 1:
 
=Introduction=
 
=Introduction=
In order to improve network performance, special paravirtualized network drivers can be installed in Windows guests. The Windows XP drivers are known to work also on Windows 2003 Server (also the Win7 drivers can be used for Windows 2008r2).
+
In order to improve network performance, special paravirtualized network drivers can be installed in Windows guests:  to use them, you have to obtain those drivers and then install them on the VM guest os.
In the iso file provided by Fedora Project the directories name are a bit confusing, since they refer to the Microsoft legacy naming (i.e. lh=longhorn, that is Vista).
+
 
You can use the schema below:
+
See [[Windows_VirtIO_Drivers]] to get info about
 +
* downloading VirtIO drivers
 +
* changelog and guest OS compatibility
 +
* other kind of guest devices supported
 +
 
 +
==Download==
 +
Download the latest drivers (ISO) as suggested by the page [[Windows_VirtIO_Drivers]] to your desktop.
 +
 
 +
Then upload the ISO to your Proxmox VE server:
 +
* logon to the Proxmox VE web interface
 +
* select a ISO-enabled storage (see [[Storage_Model#Storage_type_Content|Storage_Model#Storage_type_Content]])
 +
* switch to "content" tab
 +
* just use the "upload" button on the menu bar.
 +
 
 +
=Installation=
 +
==Choose a driver type==
 +
In the iso file provided by Fedora Project drivers for diffrent Windows versions are available, in several folders.
 +
 
 +
The folder names can be a bit confusing, since they refer to the Microsoft legacy naming (i.e. lh=longhorn, that is Vista): you can refer to the schema below (showing also block/baloon drivers folder names):
  
 
{| border="1" cellspacing="0" cellpadding="5"
 
{| border="1" cellspacing="0" cellpadding="5"
Line 16: Line 34:
 
|}
 
|}
  
For production systems (windows), the stable e1000 emulations is a good choice (the built in e1000 drivers in WinXP/Win2003 are not working, Win7/Win2008 are fine). You need the latest drivers using: [http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&keyword=%22Intel%C2%AE+Ethernet+Connections+CD%22# Intel® Ethernet Connections CD] (176 MB) or [http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProductFamily=Network+Connectivity&ProductLine=Intel%C2%AE+Desktop+Adapters&ProductProduct=Intel%C2%AE+PRO%2f100+M+Desktop+Adapter&ProdId=820&LineId=59&FamilyId=38# Intel® Drivers Setup File] (20 MB).
+
'''NB:'''
 
+
* Windows XP drivers are known to work also on Windows 2003 Server
A walkthrough on installing e1000 drivers in a Windows XP KVM is available [http://www.linux-kvm.com/content/how-do-you-use-e1000-option-windows-guest here]. But the link for drivers download provided in that walkthrough was broken, use above Intel Drivers File Setup instead.
+
* Win7 drivers can be used for Windows 2008r2
 
 
=Installation=
 
 
 
==Download==
 
Download the latest drivers (ISO) as suggested by the page [[Windows_VirtIO_Drivers|Windows_VirtIO_Drivers]] to your desktop.
 
 
 
Then upload the ISO to your Proxmox VE server:
 
* logon to the Proxmox VE web interface
 
* select a ISO-enabled storage (see [[Storage_Model#Storage_type_Content|Storage_Model#Storage_type_Content]])
 
* switch to "content" tab
 
* just use the "upload" button on the menu bar.
 
  
 
==Prepare KVM guest on Proxmox VE==
 
==Prepare KVM guest on Proxmox VE==
Line 52: Line 59:
 
Now locate & remove old NIC
 
Now locate & remove old NIC
  
=Alternative: e1000=
+
==Performance Improvements==
Windows is known to work well with the Intel e1000 network card. Please download and use the latest drivers from Intel.
 
 
 
=Performance Improvements=
 
 
The KVM Project has established a 'best practice' with regard to acheiving optimal performance in Windows guests using the virtio driver.
 
The KVM Project has established a 'best practice' with regard to acheiving optimal performance in Windows guests using the virtio driver.
  
Line 63: Line 67:
 
http://www.linux-kvm.org/page/WindowsGuestDrivers/kvmnet/registry.
 
http://www.linux-kvm.org/page/WindowsGuestDrivers/kvmnet/registry.
  
=Links to similar pages=
+
=Alternative: e1000=
 +
Although not paravirtualized, Windows is known to work well with the emulated Intel e1000 network card.
 +
 
 +
Just remember that
 +
* the built in e1000 drivers in Win7/Win2008 are fine but
 +
* the built in e1000 drivers in WinXP/Win2003 are not working!
 +
*: you need to install the usual drivers from Intel (see [http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&keyword=%22Intel%C2%AE+Ethernet+Connections+CD%22# Intel® Ethernet Connections CD] (176 MB) or [http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProductFamily=Network+Connectivity&ProductLine=Intel%C2%AE+Desktop+Adapters&ProductProduct=Intel%C2%AE+PRO%2f100+M+Desktop+Adapter&ProdId=820&LineId=59&FamilyId=38# Intel® Drivers Setup File] (20 MB)).
 +
*: A walkthrough on installing e1000 drivers in a Windows XP KVM is available [http://www.linux-kvm.com/content/how-do-you-use-e1000-option-windows-guest here]. But the link for drivers download provided in that walkthrough was broken, use above Intel Drivers File Setup instead.
  
 +
=See also=
 +
* [[Windows VirtIO Drivers]]
 
* [[Paravirtualized Block Drivers for Windows]]
 
* [[Paravirtualized Block Drivers for Windows]]
 +
* [[Dynamic Memory Management]]
  
 
[[Category: HOWTO]]
 
[[Category: HOWTO]]

Revision as of 14:58, 13 February 2014

Introduction

In order to improve network performance, special paravirtualized network drivers can be installed in Windows guests: to use them, you have to obtain those drivers and then install them on the VM guest os.

See Windows_VirtIO_Drivers to get info about

  • downloading VirtIO drivers
  • changelog and guest OS compatibility
  • other kind of guest devices supported

Download

Download the latest drivers (ISO) as suggested by the page Windows_VirtIO_Drivers to your desktop.

Then upload the ISO to your Proxmox VE server:

  • logon to the Proxmox VE web interface
  • select a ISO-enabled storage (see Storage_Model#Storage_type_Content)
  • switch to "content" tab
  • just use the "upload" button on the menu bar.

Installation

Choose a driver type

In the iso file provided by Fedora Project drivers for diffrent Windows versions are available, in several folders.

The folder names can be a bit confusing, since they refer to the Microsoft legacy naming (i.e. lh=longhorn, that is Vista): you can refer to the schema below (showing also block/baloon drivers folder names):

OS Numeric version dir for Storage / Balloon dir for Network
W2008 R2 / Windows 7 6.1 Win7 (32/64) Win7 (32/64)
W2008 / Vista 6.0 Wlh (32/64) Vista (32/64)
W2003 5.2 Wnet (32/64) XP (32/64)
XP 5.1 - 32bit, 5.2 - 64bit WXp (32 only) XP (32/64)

NB:

  • Windows XP drivers are known to work also on Windows 2003 Server
  • Win7 drivers can be used for Windows 2008r2

Prepare KVM guest on Proxmox VE

Network Card: virtio
  • Shutdown your KVM Virtual Machine and change the used Network Card to "virtio".
  • Select the previously uploaded ISO image as CDROM
  • Start your Virtual Machine

Installation of paravirtualized driver within Windows

The Windows device manager should now detect a new network device. Just point the driver wizard to the CD-ROM containing the drivers. The drivers are not signed, choose install anyway and you are done.

If you get any conflicting IP errors or just want to clean up the old card, enable the devmgr_show_nonpresent_devices option on the server.

My Computer -> Properties -> Advanced -> Env Variables –> System Var -> New

 Name: devmgr_show_nonpresent_devices
 Value:	1

OK/Close all windows.

My Computer -> Properties -> Hardware -> Dev Mgr -> View -> Show hidden dev

Now locate & remove old NIC

Performance Improvements

The KVM Project has established a 'best practice' with regard to acheiving optimal performance in Windows guests using the virtio driver.

Permanent changes to the Windows registry are required.

The procedure is published here: http://www.linux-kvm.org/page/WindowsGuestDrivers/kvmnet/registry.

Alternative: e1000

Although not paravirtualized, Windows is known to work well with the emulated Intel e1000 network card.

Just remember that

  • the built in e1000 drivers in Win7/Win2008 are fine but
  • the built in e1000 drivers in WinXP/Win2003 are not working!
    you need to install the usual drivers from Intel (see Intel® Ethernet Connections CD (176 MB) or Intel® Drivers Setup File (20 MB)).
    A walkthrough on installing e1000 drivers in a Windows XP KVM is available here. But the link for drivers download provided in that walkthrough was broken, use above Intel Drivers File Setup instead.

See also