KVM

Hoe KVM/QEMU op CentOS 8 te installeren

Hoe KVM/QEMU op CentOS 8 te installeren
De volledige vorm van KVM is Kernel Virtual Machine. Het is een virtualisatie-oplossing voor Linux. KVM is een Linux-kernelmodule waarmee de Linux-kernel kan fungeren als een hypervisorprogramma zoals VMware ESXi of VSphere.

In dit artikel laat ik je zien hoe je KVM op CentOS 8 installeert en er een eenvoudige KVM virtuele machine mee maakt. Dus laten we beginnen.

Hardwarevirtualisatie inschakelen:

U moet de hardwarevirtualisatie-extensie inschakelen vanuit het BIOS van uw computer om KVM te laten werken. Voor Intel-processors moet u de processorfunctie VT-x of VT-d inschakelen vanuit het BIOS. Voor AMD-processors moet u de processorfunctie AMD-v inschakelen vanuit het BIOS.

Nadat u hardwarevirtualisatie hebt ingeschakeld in het BIOS, voert u de volgende opdracht uit om te controleren of de VT-x/VT-d- of AMD-v-extensie is ingeschakeld.

$ grep --color --perl-regexp 'vmx|svm' /proc/cpuinfo

Je moet ofwel de svm of vmx vlag beschikbaar in de uitvoer als hardwarevirtualisatie is ingeschakeld in het BIOS.

Ik gebruik een AMD-processor. Dus de svm vlag is beschikbaar in mijn geval. Als u een Intel-processor gebruikt, is het: vmx.

Het systeem upgraden:

Voordat u KVM installeert, moet u alle bestaande softwarepakketten van uw CentOS 8-machine upgraden.

Werk eerst de DNF-pakketrepositorycache van uw CentOS 8-machine bij met de volgende opdracht:

$ sudo dnf makecache

De cache van de DNF-pakketrepository moet worden bijgewerkt.

Upgrade alle bestaande softwarepakketten van uw CentOS 8-machine met de volgende opdracht:

$ sudo dnf-update

Om de upgrade te bevestigen, drukt u op Y en druk vervolgens op .

De DNF-pakketbeheerder moet alle vereiste pakketten van internet downloaden.

Zodra het downloaden van het pakket is voltooid, zou het alle gedownloade pakketten moeten installeren. Het kan even duren om te voltooien.

Op dit moment zou uw CentOS 8-systeem up-to-date moeten zijn.

Om de wijzigingen door te voeren, start u uw CentOS 8-machine opnieuw op met de volgende opdracht:

$ sudo opnieuw opstarten

SELinux instellen op Permissieve modus:

Het configureren van SELinux voor KVM valt buiten het bestek van dit artikel. Als je SELinux in laat afdwingen modus (standaard), krijgt u fouten tijdens het maken van KVM virtuele machines. Als je geen ervaring hebt met SELinux, moet je het instellen op toegeeflijk modus. Anders kunt u geen virtuele KVM-machines maken.

Om SELinux in te stellen op: toegeeflijk modus, open de /etc/selinux/config bestand met een teksteditor (i.e. nano) met het volgende commando:

$ sudo nano /etc/selinux/config

Verander de lijn SELINUX=afdwingen naar SELINUX=toelatend zoals aangegeven in de onderstaande schermafbeelding.

Als u klaar bent, drukt u op + X gevolgd door Y en om het configuratiebestand op te slaan.

Om de wijzigingen door te voeren, start u uw computer opnieuw op met de volgende opdracht:

$ sudo opnieuw opstarten

KVM installeren:

U kunt eenvoudig alle vereiste pakketten voor KVM-virtualisatie op CentOS 8 installeren door simpelweg de: Virtualisatie Host pakket groep.

U kunt de Virtualisatie Host pakketgroep op uw CentOS 8-machine met de volgende opdracht:

$ sudo dnf groupinstall "Virtualisatiehost"

Om de installatie te bevestigen, drukt u op Y en druk vervolgens op .

De DNF-pakketbeheerder moet alle vereiste pakketten van internet downloaden.

Zodra het downloaden van het pakket is voltooid, zou het alle gedownloade pakketten moeten installeren. Het kan even duren om te voltooien.

Op dit punt zou KVM moeten zijn geïnstalleerd.

Controleer nu of de libvirtd service wordt uitgevoerd met het volgende commando:

$ sudo systemctl status libvirtd

Zoals je kunt zien, is de libvirtd service is actief/rennen. libvirtd service is erg belangrijk. Als het niet actief is, kunt u KVM niet beheren.

Als de libvirtd service in uw geval niet actief is, kunt u deze starten met de volgende opdracht:

