3.3. Virtualized Hardware Devices
Virtualization on Red Hat Enterprise Linux 6 presents three distinct types of system devices to virtual machines. The three types include:
- Virtualized and Emulated Devices
- Paravirtualized devices
- Physically shared devices
These hardware devices all appear as being physically attached to the virtual machine but the device drivers work in different ways.
3.3.1. Virtualized and Emulated devices
KVM implements many core devices for virtual machines as software. These emulated hardware devices are crucial for virtualizing operating systems. Emulated devices are virtual devices which exist entirely in software.
In addition, KVM provides emulated drivers. These form a translation layer between the virtual machine 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 (storage, network, keyboard, or mouse) that is recognized by the Linux kernel can be used as the backing source device for the emulated drivers.
- Virtual CPUs (vCPUs)
- A host system can have up to 160 virtual CPUs (vCPUs) that can be presented to guests for use, regardless of the number of host CPUs.
- Emulated system components
- The following core system components are emulated to provide basic system functions:
- Intel i440FX host PCI bridge
- PIIX3 PCI to ISA bridge
- PS/2 mouse and keyboard
- EvTouch USB Graphics Tablet
- PCI UHCI USB controller and a virtualized USB hub
- Emulated serial ports
- EHCI controller, virtualized USB storage and a USB mouse
- Emulated storage drivers
- Storage devices and storage pools can use these emulated devices to attach storage devices to virtual machines. The guest uses an emulated storage driver to access the storage pool.Note that like all virtual devices, the storage drivers are not storage devices. The drivers are used to attach a backing storage device, file or storage pool volume to a virtual machine. The backing storage device can be any supported type of storage device, file, or storage pool volume.
- The emulated IDE driver
- KVM provides two emulated PCI IDE interfaces. An 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 virtual machine. The emulated IDE driver is also 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.
- Emulated sound devices
- Red Hat Enterprise Linux 6.1 and above provides an emulated (Intel) HDA sound device,
intel-hda
. This device is supported on the following guest operating systems:- Red Hat Enterprise Linux 6, for the 32-bit AMD and Intel architecture, and AMD64 and Intel 64 architectures
- Red Hat Enterprise Linux 5, for i386, and the 32-bit AMD and Intel architecture and Intel 64 architectures
- Red Hat Enterprise Linux 4, for i386 and the 32-bit AMD and Intel architecture and Intel 64 architectures
- Windows 7, for i386 and AMD64 and Intel 64 architectures
- Windows 2008 R2, for the AMD64 and Intel 64 architecture
Note
The following emulated sound devices are also available, but are not recommended due to compatibility issues with certain guest operating systems:ac97
, an emulated Intel 82801AA AC97 Audio compatible sound cardes1370
, an emulated ENSONIQ AudioPCI ES1370 sound card
- Emulated graphics cards
- The following emulated graphics devices are provided:
- A Cirrus CLGD 5446 PCI VGA card
- A standard VGA graphics card with Bochs VESA extensions (hardware level, including all non-standard modes)
Guests can connect to these devices with the Simple Protocol for Independent Computing Environments (SPICE) protocol or with the Virtual Network Computing (VNC) system. - Emulated network devices
- The following emulated network devices are provided:
- The
e1000
device emulates an Intel E1000 network adapter (Intel 82540EM, 82573L, 82544GC). - The
rtl8139
device emulates a Realtek 8139 network adapter.
- Emulated watchdog devices
- Red Hat Enterprise Linux 6 provide two emulated watchdog devices. A watchdog can be used to automatically reboot a virtual machine when it becomes overloaded or unresponsive.The watchdog package must be installed on the guest.The two devices available are:
i6300esb
, an emulated Intel 6300 ESB PCI watchdog device. It is supported in guest operating system Red Hat Enterprise Linux versions 6.0 and above, and is the recommended device to use.ib700
, an emulated iBase 700 ISA watchdog device. Theib700
watchdog device is only supported in guests using Red Hat Enterprise Linux 6.2 and above.
Both watchdog devices are supported in the 32-bit AMD and Intel architecture and AMD64 and Intel 64 architectures for guest operating systems Red Hat Enterprise Linux 6.2 and above.