Paravirtualized Network Drivers for Windows

From Proxmox VE
Revision as of 15:26, 8 March 2014 by Giner (talk | contribs) (→‎Choose the right driver: replace the template by the link in order to make a look cleaner and simpler)
Jump to navigation Jump to search

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