KVM

KVM Vendég pillanatképek a Libvirtrel

KVM Vendég pillanatképek a Libvirtrel
A virtuális gépeknek sok használati esete van, amelyek közül az egyik a virtuális gépek kapacitása tesztgépként történő felhasználásra. Kísérletezhet egy virtuális gépen, javításokat alkalmazhat és tesztelhet frissítéseket, mielőtt ugyanezt tenné a termelési rendszeren vagy a munkaállomáson. Használhat eldobható virtuális gépeket is, amelyekből hiányzik a személyes vagy bizalmas adat, a rosszindulatú programok teszteléséhez, ahogy a biztonsági közösség nagy része teszi, csak győződjön meg arról, hogy a virtuális gép hálózata el van választva a gazdagéptől és a LAN-tól.

Fárasztó azonban az operációs rendszer újbóli telepítése a virtuális gépbe. Ez akadályozza a munkafolyamatot, ezért megbízható módszerre van szüksége:

  1. Készítsen pillanatképet a virtuális gépéről az adott időpontban.
  2. Rendelkezzen egy mechanizmussal a pillanatkép használatával a virtuális gép visszaállításához egy korábban működő állapotba.

Korábban megbeszéltem, hogyan működnek a pillanatképek a VirtualBoxban, és ezúttal a pillanatképeket akartam megvitatni a Libvirten belül. A QEMU-KVM-et fogom használni a Libvirt telepítésem háttér-hipervizoraként. Esete eltérhet, de az általános funkcionalitás és az interfész nem nagyon különbözhet egymástól, mivel a libvirt mindent megtesz a frontend felületének szabványosítására.

Ha még nem ismeri a libvirt és a qemu-kvm programokat, akkor itt van egy útmutató a KVM telepítéséhez a Debianon.

Pillanatkép készítése

Számos módja van a virtuális gép pillanatképeinek készítésére és kezelésére. Az olyan grafikus felhasználói felületű alkalmazások, mint a virt-manager és az oVirt, kínálják a funkciókat, és akár egyéni szkripteket is írhat a libvirt API-val való interfészhez, amely kezeli az Ön számára a pillanatképek teljes skáláját.

Azonban a virsh parancssori felületen fogom bemutatni, hogyan kezelheti a virtuális gépeket és azok pillanatképeit. Ez a segédprogram szinte az összes alapértelmezett libvirt telepítést tartalmazza, és a disztribúciók széles körében elérhetőnek kell lennie.

Az alábbi parancsoknál feltétlenül cserélje le a virtuális gépem nevét, a VM1-et a virtuális gép tényleges nevére. A Libvirt gyakran hivatkozik a virtuális gépre és a tárolókra Domainek. Tehát, ha olyan hibaüzenetet lát, amely azt mondja, hogy „adja meg a tartománynevet”, akkor a parancs egyik argumentumaként meg kell adnia a virtuális gép nevét. A következő paranccsal listázhatja az összes virtuális gépet a Libvirt felügyelete alatt.

$ virsh lista - mind

A virtuális gép pillanatképének elkészítéséhez egyszerűen futtassa:

$ virsh snapshot-create VM1

És egy adott virtuális gép összes pillanatképének felsorolásához használja a parancsot:

$ virsh pillanatkép-lista VM1
Név létrehozási idő állapota
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 fut

Láthatja, hogy a pillanatkép elkészült. Alapértelmezés szerint a pillanatkép neve a létrehozásának időbélyegzője (a UNIX-korszak óta eltelt másodpercek száma). A Létrehozás ideje oszlop mutatja a létrehozás idejét ember által olvasható módon, az állam pedig a VM állapotát mutatja, amikor pillanatkép lett. Amint ez a virtuális gép futott, a pillanatkép állapota is „fut”, de ez nem azt jelenti, hogy maga a pillanatkép is fut. Idővel nem változik. Ez a funkció élő pillanatképként is ismert, és nagyon értékes, mivel lehetővé teszi, hogy pillanatfelvételt készítsen virtuális gépéről leállás nélkül. A KVM vendégei legalább jól működnek élő pillanatképekkel.

