KVM
KVM (Kernel-based Virtual Machine) is a hypervisor built into the Linux kernel.
- Install
libvirtPackagesyay -S qemu libvirt edk2-ovmf virt-manager nfs-utils virtio-win # optional dependencies iptables-nft dnsmasq # for default NAT/DHCP networking bridge-utils # for bridged networking openbsd-netcat # for remote management over SSH - Add user to
libvirtgroupssudo usermod -aG libvirt $USER - Start
libvirtddaemonsudo systemctl enable --now libvirtd - Create network bridge with
nmclinmcli connection add type bridge ifname br0 con-name "Netzwerkbrücke" stp no nmcli connection add type bridge-slave ifname enp39s0 con-name "Ethernet" master br0 nmcli connection down "Kabelgebundene Verbindung 1" nmcli connection up "Netzwerkbrücke"- When using bonding of interfaces, disable IPv4 and IPv6 on the bridge
nmcli con mod "Netzwerkbrücke" ipv4.method disabled ipv6.method ignore
- When using bonding of interfaces, disable IPv4 and IPv6 on the bridge
- Define bridge network XML file, e.g. as
br0.xml<network> <name>br0</name> <forward mode='bridge'/> <bridge name='br0'/> </network> - Add bridge network to
virt-managervirsh -c qemu:///system net-define br0.xml virsh -c qemu:///system net-autostart br0 - Disable COW on Btrfs (optional, recommended)
sudo chattr +C /var/lib/libvirt/images - Define a remote storage pool (e.g. remote ISO images)
remote-iso.xml<pool type="netfs"> <name>iso</name> <source> <host name="dragonhoard"/> <dir path="/Download/Software/ISOs"/> <format type="auto"/> </source> <target> <path>/var/lib/libvirt/images/iso</path> </target> </pool> - Add storage pool to
virt-managervirsh -c qemu:///system pool-define remote-iso.xml virsh -c qemu:///system pool-autostart iso - Create the storage pool mountpoint
sudo mkdir -p /var/lib/libvirt/images/iso