Difference between revisions of "KVM: Instalasi"

From OnnoWiki
Jump to navigation Jump to search
(New page: Installation Pre-installation checklist Check that your CPU supports hardware virtualization To run KVM, you need a processor that supports hardware virtualization. Intel and AMD both h...)
 
Line 7: Line 7:
 
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:
 
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
+
egrep -c '(vmx|svm)' /proc/cpuinfo
  
 
If 0 it means that your CPU doesn't support hardware virtualization.
 
If 0 it means that your CPU doesn't support hardware virtualization.
Line 15: Line 15:
 
By default, if you booted into XEN kernel it will not display svm or vmx flag using the grep command. To see if it is enabled or not from xen, enter:
 
By default, if you booted into XEN kernel it will not display svm or vmx flag using the grep command. To see if it is enabled or not from xen, enter:
  
cat /sys/hypervisor/properties/capabilities
+
cat /sys/hypervisor/properties/capabilities
  
 
You must see hvm flags in the output.
 
You must see hvm flags in the output.
Line 21: Line 21:
 
Alternatively, you may execute:
 
Alternatively, you may execute:
  
kvm-ok  
+
kvm-ok  
  
 
which may provide an output like this:
 
which may provide an output like this:
  
INFO: /dev/kvm exists
+
INFO: /dev/kvm exists
KVM acceleration can be used
+
KVM acceleration can be used
  
 
If you see :
 
If you see :
  
INFO: Your CPU does not support KVM extensions
+
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
+
KVM acceleration can NOT be used
  
 
You can still run virtual machines, but it'll be much slower without the KVM extensions.
 
You can still run virtual machines, but it'll be much slower without the KVM extensions.
Line 46: Line 46:
 
To see if your processor is 64-bit, you can run this command:
 
To see if your processor is 64-bit, you can run this command:
  
egrep -c ' lm ' /proc/cpuinfo
+
egrep -c ' lm ' /proc/cpuinfo
  
 
If 0 is printed, it means that your CPU is not 64-bit.
 
If 0 is printed, it means that your CPU is not 64-bit.
Line 54: Line 54:
 
Now see if your running kernel is 64-bit, just issue the following command:
 
Now see if your running kernel is 64-bit, just issue the following command:
  
uname -m
+
uname -m
  
 
x86_64 indicates a running 64-bit kernel. If you use see i386, i486, i586 or i686, you're running a 32-bit kernel.
 
x86_64 indicates a running 64-bit kernel. If you use see i386, i486, i586 or i686, you're running a 32-bit kernel.
Line 60: Line 60:
 
Note: x86_64 is synonymous with amd64.
 
Note: x86_64 is synonymous with amd64.
  
Installation of KVM
+
==Installation of KVM==
  
 
Install Necessary Packages
 
Install Necessary Packages
Line 70: Line 70:
 
Lucid (10.04) or later
 
Lucid (10.04) or later
  
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
+
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
  
 
Karmic (9.10) or earlier
 
Karmic (9.10) or earlier
  
$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
+
$ 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
 
     libvirt-bin provides libvirtd which you need to administer qemu and kvm instances using libvirt
  
    qemu-kvm (kvm in Karmic and earlier) is the backend
+
* qemu-kvm (kvm in Karmic and earlier) is the backend
 
+
* ubuntu-vm-builder powerful command line tool for building virtual machines
    ubuntu-vm-builder powerful command line tool for building virtual machines
+
* bridge-utils provides a bridge from your network to the 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 might also want to install virt-viewer, for viewing instances.
  
Add Users to Groups
+
==Add Users to Groups==
  
 
Karmic (9.10) and later
 
Karmic (9.10) and later
Line 92: Line 90:
 
You need to ensure that your username is added to the group libvirtd:
 
You need to ensure that your username is added to the group libvirtd:
  
$ sudo adduser `id -un` libvirtd
+
$ sudo adduser `id -un` libvirtd
Adding user '<username>' to group 'libvirtd' ...
+
Adding user '<username>' to group 'libvirtd' ...
  
 
After this, you need to relogin so that your user becomes an effective member of the libvirtd group. The members of this group can run virtual machines. (You can also 'newgrp kvm' in a terminal, but this will affect only that terminal.)
 
