Tips en Trucs 2017

KVM Virtualisatie

Bij het verschijnen van VMware player 14, bleek deze opeens niet meer te werken op mijn laptop. Deze gebruikt een Intel grafische kaart, die niet meer voldoet aan de eisen van de nieuwe VMware player. De grafische hardware versnelling werkt in VMware player 14 op mijn laptop dus niet meer. En dit heeft zware gevolgen voor de snelheid waarmee VMware virtuele computers werken, ze worden super traag.

Dit is de kans om KVM (Kernel-based Virtual Machine) uit te proberen, wat ik eigenlijk al lang eens wou. Dit zijn mijn eerste ervaringen.

KVM virtualisatie installeren

Controleer eerst of de virtualisatiefuncties van uw processor geactiveerd zijn. Voer daarvoor de volgende opdracht uit:

dany@pindabook:~> egrep --color '(vmx|svm)' /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt

Indien vmx (Intel) of svm (AMD) niet aanwezig zijn, kan je deze virtualisatie functies hoogstwaarschijnlijk in de BIOS van uw systeem activeren.

Aangezien dit mijn eerste poging is om KVM virtualisatie te gebruiken, gebruik ik de openSUSE YaST assistent. Zo kan je snel een testomgeving opzetten om KVM virtualisatie te beoordelen.

Start in YaST in de categorie Virtualisatie het onderdeel InstellenHypervisor en hulpprogramma's installeren. Activeer de KVM-server en indien mogelijk KVM-hulpprogramma's. Dit laatste was bij mij niet mogelijk (grijs), maar zoals de begeleidende tekst vermeld, deze waren op mijn systeem reeds geïnstalleerd.
YaST KVM

Na een klik op Accepteren wordt alle noodzakelijke software geïnstalleerd en geconfigureerd. Inclusief een bridge netwerkinterface (nodig om uw netwerkverbinding met de virtuele computer te delen).
YaST KVM Bridge

Klaar.
YaST KVM

Wicked netwerksysteem

Bij desktop computers wordt voor het netwerk standaard Wicked gebruikt. Wicked is het ideale systeem voor netwerkomgevingen die niet veranderen, zoals thuis en op het werk. Draagbare computers gebruiken voor het netwerk standaard NetworkManager. En NetworkManager is het ideale systeem voor netwerkomgevingen die constant veranderen, zoals een laptop die je zowel gebruikt thuis als op het werk. De KVM configuratie van YaST gaat echter uit van een Wicked netwerkconfiguratie. Om van NetworkManager naar Wicked over te schakelen, start je in YaST in de categorie Systeem het onderdeel Netwerkinstellingen op. Op het tabblad Algemene opties kan je bij Methode netwerkinstelling de Wicked-service inschakelen.
Wicked netwerkmethode

Herstart noodzakelijk

Deze aanpassingen veranderen uw systeem grondig, een herstart van uw systeem zorgt dat KVM virtualisatie klaar is voor gebruik.

Virtuele machine beheerder

Als eerste kennismaking gebruiken we een grafische omgeving om een virtuele computer te bouwen. Start daarvoor virt-manager, de virtuele machine beheerder.

QEMU/KVM blijkt niet verbonden. Klik met de rechter muisknop op QEMU/KVM - Niet verbondenen voer de opdracht Verbinden uit. Geef daarvoor het root wachtwoord in.

Met de eerste knop in werkbalk kan je een virtuele computer aanmaken. Als test maken we een virtuele computer waarmee we SystemRescueCd starten vanaf een virtuele CD (iso-bestand). In de eerste stap selecteren we Locale installatie media (ISO image of CDROM).
virt-manager 1

In de tweede stap selecteer je Gebruik ISO image en blader je via Bladeren... en Blader lokaal naar het gedownloade SystemRescueCD iso-bestand. Daarbij wordt het besturingssysteem in het iso-bestand niet herkend. Deactiveer dus de optie Detecteert automatically het besturingssysteem gebaseerd op installatie media. En selecteer als OS type: Linux. De Versie speelt voor deze test geen zo'n rol (in het voorbeeld: ALT Linux 7.0). SystemRescueCD is gebaseerd op Gentoo, maar deze komt niet in de lijst voor.virt-manager 2

Stap 3 kan je voor SystemRescueCd zonder aan te passen bevestigen.
virt-manager 3

Ook stap 4 bevestig je voor SystemRescueCD zonder aanpassingen.
virt-manager 4

Bij stap 5 open je Network selection en activeer je de door YaST geconfigureerde bridge.
virt-manager 5

Na het Voltooien start de virtuele computer op. Belgen, vergeet tijdens het opstarten bij de toetsenbordkeuze niet be te typen en Return te drukken (na 20 seconden wordt anders automatisch QWERTY geactiveerd). Via het menu Weergave voer je de opdracht Grootte instellen voor VM uit om het venster het volledige beeldscherm van de virtuele computer te laten weergeven. In onderstaande afbeelding, heb ik met de opdracht ip a getest of het netwerk toegankelijk is.
KVM SystemRescueCD

Met de opdracht shutdown -h now sluit de SystemRescueCD virtuele computer af. Maar deze herstart automatisch opnieuw en vindt geen systeem meer om van op te starten. Het toekennen van het SystemRescueCD iso-bestand bij het aanmaken van de virtuele computer wordt beschouwd als een installatie CD die bij het afsluiten automatisch wordt verwijdert. En waarbij de virtuele computer herstart vanaf harde schijf om de installatie van het systeem te testen. Gebruik de keuzelijst naast de powerknop in de werktbalk en voer de opdracht Uitschakelen forceren uit om de virtuele computer uit te schakelen.

Virtuele computer aanpassen

Alle onderdelen van de virtuele computer kan je eenvoudig aanpassen, start daarvoor in het menu Weergave de opdracht Details. Bij Boot Options activeer je de IDE CDROM 1 en verplaats je deze naar de eerste plaats. Elke aanpassing bevestig je met de knop Toepassen.

Bij IDE CDROM 1 activeer je de DVD-speler met de knop Verbinden. Blader naar de locatie van het SystemRescueCD iso-bestand.
virt-manager details

Bij het testen van SystemRescueCD met een grafische omgeving, bleek deze niet te willen starten. Bij Video QXL pas je het Model aan naar de standaard VGA waarna je de grafische omgeving van SystemRescueCd zonder problemen met de opdracht startx kunt starten en gebruiken.
KVM grafisch

En verder

Als VMware gebruiker, moet ik concluderen dat op basis van dit kleine experiment, KVM een volwaardige virtualisatietechniek is. Ik ga dit zeker verder testen en gebruiken.