Zoeken op website

Virtuele machines maken in Linux met behulp van KVM (Kernel-gebaseerde virtuele machine) - Deel 1


Deze tutorial bespreekt de introductie en implementatie van KVM en hoe je het kunt gebruiken om virtuele machines te maken onder op RedHat gebaseerde distributies zoals RHEL/CentOS7 en Fedora 21 .

Wat is KVM?

KVM of (Kernel-gebaseerde virtuele machine) is een volledige virtualisatie-oplossing voor Linux op Intel 64- en AMD 64-hardware die sinds 2.6.20 is opgenomen in de hoofdlijn Linux-kernel en stabiel en snel is voor de meeste werklasten.

KVM-functies

Er zijn veel handige functies en voordelen die u zult behalen als u KVM gebruikt om uw virtuele platform te implementeren. KVM-hypervisor ondersteunt de volgende functies:

  1. Overcommitteren: dit betekent dat er meer gevirtualiseerde CPU's of geheugen worden toegewezen dan de beschikbare bronnen op het systeem.
  2. Thin provisioning: maakt de toewijzing van flexibele opslag mogelijk en optimaliseert de beschikbare ruimte voor elke virtuele gastmachine.
  3. Schijf-I/O-beperking: biedt de mogelijkheid om een limiet in te stellen voor schijf-I/O-verzoeken die van virtuele machines naar de hostmachine worden verzonden.
  4. Automatische NUMA-balancering: Verbetert de prestaties van applicaties die op NUMA-hardwaresystemen draaien.
  5. Virtuele CPU hot add-mogelijkheid: Biedt de mogelijkheid om de verwerkingskracht indien nodig te vergroten op draaiende virtuele machines, zonder downtime.

Dit is onze eerste lopende KVM-serie (Kernel-gebaseerde virtuele machine), hier zullen we de volgende artikelen gedeeltelijk behandelen.

Vereisten

Zorg ervoor dat uw systeem over de hardwarevirtualisatie-extensies beschikt: Voor op Intel gebaseerde hosts controleert u of de CPU-virtualisatie-extensies [vmx] beschikbaar zijn met behulp van de volgende opdracht.

[root@server ~]# grep -e 'vmx' /proc/cpuinfo

Voor op AMD gebaseerde hosts controleert u of de CPU-virtualisatie-extensie [svm] beschikbaar is.

[root@server ~]# grep -e 'svm' /proc/cpuinfo

Als er geen uitvoer is, zorg er dan voor dat virtualisatie-extensies zijn ingeschakeld in het BIOS. Controleer of KVM-modules in de kernel zijn geladen “deze zouden standaard moeten worden geladen”.

[root@server ~]# lsmod | grep kvm

De uitvoer moet kvm_intel bevatten voor op Intel gebaseerde hosts of kvm_amd voor amd-gebaseerde hosts.

Voordat u begint, heeft u het root-account of de niet-rootgebruiker met sudo-rechten nodig die op uw systeem zijn geconfigureerd en moet u er ook voor zorgen dat uw systeem up-to-date is.

[root@server ~]# yum update

Zorg ervoor dat Selinux in de permissieve modus staat.

[root@server ~]# setenforce 0

Stap 1: KVM-installatie en implementatie

1. We zullen eerst de pakketten qemu-kvm en qemu-img installeren. Deze pakketten bieden KVM op gebruikersniveau en schijfimagebeheer.

[root@server ~]# yum install qemu-kvm qemu-img

2. U heeft nu de minimale vereiste om een virtueel platform op uw host te implementeren, maar we hebben ook nog steeds handige tools om ons platform te beheren, zoals:

  1. virt-manager biedt een GUI-tool om uw virtuele machines te beheren.
  2. libvirt-client biedt een CL-tool om uw virtuele omgeving te beheren, deze tool heet virsh.
  3. virt-install biedt het commando “virt-install ” om uw virtuele machines vanuit CLI te creëren.
  4. libvirt levert de server- en hostzijdebibliotheken voor interactie met hypervisors en hostsystemen.

Laten we deze bovenstaande tools installeren met behulp van de volgende opdracht.

