KVM is een open source hardware virtualisatie software waarmee we meerdere Linux gebaseerde en Windows gebaseerde virtuele machines tegelijkertijd kunnen maken en draaien. KVM staat bekend als Kernel-gebaseerde virtuele machine, omdat wanneer we KVM-pakket installeren, KVM-module in de huidige kernel wordt geladen en onze Linux-machine in een hypervisor verandert.
In dit bericht demonstreren we eerst hoe we KVM-hypervisor op CentOS 7.x en RHEL 7.x kunnen installeren en daarna gaan we proberen virtuele machines te installeren.
Voordat we verder gaan met de KVM installatie, laten we controleren of de CPU van uw systeem Hardware Virtualisatie ondersteunt.
Run het onderstaande commando vanaf de console.
# grep -E '(vmx|svm)' /proc/cpuinfo
We zouden het woord ofwel vmx of svm in de uitvoer moeten krijgen, anders ondersteunt CPU geen virtualisatie.
Stap:1 Installeer KVM en zijn geassocieerde pakketten
Run het volgende yum commando om KVM en zijn geassocieerde pakketten te installeren.
# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils
Start en activeer de libvirtd service
# systemctl start libvirtd# systemctl enable libvirtd
Run het onderstaande commando om te controleren of KVM module geladen is of niet
# lsmod | grep kvmkvm_intel 162153 0kvm 525409 1 kvm_intel#
In het geval dat u een Minimal CentOS 7 en RHEL 7 installatie heeft, dan zal virt-manger niet starten voor dat u x-window pakket moet installeren.
# yum install "@X Window System" xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y
Reboot de Server en probeer dan virt manager.
Stap:2 Start de Virt Manager
Virt Manager is een grafisch hulpmiddel waarmee we kunnen installeren en beheren van virtuele machines. Om de virt manager te starten, moet u het commando ‘virt-manager’ in de terminal typen.
# virt-manager
Stap:3 Configureer Bridge Interface
Voordat we beginnen met het aanmaken van VM’s, moeten we eerst de bridge interface aanmaken. De bridge-interface is nodig als u virtuele machines van buiten uw hypervisornetwerk wilt benaderen.
# cd /etc/sysconfig/network-scripts/# cp ifcfg-eno49 ifcfg-br0#
Vervang in het cp-commando de interfacenaam die bij uw systeem past en bewerk vervolgens het interfacebestand en stel het volgende in:
# vi ifcfg-eno49TYPE=EthernetBOOTPROTO=staticDEVICE=eno49ONBOOT=yesBRIDGE=br0
Bewerk het bridgebestand (ifcfg-br0) en stel het volgende in:
# vi ifcfg-br0TYPE=BridgeBOOTPROTO=staticDEVICE=br0ONBOOT=yesIPADDR=192.168.10.21NETMASK=255.255.255.0GATEWAY=192.168.10.1DNS1=192.168.10.11
Vervang het IP-adres en de DNS-servergegevens volgens uw instellingen.
Start de network Manager Service opnieuw om de bridge interface in te schakelen.
# systemctl restart NetworkManager#
Note: Standaard, in CentOS 7 / RHEL 7 Network Manager service is ingeschakeld en als er wijzigingen zijn aangebracht in de netwerk bestanden dan moeten we Network Manager service opnieuw starten om de wijzigingen in werking te laten treden. In het geval netwerk Manager service is uitgeschakeld en gestopt dan kunnen we netwerk service (systemctl restart network)
Controleer de Bridge interface met behulp van onderstaande commando :
# ip addr show br0
Step:4 Start het creëren van virtuele machines.
Maak nu een virtuele machine aan via de opdrachtregel met het commando ‘virt-install’ of via GUI (virt-manager)
Laten we een virtuele machine van “Windows Server 2012 R2” maken met virt-manager.
Start ‘virt-manager’
Ga naar de bestandsoptie en klik op ‘Nieuwe virtuele machine’
We gebruiken ISO-bestand als installatiemedium. Geef in de volgende stap het pad van het ISO-bestand op.
Klik op Doorsturen.
Specificeer de computerbronnen : RAM en CPU volgens uw instellingen.
Klik op Doorgaan om verder te gaan.
Specifieer de opslagruimte van de virtuele machine, in mijn geval gebruik ik 25G.
In de volgende stap specificeert u de naam van de virtuele machine en selecteert u het netwerk als ‘Bridge bro’
Klik op Voltooien om de installatie te starten.
Volg de instructies op het scherm en voltooi de installatie.
Een virtuele machine maken vanaf de opdrachtregel:
Virtuele machines kunnen ook vanaf de console worden gemaakt met de opdracht ‘virt-install’. In het volgende voorbeeld ga ik naar een virtuele machine van Ubuntu 16.04 LTS.
# 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=genericStarting install...Allocating 'ubuntu16-04.dsk' | 20 GB 00:00:00Creating domain...
Volg nu de instructies en voltooi de installatie.
In de bovenstaande opdracht ‘virt-install’ hebben we de volgende opties gebruikt :
- -naam = <Naam van de virtuele machine>
- -bestand = <Locatie waar het schijfbestand van onze virtuele machine zal worden opgeslagen >
- -bestandsgrootte = < Grootte van de virtuele machine, in mijn geval is dit 20 GB >
- -nonsparse = < Wijs de volledige opslagruimte toe tijdens het maken>
- -graphics = < Specificeer het grafische gereedschap voor interactieve installatie, in bovenstaand voorbeeld gebruik ik spice >
- -vcpu = < Aantal virtuele CPU’s voor de machine >
- -ram = < RAM-grootte voor de virtuele machine >
- -cdrom = < Virtuele CD ROM die de installatiemedia zoals ISO-bestand specificeert >
- -network = < wordt gebruikt om aan te geven welk netwerk we voor de virtuele machine zullen gebruiken, in dit voorbeeld ben ik bridge interface>
- -os-type = < Type besturingssysteem zoals linux en window>
- -os-variant= <KVM onderhoudt de OS-varianten zoals ‘fedora18′, ‘rhel6’ en ‘winxp’ , Deze optie is optioneel en als u niet zeker bent van de OS-variant, kunt u deze vermelden als generiek>
Als de installatie is voltooid, kunnen we de console van de virtuele machine openen via ‘virt-manager’, zoals hieronder wordt weergegeven.
Dat is het, de basisinstallatie en configuratie van de KVM-hypervisor is voltooid.