Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
KVM (Kernel-based Virtual Machine)
Virtuelle Maschinen werden auf einem laufenden OS (Server) installiert und können dort mit einem beliebigen (anderen) OS (Linux, Windows) betrieben werden. Die Verwaltung der VM's erfolgt über die GUI des Virt-Manager, das auch auf einer anderen Maschine laufen kann → Fernwartung.
Server, Wirt der VM
Prüfen ob die CPU des Servers geeignet ist, um virtuelle Maschinen zu betreiben
$ egrep '^flags.*(vmx|svm)' /proc/cpuinfo
Sofern farbig „vmx“ (Intel) oder „svm“ (AMD) auftaucht, unterstützt die CPU Virtualisierung.
Installation
$ sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon virt-manager qemu-utils -y
check Status
$ sudo systemctl status libvirtd.service
Zugriffrechte anpassen, User zu Gruppen hinzufügen
$ sudo usermod -aG libvirt <USER> $ sudo usermod -aG libvirt-qemu <USER>
Spezial bei SRV134 (intern):
$ sudo usermod -aG alle libvirt-qemu
Speicherort KVM-Images
https://ostechnix.com/how-to-change-kvm-libvirt-default-storage-pool-location/
$ su - #bearbeiten als root
Zeige laufende VM's
$ virsh list --all
Zeige Pools
$ virsh pool-list
Zeige Details des Pools „default“
$ virsh pool-info default
Zeige den Datenpfad für den Pool „default“
$ virsh pool-dumpxml default | grep -i path
Zeige alle VM's auf diesem Datenpfad
$ virsh vol-list default | grep "/var/lib/libvirt/images/" $ virsh vol-list default | grep "/home/kvm/images/"
Editiere den Datenpool default → neuen Datenpfad eingeben (z.B. /home/kvm/)
$ virsh pool-edit default
<pool type='dir'> <name>default</name> <uuid>76f47a3c-7656-4c34-9ab5-c87e5136d532</uuid> <capacity unit='bytes'>396452147200</capacity> <allocation unit='bytes'>71178977280</allocation> <available unit='bytes'>325273169920</available> <source> </source> <target> <path>/home/kvm</path> <permissions> <mode>0755</mode> <owner>1000</owner> <group>1000</group> <label>unconfined_u:object_r:svirt_home_t:s0</label> </permissions> </target> </pool>
Anpassen: PATH /home/kvm
Stop Pool „default“
$ virsh pool-destroy default $ virsh pool-undefine default
Default pool neu erstellen
$ virsh pool-define-as --name default --type dir --target /home/kvm/
Anpassen: PATH /home/kvm
Pool starten und in zukunft automatisch starten
$ virsh pool-start default $ virsh pool-autostart default
Check den Pfad für default pool
$ virsh pool-dumpxml default | grep -i path
Check pool-list
$ virsh pool-list
Restart an Check libvirt
$ sudo systemctl restart libvirtd $ sudo systemctl status libvirtd
Netzwerkbrücke
Software „bridge-utils“ bereits installiert - s.o.
$ sudo nano /etc/network/interfaces
#MCM-SRV134
# The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eno2 iface eno2 inet dhcp auto eno1 iface eno1 inet dhcp auto br0 iface br0 inet dhcp bridge_ports eno1 #eno1 = Name Netzwerkkarte
br0 = Name der Netzwerkbrücke
Soll über den DHCP-Server eine feste IP-Adresse vergeben werden, ist die MAC-Adresse von br0 zu verwenden.
Download Betriebssysteme
Debian 11 - ISO download in das Verzeichnis für OS-Images
$ cd /home/kvm/ $ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.6.0-amd64-netinst.iso
Images für Windows finden sich unter: https://www.microsoft.com/de-de/software-download
Sollte man die Seite unter einem Windows-OS aufrufen, dann sind die Download-Optionen dadurch ggf. eingeschränkt. Unter einem Linux-System kann man problemlos Images aller gängigen Win-Systeme downloaden. Natürlich ohne Lizenz!
Installation dann über das GUI des Virt-Manager
Administration
Virt-Manager installieren, kann auch auf einem anderen System erfolgen.
$ sudo apt install virt-manager
Starten über die GUI
Diskussion