After this, you need to relogin so that your user becomes an effective member of the libvirtd group. The members of this group can run virtual machines. (You can also 'newgrp kvm' in a terminal, but this will affect only that terminal.)
Line 103: Line 101:
 
To check:
 
To check:
  
$ groups
+
$ groups
 
adm dialout cdrom floppy audio dip video plugdev fuse lpadmin admin sambashare kvm libvirtd
 
adm dialout cdrom floppy audio dip video plugdev fuse lpadmin admin sambashare kvm libvirtd
  
 
To add your <username> to the groups:
 
To add your <username> to the groups:
  
$ sudo adduser `id -un` kvm
+
$ sudo adduser `id -un` kvm
Adding user '<username>' to group 'kvm' ...
+
Adding user '<username>' to group 'kvm' ...
$ sudo adduser `id -un` libvirtd
+
$ sudo adduser `id -un` libvirtd
Adding user '<username>' to group 'libvirtd' ...
+
Adding user '<username>' to group 'libvirtd' ...
  
 
After the installation, you need to relogin so that your user becomes an effective member of kvm and libvirtd user groups. The members of this group can run virtual machines.
 
After the installation, you need to relogin so that your user becomes an effective member of kvm and libvirtd user groups. The members of this group can run virtual machines.
  
Verify Installation
+
==Verify Installation==
  
 
You can test if your install has been successful with the following command:
 
You can test if your install has been successful with the following command:
  
$ virsh -c qemu:///system list
+
$ virsh -c qemu:///system list
Id Name                State
+
  Id Name                State
----------------------------------
+
----------------------------------
 
+
$
+
$
  
 
If on the other hand you get something like this:
 
If on the other hand you get something like this:
  
$ virsh -c qemu:///system list
+
$ virsh -c qemu:///system list
libvir: Remote error : Permission denied
+
libvir: Remote error : Permission denied
error: failed to connect to the hypervisor
+
error: failed to connect to the hypervisor
$
+
$
  
 
Something is wrong (e.g. you did not relogin) 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.
 
Something is wrong (e.g. you did not relogin) 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.
Line 136: Line 134:
 
The sock file should have permissions similar to:
 
The sock file should have permissions similar to:
  
$ sudo ls -la /var/run/libvirt/libvirt-sock
+
$ sudo ls -la /var/run/libvirt/libvirt-sock
srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock
+
srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock
  
 
Also, /dev/kvm needs to be in the right group. If you see:
 
Also, /dev/kvm needs to be in the right group. If you see:
  
$ ls -l /dev/kvm
+
  $ ls -l /dev/kvm
crw-rw----+ 1 root root 10, 232 Jul  8 22:04 /dev/kvm
+
crw-rw----+ 1 root root 10, 232 Jul  8 22:04 /dev/kvm
  
 
You might experience problems when creating a virtual machine. Change the device's group to kvm/libvirtd instead:
 
You might experience problems when creating a virtual machine. Change the device's group to kvm/libvirtd instead:
  
sudo chown root:libvirtd /dev/kvm
+
sudo chown root:libvirtd /dev/kvm
  
 
Now you need to either relogin or restart the kernel modules:
 
Now you need to either relogin or restart the kernel modules:
  
rmmod kvm
+
rmmod kvm
modprobe -a kvm
+
modprobe -a kvm
  
 
Optional: Install virt-manager (graphical user interface)
 
Optional: Install virt-manager (graphical user interface)
Line 157: Line 155:
 
If you are working on a desktop computer you might want to install a GUI tool to manage virtual machines.
 
If you are working on a desktop computer you might want to install a GUI tool to manage virtual machines.
  
$ sudo apt-get install virt-manager
+
$ sudo apt-get install virt-manager
  
 
Virtual Machine Manager will appear in Applications -> System Tools menu. First create a new connection to local QEMU instance from File -> Add Connection menu. Localhost (QEMU) or QEMU/KVM should appear in the virtual machine list. Note: there already exist Localhost (QEMU Usermode) connection but this does not work at least on Ubuntu 10.04.
 
Virtual Machine Manager will appear in Applications -> System Tools menu. First create a new connection to local QEMU instance from File -> Add Connection menu. Localhost (QEMU) or QEMU/KVM should appear in the virtual machine list. Note: there already exist Localhost (QEMU Usermode) connection but this does not work at least on Ubuntu 10.04.
  
 
Create a new virtual machine by pressing the top left Create a new virtual machine toolbar button.  
 