$ sudo systemctl start libvirtd

Controleer of u de KVM-beheeropdracht kunt uitvoeren virsh als volgt:

$ sudo virsh --version

De opdracht zou de versie-informatie moeten afdrukken, zoals u kunt zien in de onderstaande schermafbeelding.

Virt-install installeren:

virt-install is een opdrachtregelprogramma waarmee u eenvoudig virtuele KVM-machines kunt maken. virt-install is gebaseerd op libvirt. Dus de virtuele machines die zijn gemaakt met behulp van virt-install kan ook worden beheerd met virsh en virt-manager.

U kunt installeren virt-install met het volgende commando:

$ sudo dnf install virt-install

Om de installatie te bevestigen, drukt u op Y en druk vervolgens op .

virt-install moet worden geïnstalleerd.

Vereiste KVM-mappen instellen:

Ik denk dat het een goed idee is om alle gegevens van de virtuele machine georganiseerd te houden. Ik bewaar meestal alle gegevens van de virtuele KVM-machine in /kvm/ map. In de /kvm/ map, ik maak 2 submappen aan schijf/ en iso/. In de schijf/ submap, bewaar ik alle bestanden op de harde schijf van de virtuele machine (VM). In de iso/ submap, bewaar ik de ISO-installatie-images van verschillende besturingssystemen (i.e. Ubuntu, Debian, CentOS, enz.).

U kunt dezelfde directorystructuren maken met de volgende opdracht:

$ sudo mkdir -pv /kvm/disk,iso

Een KVM virtuele machine maken:

In dit gedeelte laat ik je zien hoe je een Ubuntu Desktop 20 . maakt.04 LTS KVM virtuele machine.

Eerst moet je de Ubuntu Desktop 20 . downloaden.04 LTS ISO-installatie-image. Om alle bestanden/gegevens van de virtuele machine georganiseerd te houden, is het een goed idee om de ISO-image op te slaan in de /kvm/iso/ map.

Navigeer dus naar de /kvm/iso/ map met het volgende commando:

$ cd /kvm/iso

U kunt de Ubuntu Desktop 20 . downloaden.04 LTS ISO-image van de officiële website van Ubuntu met het volgende commando:

$ sudo wget https://releases.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.iso

wget zou moeten beginnen met het downloaden van de Ubuntu Desktop 20.04 LTS ISO-afbeelding. Het duurt even voordat het klaar is.

Op dit moment is de Ubuntu Desktop 20.04 LTS ISO-image moet worden gedownload.

Het Ubuntu-bureaublad 20.04 LTS ISO-image is beschikbaar in de /kvm/iso/ map zoals je kunt zien in de onderstaande schermafbeelding.

Zodra de Ubuntu Desktop 20.04 LTS ISO-image is gedownload, kunt u een virtuele KVM-machine maken met de volgende opdracht:

$ sudo virt-install --name udesktop20_04-01 \
--os-type linux \
--os-variant ubuntu19.10 \
--ram 4096 \
--schijf /kvm/disk/udesktop20_04-01.img,apparaat=schijf,bus=virtio,grootte=20,format=qcow2 \
--graphics vnc,luister=0.0.0.0 \
--geenautoconsole \
--hvm \
--cdrom /kvm/iso/ubuntu-20.04.1-desktop-amd64.iso \
--opstart cd-rom, hd,

Hier zal de naam van de virtuele machine zijn: udesktop20_04-01.

Het besturingssysteem dat we gaan installeren is: Linux.

De variant van het besturingssysteem is: ubuntu19.10. De OS-database van CentOS 8 heeft geen vermelding voor Ubuntu 20.04 LTS op het moment van schrijven. Dus ik heb de informatie gebruikt voor Ubuntu 19.10.

De waarden van het besturingssysteemtype en de besturingssysteemvariant zijn niet willekeurig. U kunt het OS-type en de OS-variant voor uw gewenste Linux-distributie vinden met de osinfo-query opdracht. Zoals je kunt zien, geen vermelding voor Ubuntu 20.04 LTS is beschikbaar. Maar een vermelding voor Ubuntu 19.10 is beschikbaar. Het besturingssysteem van Ubuntu 19.10 is Linux en de OS-variant is ubuntu19.10.

$ osinfo-query os --fields=name,short-id,family | grep -i Ubuntu

Het RAM (Random Access Memory) van de VM is 4096 MB (Megabytes) of 4 GB (Gigabytes).

De virtuele schijf van de VM wordt opgeslagen in de /kvm/schijf/udesktop20.01-04.img het dossier. De virtuele schijf is ongeveer 20 GB in grootte en het formaat is QCOW2 (QEMU Copy-On-Write v2)

