Die Installation von KVM auf CentOS 7
KVM ist eine Open-Source Hardware Virtualisierungssoftware, mit dieser Linux-basierte und Windows-basierte virtuelle Maschinen gleichzeitig ausgeführt werden können. KVM wird als Kernel-basierte Virtuelle Maschine bezeichnet und ist eine alternative zu VMware ESXi und Xen, dabei wird durch die Installation des KVM-Pakets das KVM-Modul in den aktuellen Kernel geladen und aus einer Linux-Maschine ein Hypervisor gebildet.

In diesem Beitrag wird gezeigt, wie ein KVM Hypervisor auf CentOS 7.x und RHEL 7.x installiert wird, um danach virtuelle Maschinen zu installieren.
INSTALLATION
Bevor man mit der KVM-Installation fortfährt, überprüft man ob die CPU des Systems die Hardware-Virtualisierung unterstützt. Dazu folgendes Command ausführen in der root Shell
grep -E '(vmx|svm)' /proc/cpuinfo
Es sollte in der Ausgabe das Wort vmx oder svm erscheinen, ansonsten unterstützt die CPU keine Virtualisierung. Möglicherweise lohnt sich ein gang in das System BIOS um die VT-x Boot Einstellung zu aktivieren.
Die KVM-Pakete und die zugehörigen Module werden installiert.
yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils
Der KVM Service kann nun aktiviert und gestartet werden.
systemctl enable libvirtd systemctl start libvirtd
Wir überprüfen ob die KVM Module auch wirklich gestartet wurden.
lsmod | grep kvm kvm_intel 162153 0 kvm 525409 1 kvm_intel
Falls eine Minimal CentOS 7 oder RHEL 7 Installation vorliegt, startet der virt-manager nicht, wir müssen also noch X-Window installieren.
yum install -y "@X Window System" xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils
Starte den Server neu und versuche dann, den virtual manager zu starten.
virt-manager

Bevor wir beginnen VMs zu deployen, erstellen wir zunächst ein Bridge Interface. Die Bridge-Schnittstelle ist erforderlich, wenn man zum Hypervisor von ausserhalb des Netzwerks auf virtuelle Maschinen zugreifen möchte. In unserem Beispiel heisst das Ethernet Interface ifcfg-eth0.
cd /etc/sysconfig/network-scripts/ cp ifcfg-eth0 ifcfg-br0
Bearbeite nun die Interface-Datei ifcfg-eth0 und trage folgendes ein:
vi ifcfg-eth0 TYPE=Ethernet NM_CONTROLLED="no" BOOTPROTO=static DEVICE=eth0 ONBOOT=yes BRIDGE=br0
Bearbeite die Bridge-Datei ifcfg-br0 und lege folgendes fest:
vi ifcfg-br0 TYPE=Bridge NM_CONTROLLED="no" BOOTPROTO=static DEVICE=br0 ONBOOT=yes IPADDR=192.168.91.40 NETMASK=255.255.255.0 GATEWAY=192.168.91.1 DNS1=192.168.91.50
Starte den Netzwerkdienst neu um die Bridge zu aktivieren.
systemctl restart network
Überprüfe das Bridge Interface mit dem folgenden Befehl:
ip addr show br0
Wer es lieber den Network-Manager machen lässt, der kann das Bridge Interface wie folgt erzeugen:
nmcli c add type bridge autoconnect yes con-name br0 ifname br0 nmcli c modify br0 ipv4.addresses 192.168.91.40/24 ipv4.method manual nmcli c modify br0 ipv4.gateway 192.168.91.1 nmcli c modify br0 ipv4.dns 192.168.91.50 nmcli c delete eth0 nmcli c add type bridge-slave autoconnect yes con-name eth0 ifname eth0 master br0 reboot ip a
Virtuelle Maschinen können nun entweder über die Befehlszeile mit dem Befehl virt-install oder über das GUI virt-manager erzeugt werden.
Im GUI gehe hierzu auf die Option Datei und klicke auf New virtual Maschine.

Die virtuelle Maschine wird nun mit Hilfe des Wizard erzeugt.
Virtuelle Maschinen aus der Befehlszeile erstellen:
virt-install --name=Ubuntu-16-04 --file=/var/lib/libvirt/images/ubuntu16-04.dsk --file-size=20 --nonsparse --graphics spice --vcpus=2 --ram=2048 --cdrom=ubuntu-16.04-server-amd64.iso --network bridge=br0 --os-type=linux --os-variant=generic Starting install... Allocating 'ubuntu16-04.dsk' | 20 GB 00:00:00 Creating domain...
Aus dem virtual Manager werden die VMs hochgefahren und verwaltet, es wird der Status und die Systemlast angezeigt, ähnlich wie man es von vSphere kennt.

Weiter ist virt-manager aus Cygwin in Windows 10 ausführbar, hierzu muss Cygwin64 mit dem Xorg-Server und virt-manager installiert sein, mit dem virt-manager verbindet man zum KVM Hypervisor.


Der Service libvirts-guests muss aktiviert und gestartet sein, damit bei einem Shutdown oder Reboot des KVM-Hypervisors die laufenden virtuellen Maschinen gespeichert werden. Ansonsten werden diese brutal gestoppt.
systemctl enable libvirt-guests
systemctl start libvirt-guests
Besten Dank für den nicht unwichtigen Hinweis!