KVM

KVM snímky hostí s Libvirt

KVM snímky hostí s Libvirt
VM majú veľa prípadov použitia, jedným z nich je kapacita VM, ktoré sa majú použiť ako testovacie stroje. Predtým, ako urobíte to isté na svojich produkčných systémoch alebo pracovnej stanici, môžete experimentovať na virtuálnom počítači, aplikovať opravy a testovať upgrady. Môžete tiež použiť jednorazové VM, ktorým chýbajú osobné alebo citlivé údaje, na testovanie škodlivého softvéru, ako to robí väčšina bezpečnostnej komunity, len sa uistite, že sieť VM je izolovaná od hostiteľa a siete LAN.

Je však namáhavé opakovane preinštalovať operačný systém vo vašom VM. Prekáža vám to v pracovnom postupe, a preto potrebujete spoľahlivý spôsob, ako:

  1. Urobte si snímku svojho VM v danom okamihu.
  2. Majte mechanizmus na použitie snímky na vrátenie vášho VM späť do predtým fungujúceho stavu.

Predtým som hovoril o tom, ako fungujú snímky vo VirtualBoxe, a tentoraz som chcel diskutovať o snímkach v rámci Libvirt. Budem používať QEMU-KVM ako backendový hypervízor pre svoju inštaláciu Libvirt. Váš prípad sa môže líšiť, ale celková funkčnosť a rozhranie by sa nemali veľmi líšiť, pretože libvirt sa snaží čo najlepšie štandardizovať klientske rozhranie.

Ak nepoznáte libvirt a qemu-kvm, tu je sprievodca nastavením KVM v Debiane.

Vytvorenie snímky

Existuje niekoľko spôsobov, ako môžete robiť a spravovať snímky svojho VM. Aplikácie GUI ako virt-manager a oVirt ponúkajú túto funkcionalitu a dokonca môžete písať vlastné skripty na rozhranie s libvirt API, ktoré za vás spravuje celú škálu snímok.

Budem však používať rozhranie príkazového riadku virsh, aby som ukázal, ako môžete spravovať svoje VM a ich snímky. Tento nástroj je dodávaný s takmer všetkými predvolenými inštaláciami libvirt a mal by byť k dispozícii v širokej škále distribúcií.

U príkazov uvedených nižšie nahraďte názov môjho VM VM1 skutočným názvom vášho VM. Libvirt často označuje virtuálny stroj a kontajnery ako Domény. Ak sa vám teda zobrazí chybové hlásenie naznačujúce napríklad „určiť názov domény“, musíte zadať názov svojho VM ako jeden z argumentov príkazu. Pomocou nasledujúceho príkazu môžete zobraziť zoznam všetkých virtuálnych počítačov spravovaných spoločnosťou Libvirt.

$ virsh list - všetko

Ak chcete urobiť snímku VM, jednoducho spustite:

$ virsh snapshot-create VM1

Ak chcete zobraziť zoznam všetkých snímok daného VM, použite príkaz:

$ virsh zoznam snímok VM1
Stav času vytvorenia názvu
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 beh

Vidíte, že snímka je vytvorená. Názov snímky je predvolene časová pečiatka jej vytvorenia (počet sekúnd od epochy systému UNIX). Stĺpec Čas vytvorenia zobrazuje čas vytvorenia ľudským spôsobom a stĺpec Stav zobrazuje stav virtuálneho počítača, keď bol snímaný. Pretože tento VM bežal, stav snímky je tiež „spustený“, ale to neznamená, že je spustená samotná snímka. Časom sa to nezmení. Táto vlastnosť je tiež známa ako živá snímka a je veľmi cenná, pretože umožňuje snímať snímky vášho virtuálneho počítača bez akýchkoľvek prestojov. Hostia KVM, prinajmenšom, fungujú dobre so živými snímkami.

Určité pracovné záťaže však vyžadujú, aby ste zastavili VM skôr, ako dôjde k jeho snapshotovaniu. Takto je zaistené, že údaje v snímke sú konzistentné a že v nich nie je žiadny napísané alebo chýbajúce údaje. Ak má pracovné zaťaženie bežiace na vašom VM vysoké IO, pravdepodobne budete musieť pred vytvorením snímky VM vypnúť. Vytvorme jeden takýmto spôsobom.

$ virsh vypnutie VM1

Doména VM1 sa práve vypína

$ virsh snapshot-create VM1

Snímka domény 1556533868 bola vytvorená

[chránené e-mailom]: ~ # virsh snapshot-list VM1
Stav času vytvorenia názvu
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 beh
1556533868 2019-04-29 16:01:08 +0530 vypnutie
 
$ virsh štart VM1
Doména VM1 bola spustená

Ak chcete pomenovať snímky niečím iným ako časovou značkou, použite príkaz:

$ virsh snapshot-create-as VM1 - názov snap1
Stav času vytvorenia názvu
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 beh
1556533868 2019-04-29 16:01:08 +0530 vypnutie
snap1 2019-05-02 22:27:48 +0530 beh

Je zrejmé, že to nemusíte pomenovať snap1, môžete si zvoliť ľubovoľný vhodný názov.

Vracia sa späť zo snímky

Ak sa nemôžete vrátiť späť, snímka nie je k ničomu. V prípade, že sa potrebujete vrátiť späť na snímku, jednoducho použite príkaz:

$ virsh snapshot-revert $ VMName $ snapshot-name

Názov môže byť časová pečiatka alebo meno priradené používateľom k snímke.

Uistite sa, že na vašom súčasnom VM nie sú žiadne dôležité údaje, alebo ak je niečo dôležité, urobte snímku aktuálneho VM a potom sa vráťte späť na staršiu snímku.

Výhody QCOW2

Mechanizmus kopírovania a zápisu súborov qcow2 umožňuje, aby každá snímka zaberala veľmi malé miesto. Miesto zachytené snímkou ​​sa časom zväčšuje, keď sa bežný obraz líši od snímky. Pokiaľ teda neprepisujete veľa údajov, vaše snímky zaberú iba niekoľko MB úložného priestoru.

Znamená to tiež, že snímky sú tiež veľmi rýchle. Pretože mechanizmus kopírovania a zápisu stačí označiť časovú pečiatku, keď bola snímka urobená. Dátové bloky zapísané do súboru qcow2 po snímke doň nepatria, ale staršie áno. Je to také jednoduché. Moje testovacie zariadenie používa pevný disk s rýchlosťou 5400 ot./min., Ktorý v žiadnom prípade nie je na vrchole svojho výkonu, vyhotovenie živej snímky virtuálneho počítača na tomto disku trvá stále menej ako pár sekúnd.

Záver

Rovnako ako u väčšiny pomocných programov súvisiacich s libvirt a virsh, funkcia snímok poskytuje veľmi flexibilné rozhranie s funkciami podnikovej triedy, ako je živá snímka spolu s výhodami mechanizmu kopírovania a zápisu.

Predvolená konvencia pomenovania tiež uľahčuje skriptom shellu periodické odstraňovanie starých snímok a ich nahradenie novšími. Jeden z mojich starších článkov o snímkach a politikách snímok OpenZFS sa dá použiť aj na vášho hosťa KVM. Viac informácií o obslužnom programe virsh snapshot nájdete v príkaze virsh help snapshot. Stránka pomocníka je veľmi malá, presná a ľahko pochopiteľná.

Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...
Hry 0 A.D. Výukový program
0 A.D. Výukový program
Z mnohých strategických hier je tu 0 A.D. dokáže vyniknúť ako komplexný titul a veľmi hlboká, taktická hra napriek tomu, že je otvoreným zdrojom. Vývo...