De virtuele machine is toegankelijk via VNC (Virtual Network Computing) remote desktop-protocol en de VNC-server luistert op alle beschikbare netwerkinterfaces die zijn geconfigureerd op uw CentOS 8 KVM-host.

CentOS 8 KVM-host probeert niet automatisch verbinding te maken met de virtuele machine zodra de virtuele machine is gemaakt. De virtuele machine blijft op de achtergrond draaien.

Volledige virtualisatie gebruiken voor de virtuele machine. Hierdoor zullen virtuele machines beter presteren.

Gebruik de Ubuntu Desktop 20.04 LTS ISO-image die we zojuist hebben gedownload als de virtuele cd/dvd-rom van de virtuele machine. Gebruikt voor het installeren van Ubuntu Desktop 20.04 LTS op de virtuele machine.

Set is de opstartvolgorde van de virtuele machine. Het eerste opstartitem is de virtuele cd/dvd-rom en vervolgens de virtuele harde schijf. De virtuele machine kan dus opstarten vanaf de Ubuntu Desktop 20.04 LTS ISO-image en installeer Ubuntu Desktop 20.04 LTS op de harde schijf.

Dat zijn alle opties die je nodig hebt om een ​​virtuele KVM-machine te maken.

Zodra u de virt-install commando, zou KVM moeten beginnen met het maken van de virtuele machine. Het kan even duren, afhankelijk van de configuratie van uw virtuele machine.

Op dit punt moet de virtuele KVM-machine worden gemaakt.

KVM virtuele machines vermelden:

Nadat de virtuele KVM-machine is gemaakt, kunt u deze weergeven met de volgende opdracht:

$ virsh lijst --all

De opdracht zou je alle virtuele KVM-machines moeten tonen die je hebt. Op dit moment heb ik maar 1 virtuele machine udesktop20_04-01. Dit is degene die ik zojuist heb gemaakt. Zoals je kunt zien, is de virtuele machine udesktop20_04-01 is rennen. Je zou er verbinding mee moeten kunnen maken met elke VNC-client.

De firewall configureren voor externe toegang tot de virtuele KVM-machines:

Om op afstand toegang te krijgen tot de virtuele KVM-machine, moet u firewalltoegang tot de VNC-poort van de virtuele machine toestaan.

De VNC-poort van de virtuele KVM-machine vinden: udesktop20_04-01, voer de volgende opdracht uit:

$ virsh vncdisplay udesktop20_04-01

Zoals u kunt zien, is het VNC-poortnummer van de udesktop20_04-01 virtuele machine is 0.

Hier, poort 0 betekent poort 5900. Op dezelfde manier, poort 1 betekent poort 5901 enzovoorts.

Zoals u kunt zien, is de virtuele KVM-machine udesktop20_04-01 draait op poort 5900 (:0).

$ sudo netstat -tln

Toegang tot poort toestaan 5900, voer de volgende opdracht uit:

$ sudo firewall-cmd --add-port=5900/tcp --permanent

Voer de volgende opdracht uit om de wijzigingen in de firewall door te voeren:

$ sudo firewall-cmd --reload

Op afstand verbinding maken met de KVM virtuele machines met VNC Client:

Om via VNC verbinding te maken met de virtuele machine, moet u het IP-adres van uw CentOS 8 KVM-host weten.

U kunt het IP-adres van uw CentOS 8 KVM-host vinden met de volgende opdracht:

$ ip a

In mijn geval is het IP-adres: 192.168.0.103. Het zal voor jou anders zijn. Dus zorg ervoor dat je het vanaf nu vervangt door de jouwe.

Open een VNC-client en maak verbinding met het adres 192.168.0.103:0.

Klik op Doorgaan met.

Klik op Doorgaan met.

U moet verbonden zijn met het display van de udesktop20_04-01 KVM virtuele machine zoals je kunt zien in de onderstaande schermafbeelding.

Nu kunt u uw gewenste besturingssysteem op de virtuele machine installeren.

In mijn geval zal ik de Ubuntu Desktop 20 . installeren.04 LTS-besturingssysteem op de virtuele machine.

Ubuntu-bureaublad 20.04 LTS wordt geïnstalleerd op de virtuele KVM-machine. Het kan even duren om te voltooien.

Zodra de installatie is voltooid, klikt u op Nu opnieuw opstarten.

druk op .

De VNC-verbinding moet worden gesloten.

De virtuele machine moet automatisch worden uitgeschakeld zodra de installatie van het besturingssysteem is voltooid, zoals u kunt zien in de onderstaande schermafbeelding:.

$ sudo virsh lijst --all

