HomeBlogMagic

KVM Cheatsheet

Für den Betrieb von Entwicklungs- oder Testumgebungen benutze ich in der Virtuelle Maschinen, welche, zumindest auf meinem Entwicklungsrechner, mit VirtualBox betrieben werden.

Für Nightly Builds und Tests habe ich mir inzwischen einen Server angeschafft welcher mit einem Ubuntu Server läuft.
Anders als bei meinem Entwicklungsrechner soll hier KVM stat VirtualBox zum Einsatz kommen. Dazu habe ich diesen Blog-Eintrage angefangen, um mir hier die gängigsten Befehle zu notieren. Eventuell kann das der ein oder andere auch gebrauchen.

Installation

Da ich Ubuntu-Server einsetze kann ich KVM ganz einfach per apt installieren.

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
sudo adduser root kvm 
sudo adduser $USER kvm 

sudo modprobe kvm_intel
sudo systemctl enable --now libvirtd
sudo virsh list --all

Client und Host auf einem Gerät:

wget http://mirror.bauhuette.fh-aachen.de/linuxmint-cd/stable/20/linuxmint-20-mate-64bit.iso
kvm -cdrom linuxmint-20-mate-64bit.iso -m 512 -boot d 

Remote

Host

cd /var/lib/libvirt/boot
sudo wget http://mirror.bauhuette.fh-aachen.de/linuxmint-cd/stable/20/linuxmint-20-mate-64bit.iso
sudo apt-get install qemu-kvm virtinst bridge-utils cpu-checker libvirt-daemon-system
sudo systemctl enable libvirtd
sudo systemctl start libvirtd

# Linux Mint Example
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/LM20.qcow2 50G
sudo virt-install --name LM20 --ram=2048 --vcpus=2 --cpu host --hvm --disk path=/var/lib/libvirt/images/LM20.qcow2 --cdrom /var/lib/libvirt/boot/linuxmint-20-mate-64bit.iso --graphics vnc
sudo virsh dumphex LM20 > LM20.xml

# Windows Example
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/WIN10.qcow2 200G
sudo virt-install --name WIN10 --ram=8196 --vcpus=2 --cpu host --hvm --disk path=/var/lib/libvirt/images/WIN10.qcow2 --cdrom /var/lib/libvirt/boot/WIN10.iso --graphics vnc,listen=0.0.0.0
sudo virsh dumphex WIN10 > WIN10.xml

sudo virsh start LM20
sudo virsh suspend LM20
sudo virsh resume LM20
sudo virsh shutdown LM20
sudo virsh destroy LM20

Netzwerkbrücke mit Ubuntu NetworkManager.
Achtung: das Script dient für mich hauptsächlich dazu das automatische generieren von VMs zu testen.

sudo apt-get install bridge-utils

sudo virsh shutdown WIN10
sudo virsh destroy WIN10
sudo virsh undefine WIN10

sudo virsh shutdown LM20
sudo virsh destroy LM20
sudo virsh undefine LM20

sudo virsh net-destroy vbr0
sudo virsh net-undefine vbr0

sudo nmcli con show
q

sudo virsh shutdown WIN10
sudo virsh destroy WIN10
sudo virsh undefine WIN10

sudo nmcli con down br0
sudo nmcli con delete br0
sudo nmcli con delete bridge-slave-wlx000b819609d3

sudo nmcli con show
q

sudo nmcli con add ifname br0 type bridge con-name br0
sudo nmcli con add type bridge-slave ifname wlx000b819609d3 master br0
sudo nmcli con modify br0 bridge.stp no
sudo nmcli con down Coolcow
sudo nmcli con up br0

sudo nmcli con show
q

sudo virsh net-define vbr0.xml
sudo virsh net-start vbr0
sudo virsh net-autostart vbr0

sudo virsh create WIN10.xml
sudo virsh start WIN10

sudo virsh create LM20.xml
sudo virsh start LM20

Client

Durch --graphics vnc,listen=0.0.0.0 im Host Setup, sind die VMs anfangs per VNC erreichbar, nach dem einrichten sollte auf das Gast-Betriebssystem selbst zugegriffen werden, z.b. RemoteDesktop, etc.

Weiteres folgt bald.

Permalink: https://adirmeier.de/Blog/ID_334
Tags: Blog, kvm, linux, vmvon am 2020-08-20