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

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

Хочу рассказать в своей теме «Установка гипервизора KVM на Debian/Ubuntu» как установка гипервизор KVM на Debian или Ubuntu на примере Debian 8. Одной из причин почему я использую именно Debian а не Ubuntu — это личные соображения и в стабильности ОС.

Предварительная установка

Для запуска KVM, необходимо процессор поддерживающий аппаратную виртуализацию. Intel и AMD и разработали расширения для своих процессоров, считаются соответственно Intel VT-х (кодовое название Vanderpool) и AMD-V (кодовое название Pacifica). Чтобы узнать поддерживает ваш процессор данную опцию, выполните:

# egrep -c '(vmx|svm)' /proc/cpuinfo
  • Если получите ответ 0  — это означает, что ваш процессор не поддерживает аппаратную виртуализацию.
  • Если получите ответ  1 или другое число — это означает, что ваш процессор поддерживает виртуализацию в BIOS.

По умолчанию, если вы загрузились в XEN ядро не будет отображаться SVM или флаг VMX с помощью команды GREP. Чтобы увидеть включены ли данные флаги от Xen, введите:

# cat /sys/hypervisor/properties/capabilities

Вы должны увидеть HVM флаги.

Кроме того, вы можете выполнить:

# kvm-ok

Если получите следующий вывод, то у вас все хорошо и у вас имеется поддержка:

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

Если получите следующий вывод, то у вас нет поддержки и будет работать гораздо медленнее без этих расширений KVM:

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

ПРИМЕЧАНИЕ: Вы можете увидеть сообщение вроде «KVM acceleration can/can NOT be used». Это вводит в заблуждение, и только означает что KVM является *currently* available (i.e. «turned on»), и говорит что они включены, но не поддерживаются.

Используйте 64 битное ядро (если это возможно)

Запуск на 64 битном ядре рекомендуется, но не требуется.

Чтобы обеспечить поддержку более 2 Гб оперативной памяти для виртуальных машин, необходимо использовать 64-битное ядро. На 32-битном ядре будут ограничено  использование РАМ до 2 Гб.

Кроме того, 64-разрядная система может содержать как 32-разрядные, так и 64-разрядные ОС, а 32-битная система может вместить только 32-разрядные ОС ваших виртуальных машин. Чтобы проверить, какой розрядности ваш процессор, вы можете запустить эту команду:

# egrep -c ' lm ' /proc/cpuinfo
  • Если вы имеете 0, то это означает что ваш процессор не 64-битный.
  • Если вы имеете 1 и выше, то это говорит что имеет поддержку.

Чтобы посмотреть архитектуру вашего сервера, используйте:

# uname -m

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

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

Для минимальной установки, потребуется лишь следующий пакет virtinst который можно установить:

# aptitude install virtinst

Следующие пакеты необходимы если вам необходимо включить KVM на уже установленной ОС, я установлю и их:

# aptitude install kvm libvirt-bin virtinst bridge-utils

Для того, тобы использовать графический интерфейс установите:

# aptitude install virt-manager virt-viewer

Моя первая виртуальная машина будет установлена именно через графический интерфейс т.к он очень простой.

Добавляем своего пользователя в группы:

# adduser `id -un` libvirtd
$ sudo adduser `id -un` kvm

Например:

# adduser captain kvm
# adduser captain libvirtd

После установки, вы должны войти снова, чтобы ваш пользователь становится действительным членом KVM и libvirtd групп пользователей. Члены этой группы могут запускать виртуальные машины.

Настройка сетевого моста для подключения виртуальных машин к реальной сети

Данная настройка необходима для вашего гипервизера, для того чтобы виртуальные сервера имели прямой доступ к интернету. Внесем некоторые изменения в конфигурационный файл

# vim /etc/network/interfaces

Если у вас имееться сетевой интерфейс eth0, то его нужно заменить на br0 с добавляем следующих строк:

#auto eth0
#iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.10.10
gateway 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0

ИЛИ

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

Я буду использовать следующий пример с DHCP

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

Это создаст виртуальный интерфейс br0.

Теперь перезагрузите сеть:

# /etc/init.d/networking restart

Если ваша VM «замораживает» в течение нескольких секунд после запуска или остановки KVM при использовании мостового сети, это потому, что мост Linux примет аппаратный адрес с наименьшим номером интерфейса. Чтобы обойти эту проблему, добавьте следующию конфигурацию вашего моста:

# post-up ip link set br0 address f4:6d:04:08:f1:5f

Замените f4:6d:04:08:f1:5f с аппаратным адресом физического Ethernet адаптер, который всегда будет частью моста.

Проверка установки KVM

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

 

Файл sock должен иметь права, аналогичные как:

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

Так же, /dev/kvm должен иметь правильные группы. Если ты видишь:

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

Вы можете столкнуться с проблемами при создании виртуальной машины. Изменить группу устройства для kvm/libvirtd:

# chown root:libvirtd /dev/kvm

Теперь вам нужно либо войти снова или перезагрузить модули ядра:

# rmmod kvm
# modprobe -a kvm

Следующим шагом будет создание самой виртуальной машины. Но об этом немного позже. А на этом тема  «Установка гипервизора KVM на Debian/Ubuntu» завершена.

https://help.ubuntu.com/community/KVM/Installation

One thought on “Установка гипервизора KVM на Debian/Ubuntu

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.