Установка Linux KVM и гостевой ОС

kvm_logo
В данной статье рассмотрим установку KVM в Debian/Debian-based операционных системах.
KVM (Kernel-based Virtual Machine) – Linux-решение, которое обеспечивает виртуализацию x86-платформы, поддерживающей Intel VT (Virtualization Technology) или AMD SVM (Secure Virtual Machine).
Разрабатывается компанией Red Hat.
Чтобы проверить, поддерживает ли ваша платформа VT или SVM – дайте команду

Если вывод команды не пустой, значит поддерживает.
Устанавливаем KVM:

Создаем мост – в файл /etc/sysctl.conf добавляем строки:

и даем команду sysctl -p
Для моста в файл /etc/network/interfaces добавляем новый сетевой интерфейс, например kvmbr0 – в результате файл interfaces получился приблизительно таким:

Перезагрузим сеть: /etc/init.d/networking restart
Теперь вывод brctl show должен показать примерно следующее:
kvmbr0 8000.f46d04976c46 no eth0
У меня все будет в домашнем каталоге /home/sd
Скачиваем (или передаем между компьютерами через scp/nc) в домашний каталог iso-образ (дистрибутив) той операционной системы, которая впоследствии будет гостевой. У меня это файл winxp.iso
Создаем файл-диск виртуальной системы (здесь 10 Гб):

При запуске следующей команды может появиться сообщение:
Unable to connect to graphical console: virt-viewer not installed. Please install the ‘virt-viewer’ package. – не обращайте на него внимания.
Сама команда – установка гостевой ОС:

(“–os-type=linux –os-variant=generic26” для линуксов)
где:
-r 1024 – количество памяти выделяемой под виртуальную машину (в мегабайтах)
–vnc – включаем VNC (будет слушать на localhost:5900, позже сделаем SSH-туннель)
-w bridge:kvmbr0 – подключаем к сети на интерфейс kvmbr0
Как я предупреждал ранее, если после запуска этой команды не появилось никаких ошибок, а отобразилось что-то вида:
Starting install…
Creating domain… 0 B 00:01
Unable to connect to graphical console: virt-viewer not installed. Please install the ‘virt-viewer’ package.
Domain installation still in progress. You can reconnect to
the console to complete the installation process.

то все отлично, виртуальная машина запустилась (можно проверить командой virsh -c qemu:///system list –all)
Теперь с любого компьютера пробрасываем SSH-туннель:

и remmina на localhost:5900
или
Устанавливаем (если в самом начале не установили, а настраивали сервер локально) ssh-клиент, например, kitty (доработанный вариант putty). Запускаем, настраиваем:
Во вкладке Session — Host Name (or IP address) адрес нашего хост-сервера (в моем случае 172.16.4.24).
Во вкладке Windows-Translation — выбираем UTF-8.
Во вкладке Connection-SSH-Tunnels — заполняем поля Source port 59000, Destination localhost:5900, нажимаем Add. Должна появится следующая запись:
image
Жмем Open и мы должны подключиться по SSH к хост-серверу. Одновременно у нас произойдет перенаправление порта 5900 хост-сервера (порт vnc-сервера) на наш локальный 59000 порт.
Если у вас появляется ошибка: “qemu: could not open disk image … : Permission denied”, скопируйте .img/.iso файлы в /var/lib/libvirt/images, чтобы SELinux “не был против” =)
Администрирование виртуальных машин:
Для начала запускаем консоль управления
sudo virsh
и уже в ней:
list –all -посмотреть все виртуальные машины
destroy имя виртуальной машины – жесткое выключение виртуальной машины
undefine имя виртуальной машины -удалить виртуальную машину(не забываем потом удалить файл виртуальной машины, конечно если она больше не нужна)
start имя виртуальной машины – запустить виртуальную машину
autostart имя виртуальной машины – автозагрузка виртуальной машины
autostart –disable имя виртуальной машины – выключить автозагрузку виртуальной машины

Discussion

Ф-С-КК-К
15.10.2012
Вылазит ошибка, а в /var/lib/libvirt/images места нет. ?? ERROR internal error process exited while connecting to monitor: char device redirected to /dev/pts/3 qemu: could not open disk image /home/udelf/.qq/img.img: Permission denied
Vzhikk
21.10.2012
Можно в /etc/libvirt/qemu.conf раскоментить/заполнить параметры user="root" и group="root"
Ф-С-КК-К
23.10.2012
не помогает :(
lxc
29.10.2012
смотрите в сторону LXC
admin
29.11.2012
не совсем понял, как будут назначаться ip-адреса гостевым машинам?
Uchla
30.11.2012
Здравствуйте, Ручками, внутри самой гостевой машины
слава
15.12.2012
а gui какой-нибудь у KVMА есть?
Uchla
16.12.2012
Konst
01.02.2013
Привет Руслан, слушай, как склонировать уже поднятую виртуалку?

Җавап калдыру



All fields are required. Your email address will not be published.