Start de udesktop20_04-01 KVM virtuele machine met de volgende opdracht:

$ virsh start udesktop20_04-01

De virtuele machine udesktop20_04-01 moet worden gestart.

Nu kunt u verbinding maken met de udesktop20_04-01 virtuele machine van een VNC-client zoals voorheen. Zoals je kunt zien, is de Ubuntu Desktop 20.04 LTS werkt prima in de virtuele KVM-machine.

KVM virtuele machines verwijderen:

U kunt een virtuele KVM-machine ook heel eenvoudig verwijderen met de virsh opdrachtregelprogramma.

Zoals je kunt zien, heb ik 2 virtuele KVM-machines (udesktop20_04-01 en udesktop20_04-02) draait op mijn CentOS 8 KVM-host. Laten we verwijderen udesktop20_04-02 KVM virtuele machine.

$ virsh lijst --all

Zoals je kunt zien, is de udesktop20_04-02 KVM virtuele machine is rennen. U moet het stoppen voordat u het verwijdert.

$ virsh lijst --all

Geforceerd stoppen van de udesktop20_04-02 KVM virtuele machine, voer de volgende opdracht uit:

$ virsh vernietig udesktop20_04-02

Zoals je kunt zien, is de udesktop20_04-02 virtuele machine is uitgeschakeld.

$ virsh lijst --all

U kunt de . permanent verwijderen udesktop20_04-02 virtuele machine en alle aangesloten virtuele harde schijven met de volgende opdracht:

$ virsh undefine --remove-all-storage udesktop20_04-02

Zoals je kunt zien, is de udesktop20_04-02 virtuele machine is niet langer beschikbaar.

$ virsh lijst --all

Probleem #1: cpu->kvm_msr_buf->nmsrs bevestigingsfout repareren

Tijdens het maken van een virtuele KVM-machine op de CentOS 8 KVM-host, ziet u mogelijk het volgende foutbericht:. Het is een kernelbug. Meestal gebeurt dit wanneer u KVM in een andere virtuele machine uitvoert. Ik gebruik KVM in een virtuele VMware-machine. Dit is de reden waarom ik deze fout kreeg, geloof ik. Het is gemakkelijk te repareren.

Open het configuratiebestand /etc/modprobe.d/kvm.conf met het volgende commando:

$ sudo nano /etc/modprobe.d/kvm.conf

De /etc/modprobe.d/kvm.conf bestand moet worden geopend. U moet de processorspecifieke optie voor KVM geneste virtualisatie vanaf hier inschakelen.

Als je een Intel-processor gebruikt, verwijder dan het commentaar van de regel zoals aangegeven in de onderstaande schermafbeelding.

Als je een AMD-processor gebruikt, verwijder dan het commentaar van de regel zoals aangegeven in de onderstaande schermafbeelding.

Voeg vervolgens de regel toe opties kvm negeer_msrs=1 aan het einde van het bestand zoals weergegeven in de onderstaande schermafbeelding.

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden /etc/modprobe.d/kvm.conf het dossier.

Start vervolgens uw CentOS 8 KVM-host opnieuw op met de volgende opdracht om de wijzigingen door te voeren:.

$ sudo opnieuw opstarten

Uw probleem zou opgelost moeten zijn.

Probleem #2: RFB-protocolfout van VNC-client oplossen:

Wanneer u verbinding maakt met de virtuele KVM-machine met behulp van een VNC-client, ziet u mogelijk het volgende foutbericht:. Deze foutmelding wordt weergegeven wanneer de beeldkwaliteit van de VNC-client is ingesteld op: automatisch. Het is gemakkelijk te repareren.

Klik op de Eigendommen icoon van uw VNC-client.

Zoals je kunt zien, is de Fotokwaliteit ingesteld op automatisch.

Om dit probleem op te lossen, selecteert u ofwel: Laag, Medium, of hoog van de Fotokwaliteit drop-down menu.

Als je klaar bent, klik je op OK.

Uw probleem zou opgelost moeten zijn.

Conclusie:

In dit artikel heb ik je laten zien hoe je KVM op CentOS 8 installeert en KVM virtuele machines maakt vanaf de opdrachtregel. Ik heb je ook laten zien hoe je virtuele KVM-machines en oplossingen voor enkele veelvoorkomende KVM-problemen kunt verwijderen. Dit zou u moeten helpen om aan de slag te gaan met Linux KVM-virtualisatie.

Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...
Sid Meier's Civilization VI downloaden en spelen op Linux and
Inleiding tot het spel Civilization 6 is een moderne versie van het klassieke concept dat werd geïntroduceerd in de serie Age of Empires-games. Het id...
Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...