Bizonyos munkaterhelések azonban megkövetelik, hogy állítsa le a virtuális gépet, mielőtt az pillanatszerűen elkészülne. Ez biztosítja, hogy a pillanatkép adatai konzisztensek legyenek, és ne legyen félig megírt fájl vagy hiányzó adat. Ha a virtuális gépen futó munkaterhelés magas IO-val rendelkezik, akkor valószínűleg a pillanatkép létrehozása előtt ki kell kapcsolnia a virtuális gépet. Hozzunk létre ilyet.

$ virsh leállítás VM1

A VM1 tartomány leállítása folyamatban van

$ virsh snapshot-create VM1

A (z) 1556533868 domain pillanatkép létrehozva

[e-mail védett]: ~ # virsh pillanatkép-lista VM1
Név létrehozási idő állapota
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 fut
1556533868 2019-04-29 16:01:08 +0530 leállás
 
$ virsh start VM1
A VM1 tartomány elindult

Ha az időbélyegtől eltérő nevet szeretne adni a pillanatképeknek, használja a következő parancsot:

$ virsh snapshot-create-as VM1 --name snap1
Név létrehozási idő állapota
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 fut
1556533868 2019-04-29 16:01:08 +0530 leállás
snap1 2019-05-02 22:27:48 +0530 futás

Nyilvánvaló, hogy nem muszáj elnevezned snap1, hanem bármilyen kényelmes nevet választhatsz.

Visszatérés egy pillanatfelvételről

Pillanatfelvétel készítésének semmi haszna, ha nem térhet vissza rá. Abban az esetben, ha vissza kell térnie egy pillanatképre, egyszerűen használja a következő parancsot:

$ virsh snapshot-revert $ VMName $ snapshot-name

A név lehet az időbélyeg vagy a felhasználó által a pillanatképhez rendelt név.

Győződjön meg arról, hogy a jelenlegi virtuális gépen nincsenek fontos adatok, vagy ha van valami fontos, akkor készítsen pillanatképet a jelenlegi virtuális gépéről, majd térjen vissza egy régebbi pillanatképre.

A QCOW2 előnyei

A qcow2 fájlok másolás-írásra mechanizmusa lehetővé teszi, hogy minden pillanatfelvétel nagyon kis helyet foglaljon el. A pillanatkép által elfoglalt hely idővel növekszik, ahogy a futó kép eltér a pillanatképtől. Tehát amíg nem ír át sok adatot, a pillanatképei csak néhány MB tárhelyet igényelnek.

Ez azt is jelenti, hogy a pillanatképek is nagyon gyorsak. Mivel a másolás az írásra mechanizmusnak csak meg kell jelölnie az időbélyeget, amikor a pillanatkép készült. A pillanatkép után a qcow2 fájlba írt adatblokkok nem tartoznak hozzá, de a régebbi. Ennyire egyszerű. A tesztpadom egy 5400RPM merevlemez-meghajtót használ, amely korántsem a teljesítmény csúcsán áll, még mindig kevesebb, mint néhány másodpercig tart, amíg egy pillanatképet készít egy virtuális gépről ezen a lemezen.

Következtetés

Csakúgy, mint a legtöbb libvirt és virsh kapcsolódó segédprogram esetében, a pillanatkép funkció nagyon rugalmas interfészt biztosít vállalati szintű szolgáltatásokkal, például az élő pillanatképekkel, valamint a másolásról írásra mechanizmus előnyeivel.

Az alapértelmezett elnevezési eljárás megkönnyíti a shell parancsfájlok számára a régi pillanatképek időszakos eltávolítását és helyettesítését újabbakkal. Az egyik régebbi cikkem az OpenZFS pillanatképekről és a pillanatkép házirendekről is alkalmazható a KVM vendégére. A virsh snapshot segédprogramról további információt a virsh help snapshot paranccsal használhat. A súgóoldal nagyon kicsi, pontos és könnyen érthető.

OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...
Csata a Wesnoth bemutatóért
A Battle for Wesnoth az egyik legnépszerűbb nyílt forráskódú stratégiai játék, amelyet jelenleg játszhatsz. Ez a játék nem csak nagyon hosszú ideje fe...