- title KVM Installation
Check that your CPU supports hardware virtualization
To run KVM, you need a processor that supports hardware virtualization. Intel and AMD both have developed extensions for their processors, deemed respectively Intel VT-x (code name Vanderpool) and AMD-V (code name Pacifica). To see if your processor supports one of these, you can review the output from this command:
egrep -c '(vmx|svm)' /proc/cpuinfo
If 0 it means that your CPU doesn't support hardware virtualization. If 1 (or more) it does - but you still need to make sure that virtualization is enabled in the BIOS.
Use a 64 bit kernel (if possible)
- To serve more than 2GB of RAM for your VMs, you must use a 64-bit kernel (see 32bit_and_64bit). On a 32-bit kernel install, you'll be limited to 2GB RAM at maximum for a given VM.
- Also, a 64-bit system can host both 32-bit and 64-bit guests. A 32-bit system can only host 32-bit guests.
To see if your processor is 64-bit, you can run this command:
egrep -c ' lm ' /proc/cpuinfo
If 0 is printed, it means that your CPU is not 64-bit. If 1 or higher, it is. Note: lm stands for Long Mode which equates to a 64-bit CPU. Now see if your running kernel is 64-bit, just issue the following command:
x86_64 indicates a running 64-bit kernel. If you use see i386, i486, i586 or i686, you're running a 32-bit kernel. Note: x86_64 is synonymous with amd64.
Installation of KVM
For the following setup, we will assume that you are deploying KVM on a server, and therefore do not have any X server on the machine. You need to install a few packages first:
$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
- libvirt-bin provides libvirtd which you need to administer qemu and kvm instances using libvirt
- kvm is the backend
- ubuntu-vm-builder powerful command line tool for building virtual machines
- bridge-utils provides a bridge from your network to the virtual machines
You might also want to install virt-viewer, for viewing instances. You can test if your install has been successful with the following command:
$ virsh -c qemu:///system list Id Name State ---------------------------------- $
If on the other hand you get something like this:
$ virsh -c qemu:///system list libvir: Remote error : Permission denied error: failed to connect to the hypervisor $
Something is wrong and you probably want to fix this before you move on. The critical point here is whether or not you have write access to /var/run/libvirt/libvirt-sock.
10.04 (Lucid) Notes
None at this time.
9.10 (Karmic) Notes
- The libvirt-bin package will now automatically add members of the admin group to the libvirtd group. You still need to log out, and log back in for this change to take effect.
Add yourself to the libvirtd group (note that there is no need to add yourself to the kvm group):
$ sudo adduser `id -un` libvirtd
This will give you access to the system-wide libvirtd instance. This is preferable for you because it gives you access to the advanced networking options rather than simply the "userspace networking" option as you may know it from QEmu. Note: You need to log out and log back in for the new group membership to take effect. Note: The `id -un` command will return the current username, for example if your username is joe you will be effectively be running sudo adduser joe libvirtd.
8.10 (Intrepid) Notes
- Two meta packages have been added:
Ubuntu-virt-serverinstalls the packages needed to setup a base virtulization host (kvm, libvirt-bin and openssh-server) and
ubuntu-virt-mgmtinstalls what you need to administer it from a management station (virt-manager, python-vm-builder and virt-viewer).
ubuntu-vm-builderhas been replaced by
Note: libdevmapper does not load its module when it is installed (bug 277648) , so you will either need to do a
$ sudo modprobe dm-loop
or reboot your system before being able to use it.