Настройка KVM под Ubuntu Server 10.04 LTS. Часть 1 – Установка
В одном проекте пришлось сильно заморочиться виртуализацией. Так как опыта было маловато, то рылся серп на полную катушку. Самый толковый мануал оказался, как ни странно на сайте убунту, но в английском варианте. В общем для себя и всех делаем перевод, кое-где будут ремарки от себя). Так же опущены инструкции для систем ниже 10.04
Установка
Проверка
Во-первых проверяем, что процессор поддерживает вирутализацию.
Для того, чтобы установить KVM, необходимо чтобы процессор поддерживал аппаратную виртуализацию. Intel и AMD обе разработали поддержку в своих процессорах, соотвественно Intel VT-x (кодове имя 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: Your CPU supports KVM extensions
INFO: /dev/kvm exists
KVM acceleration can be used
Если вы увидели :
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
Вы все-таки можете запускать виртуальные машины, но они будут работать гораздо медленнее без расширений KVM.
Используйте по возможности 64-х битное ядро
Запуск 64-х битного ядра на хостовой операционной системе рекомендуется, но не обязательно.
- Для использования 2Гб оперативной памяти для ваших виртуальных машин, вы должны использовать 64-х битное ядро(см. 32bit_and_64bit). На 32-х битном ядре, вы сможете использовать не более 2 Гб оперативной памяти для каждой виртуальной машины.
- Так же на 64-х битной системе можно запускать 32-х и 64-х битные гостевые система. На 32-х битной только 32-х битные гостевые системы.
Для того, чтобы убедиться что ваш проецссор 64-х битный запустите команду:
egrep -c ' lm ' /proc/cpuinfo
Если выводится 0, то это хначит, что ваш процессор не 64-х битный.
Если 1 или больше, то оно самое. Примечание: lm – сокращение для Long Mode (Длинный Режим
) что эквивалентно обозначению 64-х битный процессор.
Теперь, чтобы убедиться что запущено 64-х битное ядро, просто смотрим команду:
uname -m
x86_64 обозначает, что запущено 64х битное ядро. Если вы увидели i386, i486, i586 или i686, у вас запущено 32-х битное ядро.
Примечание: x86_64 это синоним для amd64.
Установка KVM
Установка необходимых пакетов
Для нижеследующей инструкции по установке, мы принимаем во внимание, что вы запускаете KVM на сервере, и, следовательно, мы не не имеем никаких X серверов на машине.
Вам необходимо сперва установить неcколько пакетов:
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
- libvirt-bin устанавливает libvirtd который необходим для администрирования экземпляров qemu и kvm использующих libvirt
- qemu-kvm это бакэнд – набор управляющих утилит
- ubuntu-vm-builder удобный инструмент для создания виртуальных машин
- bridge-utils создает мост (bridge) из вашей сети на виртуальные машины
Вы так же можете установить virt-viewer, для просмотра экземпляров виртуальных машин.
Добавление пользователей и групп
Пакет libvirtd-bin автоматически добавит вас в группу libvirtd. Вам нет необходимости добавлять себя в группу kvm.
После установки необходимо перелогиниться, чтобы пользователь стал эффективным членом группы libvirtd. Члены этой группы могут запускать виртуальные машины. (Вы так же можете написать ‘newgrp 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
$
Что-то где-то напортачено.( к примеру, забыли перелогиниться) и вы, возможно заимеете безумное желание исправить это, до того как продвинетесь дальше. Собственно ошибка означает, что вы не можете получить доступ на запись к /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
На любителя: Установка virt-manager (графическое приложение)
Если вы работаете на десктопе, вы можете пожелать установить графический инструмент для управления виртуальными машинами.
$ sudo apt-get install virt-manager
Virtual Machine Manager будет находиться в Applications -> System Tools menu. Сначала создайте новое соединения с локальным экземпляром QEMU из меню File -> Add Connection. Localhost (QEMU) должен появиться в списке виртуальных машин. Примечание: там уже присутствует соединения (QEMU Usermode) но оно не работает, по крайней мере на Ubuntu 10.04.
Создайте виртуальную машину нажатием кнопки в верхнем левом углу Create a new virtual machine.