Для установки 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