个人工具

“UbuntuHelp:KVM/Installation”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(创建新页面为 '{{From|https://help.ubuntu.com/community/KVM/Installation}} {{Languages|UbuntuHelp:KVM/Installation}} #title KVM Installation <<Include(KVM/Header)>> == Preflight check == === H...')
 
第3行: 第3行:
 
#title KVM Installation
 
#title KVM Installation
 
<<Include(KVM/Header)>>
 
<<Include(KVM/Header)>>
== Preflight check ==
+
== Installation ==
 
=== How to check if your CPU supports hardware virtualisation ===
 
=== How to check if your CPU supports hardware virtualisation ===
 
To run KVM, you need a processor that supports virtualisation; Intel and AMD both have developed extensions for their processors, respectively INTEL-VT and AMD-V. To see if your processor supports one of these, you can run the following command:
 
To run KVM, you need a processor that supports virtualisation; Intel and AMD both have developed extensions for their processors, respectively INTEL-VT and AMD-V. To see if your processor supports one of these, you can run the following command:
第11行: 第11行:
 
</nowiki></pre>
 
</nowiki></pre>
 
If nothing is printed, it means that your CPU doesn't support hardware virtualisation. Otherwise, it does - but you still need to make sure that virtualisation is enabled in the BIOS.
 
If nothing is printed, it means that your CPU doesn't support hardware virtualisation. Otherwise, it does - but you still need to make sure that virtualisation is enabled in the BIOS.
=== Use a 64 bit kernel if you need more than 2GB RAM for your VMs ===
+
=== Use a 64 bit kernel if possible ===
To serve more than 2047 MB of RAM for your VMs, you '''must''' use a 64 bit kernel (see [[UbuntuHelp:32bit_and_64bit|32bit_and_64bit]]). On a 32 bit kernel install, you'll be limited to 2GB RAM at maximum for a given VM.
+
<ol><li>To serve more than 2047 MB of RAM for your VMs, you '''must''' use a 64 bit kernel (see [[UbuntuHelp:32bit_and_64bit|32bit_and_64bit]]). On a 32 bit kernel install, you'll be limited to 2GB RAM at maximum for a given VM.
 +
</li><li>Also, a 64 bit system can host both 32 bit and 64 bit guests.  A 32 bit system can only host 32 bit guests.</li></ol>
 +
 
 
To see if your processor is 64 bit, you can run the following command:
 
To see if your processor is 64 bit, you can run the following command:
 
<pre><nowiki>
 
<pre><nowiki>
第23行: 第25行:
 
</nowiki></pre>
 
</nowiki></pre>
 
'''x86_64''' indicates a 64-bit kernel running. If you use see i386, i486, i586 or i686, you're running a 32 bit kernel.
 
'''x86_64''' indicates a 64-bit kernel running. If you use see i386, i486, i586 or i686, you're running a 32 bit kernel.
== Installation of KVM ==
+
=== 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.
 
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:
 
You need to install a few packages first:
 
<pre><nowiki>
 
<pre><nowiki>
$ sudo apt-get install kvm libvirt-bin ubuntu-vm-builder qemu bridge-utils
+
$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
 
</nowiki></pre>
 
</nowiki></pre>
 
* 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
第42行: 第44行:
 
or reboot your system before being able to use it.
 
or reboot your system before being able to use it.
 
=== Adding Users ===
 
=== Adding Users ===
 +
'''9.10 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):
 
Add yourself to the ''libvirtd'' group (note that there is no need to add yourself to the ''kvm'' group):
 
<pre><nowiki>
 
<pre><nowiki>
$ sudo usermod -aG libvirtd `id -un`
+
$ sudo adduser `id -un` libvirtd
 
</nowiki></pre>
 
</nowiki></pre>
 
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.
 
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: 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 usermod -aG libvirtd joe''.
+
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''.
 
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:
 
<pre><nowiki>
 
<pre><nowiki>
第55行: 第59行:
 
----------------------------------
 
----------------------------------
  
$  
+
$
 
</nowiki></pre>
 
</nowiki></pre>
 
If on the other hand you get something like this:
 
If on the other hand you get something like this:
第65行: 第69行:
 
</nowiki></pre>
 
</nowiki></pre>
 
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''.
 
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''.
'''Note: You should also run the kvm command as root, which should give you the help message of kvm.
 
If you get an error message complaining about the lack of Hardware Acceleration, it is probably disabled at the bios level.
 
You should be able to confirm that by reading the last line of dmesg which should say kvm: disabled at bios level.'''
 
This is what it looks like when it works:
 
<pre><nowiki>
 
$ sudo kvm
 
QEMU PC emulator version 0.9.1 (kvm-62), Copyright (c) 2003-2008 Fabrice Bellard
 
usage: qemu [options] [disk_image]
 
...
 
$
 
</nowiki></pre>
 
You will get something like this when hardware acceleration is not supported by your CPU or disabled at bios level:
 
<pre><nowiki>
 
$ sudo kvm
 
Could not initialize KVM, will disable KVM support
 
Ubuntu does not support running KVM without hardware acceleration. Sorry.
 
$
 
</nowiki></pre>
 
== Removing KVM ==
 
Removing kvm is pretty easy:<pre><nowiki>
 
$ sudo apt-get purge kvm
 
</nowiki></pre>
 
This will unload the kvm modules, remove the kvm and purge its configuration (for example, files in /etc).
 
If kvm was already removed, the following will finally purge it:<pre><nowiki>
 
$ sudo dpkg -P kvm
 
</nowiki></pre>
 
 
<<Include(KVM/Header)>>
 
<<Include(KVM/Header)>>
---
 
[[category:CategoryVirtualization]]
 
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2009年11月17日 (二) 19:43的版本

  1. title KVM Installation

<<Include(KVM/Header)>>

Installation

How to check if your CPU supports hardware virtualisation

To run KVM, you need a processor that supports virtualisation; Intel and AMD both have developed extensions for their processors, respectively INTEL-VT and AMD-V. To see if your processor supports one of these, you can run the following command:

egrep '(vmx|svm)' --color=always /proc/cpuinfo

If nothing is printed, it means that your CPU doesn't support hardware virtualisation. Otherwise, it does - but you still need to make sure that virtualisation is enabled in the BIOS.

Use a 64 bit kernel if possible

  1. To serve more than 2047 MB 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.
  2. 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 the following command:

grep ' lm ' /proc/cpuinfo

If nothing is printed, it means that your CPU is not 64 bit. lm stands for Long Mode, so 64 bit CPU. To see if your running kernel is 64 bit, just issue the following command:

uname -m

x86_64 indicates a 64-bit kernel running. If you use see i386, i486, i586 or i686, you're running a 32 bit kernel.

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 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.

Adding Users

9.10 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. 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. <<Include(KVM/Header)>>