KVM

KVM-i külalise hetktõmmised koos Libvirtiga

KVM-i külalise hetktõmmised koos Libvirtiga
VM-idel on palju kasutamisjuhtumeid, millest üks on VM-i maht testimismasinatena kasutamiseks. Saate katsetada VM-is, rakendada paiku ja testida täiendusi, enne kui teete sama oma tootmissüsteemides või tööjaamas. Samuti võite pahavara testimiseks kasutada ühekordselt kasutatavaid virtuaalmasinaid, millel puuduvad isiklikud või tundlikud andmed, nagu seda teeb enamik turbekogukondadest. Veenduge, et VM-i võrk oleks teie hostist ja kohtvõrgust isoleeritud.

Siiski on VM-i operatsioonisüsteemi ikka ja jälle uuesti installimine väsitav. See takistab teie töövoogu ja seetõttu vajate usaldusväärset viisi:

  1. Tehke oma VM-ist hetkepilt igal ajahetkel.
  2. Kasutage mehhanismi hetktõmmise kasutamiseks, et taastada oma VM varem töötavasse olekusse.

Olen varem arutanud, kuidas VirtualBoxis hetktõmmised töötavad, ja seekord tahtsin arutada pilte Libvirtis. Kasutan oma Libvirt installi jaoks taustaprogrammi hüpervisorina QEMU-KVM-i. Teie juhtum võib erineda, kuid üldine funktsionaalsus ja liides ei tohiks olla väga erinevad, sest libvirt püüab kõigest väest standardiseerida liidesed.

Kui te pole libvirt ja qemu-kvm tuttav, siis siin on juhend, kuidas saate Debianis KVM-i seadistada.

Hetkepildi loomine

VM-i hetktõmmiseid saate teha ja hallata mitmel viisil. GUI-rakendused nagu virt-manager ja oVirt pakuvad funktsionaalsust ja võite isegi kirjutada kohandatud skripte liidese libvirt API-ga, mis haldab teie jaoks kogu hetktõmmiste valikut.

Kuid kasutan virshi käsurea liidest, et näidata, kuidas saate oma VM-e ja nende hetktõmmiseid hallata. See utiliit on varustatud peaaegu kõigi libvirt vaikimisi installidega ja see peaks olema saadaval paljudes jaotustes.

Allpool olevate käskude jaoks asendage kindlasti minu VM-i nimi VM1 oma VM-i tegeliku nimega. Libvirt viitab virtuaalsele masinale ja konteineritele sageli kui Domeenid. Nii et kui näete tõrketeadet, mis soovitab öelda „täpsusta domeeninime”, peate käsu ühe argumendina sisestama oma VM-i nime. Järgmise käsu abil saate loetleda kõik Libvirt'i hallatavate VM-id.

$ virsh nimekiri - kõik

VM-i hetktõmmise tegemiseks lihtsalt käivitage:

$ virsh hetktõmmis-loo VM1

Kõigi antud VM-i hetktõmmiste loendamiseks kasutage käsku:

$ virsh hetktõmmiste loend VM1
Nimi loomise aja olek
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 töötab

Näete, et hetktõmmis on loodud. Vaikimisi on hetktõmmise nimi selle loomise ajatempel (sekundite arv UNIX-i ajastust). Veerus Loomise aeg kuvatakse loomise aeg inimesel loetaval viisil ja veerus Olek kuvatakse VM-i olek, kui see hetkeseisuga üles leiti. Selle VM töötamise ajal töötab ka hetktõmmise olek, kuid see ei tähenda, et hetktõmmis ise töötab. See ei muutu aja jooksul. Seda funktsiooni tuntakse ka reaalajas hetktõmmisena ja see on üsna väärtuslik, kuna see võimaldab teil teha VM-i hetktõmmise ilma seisakuteta. Vähemalt töötavad KVM-i külalised otseülekannete abil.

Teatud töökoormused nõuavad siiski, et peate VM-i enne selle hetkeseisu peatama. See tagab, et hetktõmmise andmed on järjepidevad ja pole pooleldi kirjutatud faili ega puuduvaid andmeid. Kui teie VM-is töötaval töökoormusel on kõrge IO, peate enne hetktõmmise loomist VM välja lülitama. Loome ühe sellisel viisil.

$ virsh seiskamine VM1

Domeeni VM1 sulgemine toimub

$ virsh hetktõmmis-loo VM1

Domeeni hetktõmmis 1556533868 loodud

[meiliga kaitstud]: ~ # virsh hetktõmmiste loend VM1
Nimi loomise aja olek
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 töötab
1556533868 2019-04-29 16:01:08 +0530 sulgemine
 
$ virsh start VM1
Domeen VM1 algas

Kui soovite hetkepiltidele nimetada midagi muud kui ajatempel, kasutage käsku:

$ virsh snapshot-create-as VM1 - nimi snap1
Nimi loomise aja olek
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 töötab
1556533868 2019-04-29 16:01:08 +0530 sulgemine
snap1 2019-05-02 22:27:48 +0530 töötab

Ilmselgelt ei pea te seda nimetama snap1, saate valida mis tahes mugava nime.

Piltilt tagasi pöördumine

Hetkepildist pole kasu, kui te ei saa selle juurde tagasi minna. Juhul, kui peate tagasi pöörduma hetktõmmise juurde, kasutage lihtsalt käsku:

$ virsh snapshot-revert $ VMName $ snapshot-name

Nimi võib olla ajatempel või hetkepildile antud kasutaja määratud nimi.

Veenduge, et teie praeguses VM-is pole olulisi andmeid või kui on midagi olulist, siis tehke hetkepilt oma praegusest VM-ist ja naaske seejärel vanema hetktõmmise juurde.

QCOW2 eelised

Qcow2 failide kirjutamise ja kirjutamise mehhanism võimaldab igal hetktõmmisel võtta väga väikese ruumi. Hetkepildi võetud ruum suureneb aja jooksul, kui jooksev pilt lahkneb hetktõmmist. Nii kaua, kui te ei kirjuta palju andmeid, võtab teie hetktõmmis ainult paar MB salvestusruumi.

See tähendab ka seda, et ka hetktõmmised on väga kiired. Kuna kopeerimise-kirjutamise mehhanism peab lihtsalt hetktõmmise tegemise ajal ajatempli märkima. Pärast hetktõmmist faili qcow2 kirjutatud andmeplokid ei kuulu sellesse, kuid vanemad. See on nii lihtne. Minu testpink kasutab 5400RPM kõvaketast, mis pole sugugi jõudluse tipus, sellel kettal oleva VM-i reaalajas hetktõmmise tegemine võtab siiski vähem kui paar sekundit.

Järeldus

Nagu enamiku libvirtiga ja virshiga seotud utiliitide puhul, pakub ka hetktõmmise funktsionaalsus väga paindlikku liidest ettevõtteklassi funktsioonidega, näiteks reaalajas hetktõmmis, ja kirjutamise-kirjutamise mehhanismi eelised.

Vaikimisi nimetamiskonventsioon lihtsustab ka shelliskriptide puhul vanade hetktõmmiste perioodilist eemaldamist ja asendamist uuematega. Ühte minu vanemat artiklit OpenZFS-i hetktõmmiste ja hetktõmmispoliitikate kohta saab rakendada ka teie KVM-i külalise jaoks. Virshi snapshoti utiliidi kohta lisateabe saamiseks võite kasutada virshi help snapshot käsku. Abileht on väga väike, täpne ja kergesti mõistetav.

OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...
OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...