Create a new virtual machine by pressing the top left Create a new virtual machine toolbar button.  
 
Version-specific Notes
 
 
8.10 (Intrepid) Notes
 
 
    Two meta packages have been added: ubuntu-virt-server and ubuntu-virt-mgmt. Ubuntu-virt-server installs the packages needed to setup a base virtulization host (kvm, libvirt-bin and openssh-server) and ubuntu-virt-mgmt installs what you need to administer it from a management station (virt-manager, python-vm-builder and virt-viewer).
 
 
    ubuntu-vm-builder has been replaced by python-vm-builder (tutorial).
 
 
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.
 
 
11.10 (Oneric) Notes
 
 
Switching to the server kernel might be helpfull if there are start problems with virtual machines (i.e. Windows XP freezes approximately once every 5 starts )
 
  
 
==Referensi==
 
==Referensi==
  
 
* https://help.ubuntu.com/community/KVM/Installation
 
* https://help.ubuntu.com/community/KVM/Installation

Revision as of 07:02, 8 February 2015

Installation

Pre-installation checklist

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.

By default, if you booted into XEN kernel it will not display svm or vmx flag using the grep command. To see if it is enabled or not from xen, enter:

cat /sys/hypervisor/properties/capabilities

You must see hvm flags in the output.

Alternatively, you may execute:

kvm-ok 

which may provide an output like this:

INFO: /dev/kvm exists
KVM acceleration can be used

If you see :

INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

You can still run virtual machines, but it'll be much slower without the KVM extensions.

NOTE: You may see a message like "KVM acceleration can/can NOT be used". This is misleading and only means if KVM is *currently* available (i.e. "turned on"), *not* if it is supported.

Use a 64 bit kernel (if possible)

Running a 64 bit kernel on the host operating system is recommended but not required.

   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:

uname -m

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

Install Necessary Packages

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:

Lucid (10.04) or later

$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Karmic (9.10) or earlier

$ 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
  • qemu-kvm (kvm in Karmic and earlier) 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.

Add Users to Groups

Karmic (9.10) and later

You need to ensure that your username is added to the group libvirtd:

$ sudo adduser `id -un` libvirtd
Adding user '<username>' to group 'libvirtd' ...

After this, you need to relogin so that your user becomes an effective member of the libvirtd group. The members of this group can run virtual machines. (You can also 'newgrp kvm' in a terminal, but this will affect only that terminal.)

Releases prior to Karmic (9.10)

You need to ensure that your username is added to the groups: kvm and libvirtd.

To check:

$ groups

adm dialout cdrom floppy audio dip video plugdev fuse lpadmin admin sambashare kvm libvirtd

To add your <username> to the groups:

$ sudo adduser `id -un` kvm
Adding user '<username>' to group 'kvm' ...
$ sudo adduser `id -un` libvirtd
Adding user '<username>' to group 'libvirtd' ...

After the installation, you need to relogin so that your user becomes an effective member of kvm and libvirtd user groups. The members of this group can run virtual machines.

Verify Installation

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 (e.g. you did not relogin) 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.

The sock file should have permissions similar to:

$ sudo ls -la /var/run/libvirt/libvirt-sock
srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock

Also, /dev/kvm needs to be in the right group. If you see:

 $ ls -l /dev/kvm
crw-rw----+ 1 root root 10, 232 Jul  8 22:04 /dev/kvm

You might experience problems when creating a virtual machine. Change the device's group to kvm/libvirtd instead:

sudo chown root:libvirtd /dev/kvm

Now you need to either relogin or restart the kernel modules:

rmmod kvm
modprobe -a kvm

Optional: Install virt-manager (graphical user interface)

If you are working on a desktop computer you might want to install a GUI tool to manage virtual machines.

$ sudo apt-get install virt-manager

Virtual Machine Manager will appear in Applications -> System Tools menu. First create a new connection to local QEMU instance from File -> Add Connection menu. Localhost (QEMU) or QEMU/KVM should appear in the virtual machine list. Note: there already exist Localhost (QEMU Usermode) connection but this does not work at least on Ubuntu 10.04.

Create a new virtual machine by pressing the top left Create a new virtual machine toolbar button.

Referensi