суббота, 20 июня 2009 г.

Установка гипервизора KVM в Ubuntu Jaunty

Вдоволь наигравшись с VirtualBox'ом и получив в свое распоряжение HP ProLiant DL360G5 я решил обратить свое внимание на модное нынче слово - виртуализация. Написано про это направление достаточно много. Хорошая вводная статья есть в библиотеке IBM (хотя бы будете знать чем отличается полная виртуализация от паравиртуализации). Там же есть описание некоторых гипервизоров.
Перепробовав несколько релизаций гипервизоров и получив не очень хорошие результаты, я как-то упустил из виду то, что было у меня практически под носом (т.е. в репах убунты) - гипервизор KVM.

Проверка оборудования.


Как проверить, что ваш CPU поддерживает полную виртуализацию

Для запуска KVM, вам нужен процессор с поддержкой виртуализации (intel-vt или amd-v). Для проверки того, что ваш процессор поддерживает эту технологию, выполните следующую команду:
egrep '(vmx|svm)' --color=always /proc/cpuinfo

Если вывод ничего не дал, это значит, что процессор не поддерживает аппаратную виртуализацию. Если вам все же повезло - проверьте настройки BIOS, вполне возможно, что виртуализация запрещена в BIOS по-умолчанию.

Используйте 64-х битное ядро, если вам необходимо больше 2GB памяти для виртуальных машин

Для выделения более чем 2047MB для ваших виртуальных машин, вы должны использовать 64-х битное ядро. Для того, чтобы убедится, что ваш процессор 64-х битный, можете использовать следующую команду:
egrep ' lm ' --color=always /proc/cpuinfo

Если результат нулевой (что было бы странно), то это означает, что процессор не 64х битный. lm означает Long Mode, т.е. 64 битный процессор.

Ну и последнее, нужно убедится, что вы испольуете 64 битное ядро:
uname -m

x86_64 означает, что запущено 64 битное ядро. Если вы видите i386, i486, i586 или i686, то используется 32 битное ядро.

Установка KVM.



Для начала, установим следующие пакеты:
sudo apt-get install ubuntu-virt-server qemu bridge-utils

Перегружаем систему.

Добавление пользователей

Добавим себя в группу libvirtd (в группу kvm добавлять пользователей необходимости больше нет):
sudo usermod -aG libvirtd `id -un`

После этого необходимо перелогиниться.
Это даст вам доступ к системному экземпляру libvirtd. Это необходимо для использования расширенных настроек сети.

Для проверки правильности установки выведем список виртуальных машин:

virsh -c qemu:///system list
Id Name State
----------------------------------

Если установка прошла некорректно, вы получите что-то вроде этого:
virsh -c qemu:///system list
libvir: Remote error : Permission denied
error: failed to connect to the hypervisor


Необходимо запустить kvm из-под root, для проверки того, что виртуализация не выключена в BIOS:
sudo kvm
QEMU PC emulator version 0.9.1 (kvm-62), Copyright (c) 2003-2008 Fabrice Bellard
usage: qemu [options] [disk_image]
...


Иначе вы получите сообщение вроде этого:
sudo kvm
Could not initialize KVM, will disable KVM support
Ubuntu does not support running KVM without hardware acceleration. Sorry.


Оригинал статьи.