1.4. Virtualized hardware devices
Virtualization on Red Hat Linux 6 presents three distinct types of system devices to virtualized guests. The three types include:
These hardware devices all appear as physically attached hardware devices to the virtualized guest but the device drivers work in different ways.
1.4.1. Virtualized and emulated devices
The KVM hypervisor implements many core devices for virtualized guests in software. These emulated hardware devices are crucial for virtualizing operating systems. This section is provided as an introduction to the emulated devices and emulated device drivers.
Emulated devices are virtual devices which exist entirely in software. The emulated devices do not require a real hardware device to back them.
Emulated drivers may use either a physical device or a virtual software device. Emulated drivers are a translation layer between the guest and the Linux kernel (which manages the source device). The device level instructions are completely translated by the KVM hypervisor. Any device, of the same type, recognized by the Linux kernel may be used as the backing source device for the emulated drivers.
A system has a number of virtual CPUs (VCPUs) relative to the number of physical processor cores. The number of virtual CPUs is finite and represents the total number of virtual CPUs that can be assigned to guest virtual machines.
Two emulated graphics devices are provided. These devices can be connected to with the SPICE protocol or with VNC.
-
The ac97
device emulates a Cirrus CLGD 5446 PCI VGA card.
-
The vga
device emulates a dummy VGA card with Bochs VESA extensions (hardware level, including all non-standard modes).
Various core system components are emulated to provide basic system functions.
-
A Cirrus i440FX host PCI bridge.
-
PIIX3 PCI to ISA bridge.
-
A PS/2 mouse and keyboard.
-
An EvTouch USB Graphics Tablet.
-
A PCI UHCI USB controller and a virtualized USB hub.
-
A PCI and ISA network adapters.
-
Emulated serial ports.
Two emulated sound devices are available:
There are four emulated network drivers available for network devices:
-
The e1000
driver emulates an Intel E1000 network adaptor (Intel 82540EM, 82573L, 82544GC).
-
The ne2k_pci
driver emulates a Novell NE2000 network adaptor.
-
The pcnet
driver emulates an AMD Lance Am7990 network adaptor.
-
The rtl8139
driver emulates a Realtek 8139 network adaptor.
Storage devices and storage pools can use the emulated drivers to attach storage devices to virtualized guests. Alternatively, the para-virtualized drivers can be used.
Note that the storage drivers are not storage devices. The drivers are used to attach a backing storage device, file or storage pool volume to a virtualized guest. The backing storage device can be any supported type of storage device, file, or storage pool volume.
- The emulated IDE driver
-
The KVM hypervisor provides two emulated PCI IDE interfaces. The emulated IDE driver can be used to attach any combination of up to four virtualized IDE hard disks or virtualized IDE CD-ROM drives to each virtualized guest. The emulated IDE driver is used for virtualized CD-ROM and DVD-ROM drives.
- The emulated floppy disk drive driver
-
The emulated floppy disk drive driver is used for creating virtualized floppy drives.