База знаний по Open Source
Авторизация
Поиск по базе знаний

Для установки KVM в Ubuntu Server 16.04 нужно выполнить следующие шаги:

Убедиться что ваш компьютер поддерживает аппаратную виртуализацию:

$ sudo apt-get install cpu-checker
$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

Установить необходимые пакеты qemu-kvm:

$ sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils

Создать и сконфигурировать мост (bridge):

$ sudo cp /etc/network/interfaces /etc/network/interfaces.bakup-12.nov.2016
$ sudo nano /etc/network/interfaces

Отредактировать файл сетевых настроек, как приведено ниже:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0

iface eth0 inet manual


auto br0
 iface br0 inet static
 address 192.168.10.100
 netmask 255.255.255.0
 broadcast 192.168.10.255
 dns-nameservers 192.168.10.1 8.8.8.8
gateway 192.168.10.1
 bridge_ports eth0
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0

Сохранить и закрыть файл /etc/network/interfaces и перезапустить сетевой сервис:

$ sudo systemctl restart networking

Вообще-то желательно перезагрузить компьютер:

$ sudo shutdown -r now

Проверяем установки моста:

$ sudo brctl show

Должно выдать что-то вроде:

bridge name              bridge id                STP               enabled interfaces
br0                 8000.0016e68e5526             no                       eth0

Создаем первую виртуальную машину:

Для примера создадим виртуальную машину с системой FreeBSD 10, 2GB RAM, 2 CPU и 40GB дисковой памяти:

$ cd /var/lib/libvirt/boot/
$ sudo wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-disc1.iso
$ sudo virt-install
--virt-type=kvm
--name freebsd
--ram 2048
--vcpus=2
--os-variant=freebsd10.0
--virt-type=kvm
--hvm
--cdrom=/var/lib/libvirt/boot/FreeBSD-10.3-RELEASE-amd64-disc1.iso
--network=bridge=br0,model=virtio
--graphics vnc
--disk path=/var/lib/libvirt/images/freebsd10.qcow2,size=40,bus=virtio,format=qcow2

Здесь виртуальная машина у нас называется freebsd. Посмотрим, какой порт слушает VNC сервер на нашей виртуальной машине:

$ sudo virsh dumpxml freebsd | grep vnc
<graphics type='vnc' port='5903' autoport='yes' listen='127.0.0.1'>

Например порт  5903. На клиентской машине открываем SSH туннель к freebsd:

$ ssh somebody@server.biz -L 5903:127.0.0.1:5903

После того, как ssh туннель настроен запускаем VNC клиент на свой адрес 127.0.0.1 (localhost) и порт 5903 для продолжения установки  OpenBSD.

Напоследок – несколько полезных команд KVM/VIRSH:

Список доступных версий операционных систем

$ osinfo-query os | less
$ osinfo-query os | grep debian
$ osinfo-query os | grep freebsd

Получить список работающих vms/domains

$ sudo virsh list

Остановка vm/domain с именем openbsd

$ sudo virsh shutdown openbsd

Запуск vm/domain с именем openbsd

$ sudo virsh start openbsd

Приостановить vm/domain с именем openbsd

$ sudo virsh suspend openbsd

Корректно перезагрузить vm/domain с именем openbsd

$ sudo virsh reboot openbsd

Жесткий сброс vm/domain с именем openbsd

$ sudo virsh reset openbsd

Деактивировать/удалить vm/domain с именем openbsd

$ sudo virsh undefine openbsd
$ sudo virsh destroy openbsd

Посмотреть полный набор команд virsh

$ virsh help | less
$ virsh help | grep reboot