From KVM
 
m (Three Components)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Three Components ==
 
== Three Components ==
  
To make it work, you need to get the right version for three components:
+
A functional KVM system consists of three main components:
  
 
* Linux Module
 
* Linux Module
 
* User Space Application
 
* User Space Application
* Guest Virtio Driver  
+
* Guest Virtio Driver
  
 
== Linux Module ==
 
== Linux Module ==
  
KVM come with a linux module to support full virtualization. The linux module is just three files: kvm.ko, kvm_intel.ko, kvm_amd.ko. You can install them just like you install drivers for your video card. The good news is, you might do not need it install it. The 2.6.20 version has already included those linux modules. Depends on your distribution configuration, it might not be installed, or as a module or built-in. Here is a table listing the relation:                                                                  
+
KVM requires a few kernel modules in order to support full virtualization. Most distributions contain these modules by default, but they may need to be loaded manually. You can check if the KVM module is currently loaded with:
  
* 2.6.20 kvm-12
+
lsmod | grep kvm
* 2.6.21 kvm-17
+
* 2.6.22 kvm-22
+
  
If you are not sure your linux distribution contain it or not, use this command:
+
If the module is not loaded, simply issue:
 
+
modprobe -l | grep kvm
+
 
+
The linux module can be built from source code. This is also the recommanded way to get the right version of linux module. Compiling from the source code, and than make install should make the linux module inserted into your /lib/modules/linux-`uname -r`. Simply make it in use by:
+
  
 
  modprobe kvm
 
  modprobe kvm
modprobe kvm_intel
 
  
or
+
You may also need to load the appropriate module for your processor:
  
  modprobe kvm
+
  modprobe kvm_intel  # Intel processors
  modprobe kvm_amd
+
  modprobe kvm_amd   # AMD processors
 
+
=== User space application ===
+
 
+
Compile from source code, you can get it. Otherwise, refer to the previous section.
+
  
 
=== Guest virtio driver ===
 
=== Guest virtio driver ===
  
There was no special requirement for guest operating system if you are not using para-visualized disk ornetwork adapter. If you are using them, make sure you get virtio_pci.ko, virtio_rng.ko, virtio_blk.ko, virtio_net.ko. They are in 2.6.25 or later kernel. There is also a option to backport them.
+
Generally, there are no special requirements for the guest operating system. If you are using para-virtualized disks or network adapters however, make sure you have loaded the virtio_pci.ko, virtio_rng.ko, virtio_blk.ko, and virtio_net.ko modules (available since kernel version 2.6.25).
  
 
Refer to [[Virtio]] for more information
 
Refer to [[Virtio]] for more information
 +
 +
[[Category:Architecture]][[Category:Docs]][[Category:Historical]][[Category:HowTo]]

Latest revision as of 03:19, 20 January 2017

Three Components

A functional KVM system consists of three main components:

  • Linux Module
  • User Space Application
  • Guest Virtio Driver

Linux Module

KVM requires a few kernel modules in order to support full virtualization. Most distributions contain these modules by default, but they may need to be loaded manually. You can check if the KVM module is currently loaded with:

lsmod | grep kvm

If the module is not loaded, simply issue:

modprobe kvm

You may also need to load the appropriate module for your processor:

modprobe kvm_intel  # Intel processors
modprobe kvm_amd    # AMD processors

Guest virtio driver

Generally, there are no special requirements for the guest operating system. If you are using para-virtualized disks or network adapters however, make sure you have loaded the virtio_pci.ko, virtio_rng.ko, virtio_blk.ko, and virtio_net.ko modules (available since kernel version 2.6.25).

Refer to Virtio for more information