KVM

KVM posnetki gostov z Libvirtom

KVM posnetki gostov z Libvirtom
VM-ji imajo veliko primerov uporabe, eden izmed njih je sposobnost VM-jev, da se uporabljajo kot preskusni stroji. Lahko eksperimentirate v VM, uporabite popravke in preizkusite nadgradnje, preden naredite enako v svojih produkcijskih sistemih ali na delovni postaji. VM-je za enkratno uporabo, v katerih manjkajo osebni ali občutljivi podatki, lahko uporabite tudi za testiranje zlonamerne programske opreme, kot to počne večina varnostne skupnosti, samo poskrbite, da je omrežje VM ločeno od vašega gostitelja in LAN-a.

Vendar postaja operacija vedno znova znova nameščena v VM. To ovira vaš potek dela in zato potrebujete zanesljiv način za:

  1. Naredite posnetek svojega VM v katerem koli trenutku.
  2. Vzpostavite mehanizem za uporabo posnetka za vrnitev VM nazaj v prej delujoče stanje.

Pred tem sem že razpravljal o tem, kako posnetki delujejo v VirtualBoxu, in tokrat sem želel razpravljati o posnetkih v Libvirtu. Kot zaledni hipervizor za namestitev Libvirt bom uporabil QEMU-KVM. Vaš primer se lahko razlikuje, vendar se celotna funkcionalnost in vmesnik ne smeta razlikovati, saj si libvirt po najboljših močeh prizadeva za standardizacijo vmesnika.

Če niste seznanjeni z libvirtom in qemu-kvm, je tukaj vodič, kako lahko nastavite KVM v Debianu.

Ustvarjanje posnetka

Obstaja več načinov, s katerimi lahko posnamete in upravljate posnetke vašega VM-ja. GUI aplikacije, kot sta virt-manager in oVirt, ponujajo funkcionalnost, lahko pa celo napišete skripte po meri za vmesnik z libvirt API, ki za vas upravlja celotno paleto posnetkov.

Vendar pa bom z vmesnikom ukazne vrstice virsh pokazal, kako lahko upravljate svoje VM-je in njihove posnetke. Ta pripomoček je na voljo s skoraj vsemi privzetimi namestitvami libvirt in bi moral biti na voljo v številnih distribucijah.

Za spodnje ukaze ime mojega VM, VM1, zamenjajte z dejanskim imenom vašega VM. Libvirt pogosto navaja virtualni stroj in vsebnike kot Domene. Torej, če vidite sporočilo o napaki, ki predlaga, recimo, "navedite ime domene", morate ukazu VM navesti kot enega od argumentov ukaza. Uporabite naslednji ukaz za seznam vseh VM-jev pod upravljanjem Libvirt-a.

$ virsh list --all

Če želite narediti posnetek VM, preprosto zaženite:

$ virsh snapshot-create VM1

Če želite našteti vse posnetke določenega VM, uporabite ukaz:

$ virsh seznam posnetkov VM1
Ime Čas nastanka imena Država
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 teče

Vidite lahko, da je posnetek ustvarjen. Ime posnetka je privzeto njegov časovni žig (število sekund od epohe UNIX). Stolpec Čas ustvarjanja prikazuje čas ustvarjanja na berljiv način, stolpec Stanje pa stanje VM, ko je bil posnet. Ko se je ta VM izvajal, se tudi stanje posnetka 'izvaja', vendar to ne pomeni, da se posnetek sam izvaja. Sčasoma se ne bo spremenilo. Ta funkcija je znana tudi kot posnetek v živo in je zelo dragocena, saj vam omogoča, da posnamete posnetek svojega VM brez izpadov. Gostje KVM vsaj dobro delajo s trenutnimi posnetki.

Nekatere delovne obremenitve pa zahtevajo, da ustavite VM, preden je posnet. To zagotavlja, da so podatki na posnetku dosledni in da ni napol napisane datoteke ali manjkajočih podatkov. Če ima delovna obremenitev, ki se izvaja v vašem VM, visok IO, boste verjetno morali ustvariti VM, preden ustvarite posnetek. Ustvarimo ga na ta način.

$ virsh zaustavitev VM1

Domena VM1 se zaustavlja

$ virsh snapshot-create VM1

Ustvarjen posnetek domene 1556533868

[zaščiteno po e-pošti]: ~ # virsh snapshot-list VM1
Ime Čas ustvarjanja imena Država
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 teče
1556533868 2019-04-29 16:01:08 +0530 izklop
 
$ virsh start VM1
Domena VM1 se je začela

Če želite posnetke poimenovati drugače kot časovni žig, uporabite ukaz:

$ virsh snapshot-create-as VM1 --name snap1
Ime Čas nastanka imena Država
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 teče
1556533868 2019-04-29 16:01:08 +0530 izklop
snap1 2019-05-02 22:27:48 +0530 teče

Očitno vam ni treba imenovati snap1, lahko izberete katero koli priročno ime.

Vrnitev nazaj iz posnetka

Posnetek posnetka ni koristen, če se nanj ne morete vrniti. V primeru, da se morate vrniti na posnetek, preprosto uporabite ukaz:

$ virsh snapshot-revert $ VMName $ snapshot-name

Ime je lahko časovni žig ali uporabniško določeno ime, podano posnetku.

Prepričajte se, da v vaši trenutni VM ni pomembnih podatkov ali če je kaj pomembnega, naredite posnetek trenutne VM in se nato vrnite na starejši posnetek.

Prednosti QCOW2

Mehanizem kopiranja in pisanja datotek qcow2 omogoča, da vsak posnetek zavzame zelo majhen prostor. Prostor, ki ga zavzame posnetek, se sčasoma povečuje, ko se tekoča slika razlikuje od posnetka. Dokler ne prepisujete veliko podatkov, bodo vaši posnetki zavzeli le nekaj MB prostora za shranjevanje.

Pomeni tudi, da so tudi posnetki zelo hitri. Ker mora mehanizem kopiranja na zapis samo označiti časovni žig, ko je bil posnet posnetek. Podatkovni bloki, zapisani v datoteko qcow2 po posnetku, ji ne pripadajo, starejši pa. Tako preprosto je. Moja preizkusna miza uporablja trdi disk 5400 RPM, ki nikakor ni na vrhuncu svoje zmogljivosti, še vedno traja manj kot nekaj sekund, da posnamete trenutni posnetek VM na tem disku.

Zaključek

Tako kot pri večini pripomočkov, povezanih z libvirtom in virsh, tudi funkcija posnetkov ponuja zelo prilagodljiv vmesnik s funkcijami podjetja, kot je posnetek v živo, skupaj s prednostmi mehanizma kopiranja in pisanja.

Privzeta konvencija o poimenovanju olajša tudi skripte lupine, da redno odstranjujejo stare posnetke in jih zamenjajo z novejšimi. Enega mojih starejših člankov o posnetkih in pravilnikih posnetkov OpenZFS lahko uporabite tudi za gosta KVM. Za več informacij o pripomočku za posnetek virsh lahko uporabite ukaz za posnetek virsh help snapshot. Stran s pomočjo je zelo majhna, natančna in lahko razumljiva.

Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...
Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...