Migreer je KVM virtuele machines live

migratie

Artikelgereedschap

  • Tip ons
  • Printen
  • Reacties (0)
Aanbevelen

Gepubliceerd: Maandag 18 januari 2010
Auteur: Koen Vervloesem

De Linux-hypervisor KVM biedt de mogelijkheid om een hele virtuele machine van de ene naar een andere machine te migreren. Dat kan zelfs live, terwijl de virtuele machine blijft draaien. We gaan even in op de achtergrond hiervan en laten zien hoe dit in de praktijk gaat. Daarna doen we hetzelfde met libvirt.

Net als Xen biedt KVM de mogelijkheid om een virtuele machine in zijn totaliteit te migreren naar een andere machine, waarna die daar gewoon door kan draaien. Dat kan omdat de volledige toestand van de virtuele machine wordt overgezet, onder andere de kerneltoestand, alle processen, kortom het hele virtuele RAM. Die migratie kan 'cold' of 'live' gebeuren. Bij een koude migratie wordt de virtuele machine gepauzeerd en naar de andere fysieke machine overgezet, waarbij de downtime significant kan zijn. Bij een live migratie blijft de virtuele machine tijdens het migreren draaien, waardoor de downtime bijna nihil is.

Vanuit de Qemu-console

Een eerste manier voor live migratie van een virtuele machine in KVM is vanuit de Qemu-console. Zorg ervoor dat de virtuele schijf van de virtuele machine die je wilt migreren op beide fysieke machines via het netwerk bereikbaar is. Hiervoor kun je NFS gebruiken, maar ook iSCSI of ATA-over-Ethernet (AoE). Start nu het image op de originele fysieke machine. Daarna start je hetzelfde image ook op de doelmachine met exact dezelfde configuratie, maar dan met de volgende optie aan het KVM-commando toegevoegd:


-incoming tcp://0:4444

De virtuele machine zal nu blijven hangen en luisteren naar een inkomende aanvraag voor migratie. Open nu het VNC-venster van de virtuele machine op de originele computer en typ Ctrl+Alt+2 om de Qemu-console te openen. Typ daar de volgende opdracht in:


migrate -d tcp://192.168.1.100:4444

Waarbij je 192.168.1.100 vervangt door het IP-adres van de doelmachine. In de Qemu-console van de originele virtuele machine kun je op elk moment de status van de migratie opvragen met:


info migrate

Met libvirt

Gebruik je libvirt, dan kun je de live migratie uitvoeren met het commandline-programma virsh. Bekijk op de bronmachine met "virsh list" of de te migreren virtuele machine (hier met de naam 'testvm') draait. Is dat het geval, dan begin je de migratie op de bronmachine met het volgende commando:


# virsh migrate --live testvm qemu+ssh://192.168.1.100/system


Hierbij vervang je 192.168.1.100 door het IP-adres van de doelmachine. We gebruiken hier overigens ssh om de toestand van de machine versleuteld over het netwerk te sturen, en met /system vertellen we libvirt dat we root-toegang vragen. Hierna moet je dan ook je root-wachtwoord van de doelmachine ingeven. Of liever nog: maak een RSA-sleutel aan en plaats de publieke sleutel in /root/.ssh/authorized_keys van de doelmachine. Wacht een tijdje na het invoeren van het migratiecommando en controleer daarna op de doelmachine met "virsh list" of de virtuele machine daar draait.

Helemaal grafisch

Beheer je je virtuele machines liever op een grafische manier, dan kun je ook virt-manager gebruiken voor de live migratie. Verbind in dit programma met de bron- en doelcomputers. In het File-menu klik je op "Add Connection", en in het venster dat dan verschijnt kies je als hypervisor voor Qemu en als connectie bijvoorbeeld voor "Remote tunnel over SSH". Geef dan de hostname van de doelcomputer in en klik op Connect.

Zorg er nu ook voor dat je een storage pool hebt die op beide machines via NFS of iSCSI te bereiken is, en laat je virtuele machine van een image op deze storage pool opstarten. Als de virtuele machine draait, kun je er in het hoofdvenster van virt-manager gewoon op rechtsklikken, "Migrate" kiezen en dan de locatie van de doelcomputer. Klik op "Yes" om te bevestigen en daarna wordt de virtuele machine naar de nieuwe computer gemigreerd. Gemakkelijker kan het niet.

En verder

De manier met libvirt is op lange termijn de interessantste, omdat je met exact dezelfde syntax een live migratie kunt uitvoeren onafhankelijk van de onderliggende hypervisor, Xen of KVM. In plaats van qemu+ssh gebruik je dan bijvoorbeeld xen+ssh als protocol. Dat is ook de manier die Red Hat aanbeveelt, waardoor je je bestaande scripts of gewoontes nauwelijks hoeft aan te passen als je van Xen naar KVM overstapt als hypervisor.

Bron: Techworld

De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.

Totaal 0 reactiesLaatste reacties


Nieuwsbrief

Ontvang dagelijks een overzicht van het laatste ICT-Nieuws in uw mailbox

Whitepapers

  • Maximaliseer het voordeel van SaaS

    Cloud-applicaties hebben grote invloed op het gebruik van de IT-architectuur en niet ieder project levert de verwachte voordelen op.

    Downloaden
  • Flexibele IT noodzaak voor bankenOnderzoeksrapport over de beperkte flexibiliteit van veel IT-systemen in de bancaire wereld. Lees meer!
  • Kostenbesparing voor long tail appsOplossing voor kostenkwesties in VDI. Technologie geschikt voor long tail apps.
» Meer whitepapers

Peiling

Loading Poll

Video: Review: HTC One X-smartphone met vijf...

Review: HTC One X-smartphone met vijf cores (video)