Paravirtualized Network Drivers for Windows: Difference between revisions

From Proxmox VE
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(28 intermediate revisions by 9 users not shown)
Line 1: Line 1:
=Introduction=
== Introduction ==
In order to improve network performance, special paravirtualized network drivers can be installed in Windows guests. The KVM project released drivers for Windows 2000, Windows XP and Vista. The Windows XP drivers are known to work also on Windows 2003 Server (also the Vista drivers can be used for Windows 2008).
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.


For production systems (windows), the stable e1000 emulations is recommended (but you need the latest drivers from [http://www.intel.com/support/network/sb/cs-006120.htm?iid=business+support_pro1000 Intel], the built in e1000 drivers are not working). 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].
See [[Windows_VirtIO_Drivers]] to get info about
* downloading VirtIO drivers
* changelog and guest OS compatibility
* other kind of guest devices supported


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


==Download==
Then upload the ISO to your Proxmox VE server:
Download the latest kvm-driver-disc (ISO) from [http://kvm.qumranet.com/kvmwiki/VirtioWindowsDrivers KVM] to your desktop and upload the ISO to your Proxmox VE server (just use the "upload file" button on the Proxmox VE web interface: "VM Manager/Appliance Templates")
* 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==
== Installation ==
=== Choose the right driver ===
 
* Follow the link: [[Windows_VirtIO_Drivers#Choose_the_right_driver]]
 
=== Prepare KVM guest on Proxmox VE ===
[[Image:Screen-Network-Card-virtio.png|thumb|Network Card: virtio]]
[[Image:Screen-Network-Card-virtio.png|thumb|Network Card: virtio]]
* Shutdown your KVM Virtual Machine and change the used Network Card to "virtio".  
* Shutdown your KVM Virtual Machine and change the used Network Card to "virtio".  
Line 15: Line 27:
* Start your Virtual Machine
* Start your Virtual Machine


==Installation of paravirtualized driver within Windows==
=== 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.
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.


=Alternative: e1000=
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.
Windows is known to work well with the Intel e1000 network card. Please download and use the latest drivers from Intel.
 
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 [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 walk through 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 walk through was broken, use above Intel Drivers File Setup instead.
 
== See also ==
* [[Windows VirtIO Drivers]]
* [[Paravirtualized Block Drivers for Windows]]
* [[Dynamic Memory Management]]


=Performance improvements=
tbd.
[[Category: HOWTO]]
[[Category: HOWTO]]

Latest revision as of 12:00, 27 October 2015

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 the right driver

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 walk through on installing e1000 drivers in a Windows XP KVM is available here. But the link for drivers download provided in that walk through was broken, use above Intel Drivers File Setup instead.

See also