< Virtualizálás

KVM

Szerző: Sallai András

Copyright © Sallai András, 2019

CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

A KVM-ről

A KVM a Kernel-based Virtual Machine rövidítése, magyarul kernel alapú virtuális gép. A KVM fejlesztését Avi Kivity kezdte a Qumranet szoftverfejlesztő cégnél, amelyet 2008-ban a Red Hat felvásárolt.

CPU támogatás

Ellenőrizzük a processzor virtualizációs támogatását.

egrep --color 'vmx|svm' /proc/cpuinfo

Ha nincs vmx vagy svm a cpu jellemzők között, akkor nincs virtualizációs támogatás a processzorban, az egrep nem ír ki semmit. Ha nincs támogatás a kvm helyett csak qemu virtualizáció lehetséges.

Telepítés

apt install qemu-kvm libvirt0 bridge-utils virt-manager

A Debian GNU/Linux 11 rendszeren a qemu-kvm helyett a qemu-system-x86 telepszik.

Bridge interfész

Nézzük meg, a hálózati kártya milyen néven érhető el:

nano /etc/network/interfaces

DHCP esetén:

auto lo
iface lo inet loopback
auto br0
iface br0 inet dhcp
bridge_ports enp0s3
bridge_stp off
bridge_maxwait 0

Fix IP esetén:

auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 192.168.10.2
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.1
dns-nameservers 192.168.10.8 8.8.8.8
dns-search zold.and
bridge_ports enp0s3
bridge_stp off
bridge_maxwait 0

bridge_stp off – Spanning Tree Protocol kikapcsolása

bridge_maxwait – Ne legyen várakozási idő mielőtt elérhető lesz

Indítsuk újra a gépet:

reboot

Vagy csak egyszerűen:

ifup br0

Non-root használat

A janos felhasználót (vagy helyette a saját felhasználókat) a libvirt csoportba felvesszük:

# gpasswd -a janos libvirt

A janos felhasználó így sudo nélkül tudja kezelni a virtuális gépeket.

Jelentkezzünk ki, majd újra be.

Az újabb bejelentkezés után az id paranccsal ellenőrizzük a janos felhasználó bekerült-e a csoportba. A janos felhasználóként kell futtatni:

$ id

ISO könyvtárak

mkdir /var/lib/libvirt/iso
mv debian-9.8.0-amd64-netinst.iso /var/lib/libvirt/iso
chown libvirt-qemu:libvirt \
/var/lib/libvirt/iso/debian-9.8.0-amd64-netinst.iso

CLI felület

virt-install \
--virt-type kvm \
--name debian \
--memory 512 \
--cdrom ~/iso/debian.iso \
--disk size=4 \
--os-variant debianstretch

virt-install \
--name debianGep \
--memory 512 \
--os-variant debiansqueeze \
--location http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/ \
--disk size=4 \
--network bridge=br0 \
--hvm \
--virt-type kvm \
--extra-args "console=ttyS0"

--name

a virtuális gép neve

--memory

memória mérete MiB-ban

--location

a terjesztés forrása

http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/

--os-variant

operációs rendszer variáció

debian9

--disk opció=érték1,érték2,...

size=10

10 G

--network

hálózati bridge

--hvm

teljes virtualizáció kérése

--virt-type

használt hypervizor

kvm, qemu, xen

--extra-args

extra argumentumok a kernel számára

„console=ttyS0”

GUI kezelőfelület

Telepítés

apt install virt-manager

Csoport

Ha fentebb kihagytuk volna a felhasználó libvirt csoportba helyezését, akkor tegyük meg, mivel a virt-manager rendszergazdai jelszót kér induláskor.

Ha felhasználót betesszük a libvirt csoportba, engedélyezzük a felhasználónak a virt-manager használatát, így nem kér root jelszót induláskor.

gpasswd -a janos libvirt

A művelethez ki és be kell jelentkezni.

Linkek

Források

https://wiki.debian.org/KVM (2019)

https://www.hiroom2.com/2017/06/26/debian-9-bridge-interface/ (2019)

https://www.hiroom2.com/2017/06/26/debian-9-install-kvm/ (2019)

https://tech.binary.com/kvm-virtualization-in-debian-9-stretch/ (2019)

https://manpages.debian.org/jessie/bridge-utils/bridge-utils-interfaces.5.en.html (2019)

https://computingforgeeks.com/use-virt-manager-as-non-root-user/ (2019)

https://www.cyberciti.biz/faq/install-kvm-server-debian-linux-9-headless-server/ (2019)

https://blog.programster.org/set-up-debian-9-kvm-server (2019)

Webes felületek

https://www.danpros.com/2017/06/good-and-lightweight-web-based-kvm-manager (2019)

https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/manage-kvm-qemu-with-kimchi-web-interface.html (2019)

https://www.linux-kvm.org/page/Management_Tools (2019)