[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client 

3. Voor RHEL/CentOS7-gebruikers, die ook nog steeds extra pakketgroepen moeten installeren, zoals: Virtualization Client, Virtualization Platform en Virtualization Tools.

[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools	

4. De virtualisatie-daemon die het hele platform beheert is “libvirtd ”. laten we het opnieuw opstarten.

[root@server ~]#systemctl restart libvirtd

5. Nadat u de daemon opnieuw hebt opgestart, controleert u de status ervan door de volgende opdracht uit te voeren.

[root@server ~]#systemctl status libvirtd  
Voorbeelduitvoer
libvirtd.service - Virtualization daemon 
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) 
   Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago 
 Main PID: 25701 (libvirtd) 

Laten we nu naar de volgende sectie gaan om onze virtuele machines te maken.

Stap 2: Maak VM's met KVM

Zoals we al eerder vermeldden, hebben we een aantal handige tools om ons virtuele platform te beheren en virtuele machines te maken. Eén van deze tools heet [virt-manager], die we in de volgende sectie gebruiken.

6. Hoewel virt-manager een GUI-gebaseerd hulpmiddel is, kunnen we het zowel vanuit de terminal als vanuit de GUI starten/starten.

[root@server ~]#virt-manager
GNOME gebruiken

GNOME Classic gebruiken

7. Na het starten van de tool verschijnt dit venster.

8. Standaard zul je zien dat de manager rechtstreeks verbonden is met localhost, maar gelukkig kun je dezelfde tool gebruiken om op afstand een andere host te beheren. Selecteer op het tabblad “Bestand” gewoon “Verbinding toevoegen” en dit venster verschijnt.

Vink de optie “Verbinden met externe host” aan en geef vervolgens Hostnaam/IP van de externe server op. Als u elke keer dat de manager start een verbinding met de externe host tot stand moet brengen, vinkt u de optie “Automatisch verbinden” aan.

9. Laten we terugkeren naar onze localhost. Voordat u een nieuwe virtuele machine maakt, moet u beslissen waar de bestanden worden opgeslagen?! met andere woorden, u moet de Volumeschijf (Virtuele schijf/Schijfimage ) voor uw virtuele machine maken.

Door met de rechtermuisknop op localhost te klikken en “Details” te selecteren en vervolgens het tabblad “Opslag” te selecteren.

10. Druk vervolgens op de knop “Nieuw volume ” en voer vervolgens de naam in van uw nieuwe virtuele schijf (Volumeschijf) en voer de grootte in die die u wilt/nodig heeft in het gedeelte 'Max. capaciteit'.

De toewijzingsgrootte is de werkelijke grootte van uw schijf die onmiddellijk vanaf uw fysieke schijf wordt toegewezen nadat u de stappen hebt voltooid.

Opmerking: Dit is een belangrijke technologie op het gebied van opslagbeheer, genaamd “thin provision”. Vroeger werd alleen de gebruikte opslaggrootte toegewezen, NIET alle beschikbare grootte.

U heeft bijvoorbeeld een virtuele schijf gemaakt met de grootte 60G, maar u hebt eigenlijk slechts 20G gebruikt. Met deze technologie zal de toegewezen grootte van uw fysieke harde schijf 20G zijn. niet 60G.

Met andere woorden: de toegewezen fysieke grootte wordt dynamisch toegewezen, afhankelijk van de daadwerkelijk gebruikte grootte. Meer informatie vindt u in de details op VMWare vStorage Thin Provisioning.

11. U zult zien dat er een label van de nieuwe volumeschijf in de lijst is verschenen.

U zou ook het pad van de nieuwe schijfkopie (Volume Disk) moeten opmerken. Standaard staat dit onder /var/lib/libvirt/images. U kunt dit verifiëren met de volgende opdracht.

[root@server Downloads]# ls -l /var/lib/libvirt/images
-rw-------. 1 root root 10737418240 Jan  3 16:47 vm1Storage.img

12. Nu zijn we klaar om onze virtuele machine te maken. Laten we op de knop “VM” in het hoofdvenster klikken, dit wizardvenster zal verschijnen.

Selecteer de installatiemethode die u gaat gebruiken om de virtuele machine te maken. Voorlopig zullen we lokale installatiemedia gebruiken, later zullen we de resterende methoden bespreken.

13. Nu is het tijd om te specificeren welke lokale installatiemedia moeten worden gebruikt. We hebben twee opties:

  1. Van fysiek [cd-rom/dvd].
  2. Van ISO-image.

Laten we voor onze zelfstudie de ISO-imagemethode gebruiken, dus u moet het pad van uw ISO-image opgeven.

Belangrijk: Helaas is er een heel gekke bug voor wie RHEL/CentOS7 gebruikt. Deze bug verhindert dat u de installatie uitvoert met fysieke [CDROM/DVD]; u zult merken dat de optie op deze manier grijs is weergegeven.

En als u uw cursor erop houdt, verschijnt deze foutmelding.

Tot nu toe is er geen officiële/directe oplossing voor deze bug. Meer informatie hierover kunt u vinden op https://bugzilla.redhat.com.

14. De opslag is teruggekeerd, we zullen de virtuele schijf gebruiken die we eerder hebben gemaakt om er een virtuele machine op te installeren. Het zal zijn zoals getoond.

15. De laatste stap waarin u wordt gevraagd naar de naam van uw virtuele machine en andere geavanceerde opties, laten we er later over praten.

Als u een configuratie wilt wijzigen of wat aanpassingen wilt doen, vinkt u de optie "Configuratie aanpassen vóór installatie" aan. Klik vervolgens op voltooien en wacht enkele seconden. De bedieningsconsole verschijnt zodat uw gastbesturingssysteem deze kan beheren

Conclusie

Nu heb je geleerd wat KVM is, hoe je je virtuele platform kunt beheren met behulp van GUI-tools, hoe je een virtuele machine kunt inzetten en nog meer geweldige dingen.

Hoewel dit nog niet het einde van het artikel is, zullen we in onze komende artikelen nog andere belangrijke onderwerpen bespreken die verband houden met KVM. Maak je handen vuil met de voorkennis en wees klaar voor het volgende deel…..