KVM

KVM svečių momentinės nuotraukos su „Libvirt“

KVM svečių momentinės nuotraukos su „Libvirt“
VM turi daugybę naudojimo atvejų, vienas iš jų yra VM pajėgumas naudoti kaip bandymo mašinas. Galite eksperimentuoti VM, pritaikyti pataisas ir išbandyti naujovinimus prieš tai darydami savo gamybos sistemose ar darbo stotyje. Taip pat galite naudoti vienkartinius VM, kuriuose nėra asmeninių ar neskelbtinų duomenų, kenkėjiškų programų testavimui, kaip tai daro dauguma saugumo bendruomenės, tiesiog įsitikinkite, kad VM tinklas yra izoliuotas nuo jūsų pagrindinio kompiuterio ir LAN.

Tačiau tai vargina vėl ir vėl iš naujo įdiegiant operacinę sistemą savo VM. Tai trukdo jūsų darbo eigai, todėl jums reikia patikimo būdo:

  1. Padarykite savo VM momentinę nuotrauką bet kuriuo momentu.
  2. Turėkite momentinio vaizdo naudojimo mechanizmą, kad grąžintumėte savo VM į anksčiau veikusią būseną.

Anksčiau aptariau, kaip veikia nuotraukos „VirtualBox“, ir šį kartą norėjau aptarti „Libvirt“ nuotraukas. Savo „Libvirt“ diegimui naudosiu QEMU-KVM kaip „backend“ hipervizorių. Jūsų atvejis gali skirtis, tačiau bendras funkcionalumas ir sąsaja neturėtų būti labai skirtingi, nes „libvirt“ iš visų jėgų stengiasi standartizuoti „frontend“ sąsają.

Jei nesate susipažinę su „libvirt“ ir „qemu-kvm“, čia yra vadovas, kaip galite nustatyti „KVM“ „Debian“.

Momentinės nuotraukos kūrimas

Yra keli būdai, kuriais galite fotografuoti ir tvarkyti savo VM momentines nuotraukas. GUI programos, tokios kaip „virt-manager“ ir „oVirt“, siūlo funkcionalumą ir netgi galite rašyti pasirinktinius scenarijus sąsajai su „libvirt“ API, kuri valdo visą jums skirtų momentinių nuotraukų asortimentą.

Tačiau aš naudosiu virsh komandinės eilutės sąsają, norėdamas parodyti, kaip galite valdyti savo VM ir jų momentines nuotraukas. Šis įrankis yra su beveik visais numatytaisiais „libvirt“ diegimais ir turėtų būti prieinamas įvairiuose platinimuose.

Jei norite toliau pateikti komandas, mano VM pavadinimą VM1 pakeiskite tikruoju savo VM pavadinimu. „Libvirt“ dažnai vadina virtualią mašiną ir konteinerius Domenai. Taigi, jei matote klaidos pranešimą, kuriame siūloma pasakyti „nurodyti domeno vardą“, turite pateikti savo VM pavadinimą kaip vieną iš komandos argumentų. Naudokite šią komandą, kad išvardytumėte visus „Libvirt“ valdomus VM.

$ virsh sąrašas - visi

Jei norite fotografuoti VM, tiesiog paleiskite:

„$ virsh snapshot-create VM1“

Norėdami išvardyti visas konkretaus VM momentines nuotraukas, naudokite komandą:

$ virsh momentinių vaizdų sąrašas VM1
Pavadinimo kūrimo laiko būsena
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 veikia

Galite pamatyti, kad momentinė nuotrauka yra sukurta. Pagal numatytuosius nustatymus momentinės nuotraukos pavadinimas yra jos sukūrimo laiko žyma (sekundžių skaičius nuo UNIX epochos). Stulpelyje „Sukūrimo laikas“ rodomas kūrimo laikas suprantamu būdu, o būsena - VM būsena, kai ji buvo užfiksuota. Kai ši VM buvo vykdoma, momentinės nuotraukos būsena taip pat „veikia“, tačiau tai nereiškia, kad pati momentinė nuotrauka veikia. Su laiku tai nesikeis. Ši funkcija taip pat vadinama tiesiogine momentine nuotrauka ir yra gana vertinga, nes leidžia fotografuoti VM be jokių prastovų. KVM svečiai bent jau puikiai dirba su tiesioginėmis nuotraukomis.

Tam tikri darbo krūviai reikalauja, kad sustabdytumėte VM, kol ji bus pastebėta. Tai užtikrina, kad momentinės nuotraukos duomenys yra nuoseklūs ir nėra pusiau parašyto failo ar trūksta duomenų. Jei jūsų VM vykdomas darbo krūvis yra didelis IO, prieš kurdami momentinę nuotrauką tikriausiai turite išjungti VM. Sukurkime vieną tokiu būdu.

$ virsh išjungimas VM1

VM1 domenas išjungiamas

„$ virsh snapshot-create VM1“

Domeno momentinė nuotrauka sukurta 1556533868

[apsaugotas el. paštu]: ~ # virsh momentinių vaizdų sąrašas VM1
Pavadinimo kūrimo laiko būsena
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 veikia
1556533868 2019-04-29 16:01:08 +0530 išjungimas
 
$ virsh start VM1
Prasidėjo VM1 domenas

Jei norite momentines nuotraukas pavadinti kitu nei laiko žyme, naudokite komandą:

$ virsh snapshot-create-as VM1 - vardas snap1
Pavadinimo kūrimo laiko būsena
------------------------------------------------------------
1556533387 2019-04-29 15:53:07 +0530 veikia
1556533868 2019-04-29 16:01:08 +0530 išjungimas
snap1 2019-05-02 22:27:48 +0530 veikia

Akivaizdu, kad jums nereikia pavadinti jo snap1, galite pasirinkti bet kokį patogų pavadinimą.

Grįžtama iš momentinės nuotraukos

Fotografuoti nenaudinga, jei negalite prie jo grįžti. Jei norite grįžti į momentinę kopiją, tiesiog naudokite komandą:

$ virsh snapshot-revert $ VMName $ snapshot-name

Pavadinimas gali būti laiko žyma arba vartotojo priskirtas vardas, suteiktas momentinei nuotraukai.

Įsitikinkite, kad jūsų dabartiniame VM nėra svarbių duomenų, arba jei yra kažkas svarbaus, tada nufotografuokite esamą VM ir grįžkite į senesnę vaizdą.

QCOW2 privalumai

„Qcow2“ failų kopijavimo ant rašymo mechanizmas leidžia kiekvienam momentiniam vaizdui užimti labai mažai vietos. Akimirkos užimama erdvė laikui bėgant didėja, kai einantis vaizdas skiriasi nuo momentinės nuotraukos. Taigi, kol neperrašote daug duomenų, jūsų momentinėms kopijoms reikės tik kelių MB saugyklos.

Tai taip pat reiškia, kad momentinės nuotraukos taip pat yra labai greitos. Kadangi kopijavimo ant rašymo mechanizmas tiesiog turi pažymėti laiko žymę, kai buvo padaryta momentinė nuotrauka. Duomenų blokai, įrašyti į failą qcow2 po momentinės nuotraukos, jam nepriklauso, tačiau senesni. Tai taip paprasta. Mano bandymų stende naudojamas 5400 RPM kietasis diskas, kuris anaiptol nėra pats aukščiausias jo veikimo lygis, vis tiek užtrunka mažiau nei kelias sekundes, kol šiame diske padaroma tiesioginė VM momentinė nuotrauka.

Išvada

Kaip ir daugumoje susijusių su „libvirt“ ir „virsh“ komunalinėmis paslaugomis, momentinių vaizdų funkcija suteikia labai lanksčią sąsają su įmonės lygio funkcijomis, tokiomis kaip tiesioginis momentinis fotografavimas, kartu su „copy-on-write“ mechanizmo pranašumais.

Numatytoji pavadinimų suteikimo tvarka taip pat palengvina „shell“ scenarijus periodiškai pašalinti senas momentines nuotraukas ir pakeisti jas naujesnėmis. Vienas iš mano senesnių straipsnių apie „OpenZFS“ nuotraukų ir momentinių vaizdų politiką taip pat gali būti pritaikytas jūsų KVM svečiui. Norėdami gauti daugiau informacijos apie virsh momentinės nuotraukos naudingumą, galite naudoti komandą viršh help snapshot. Pagalbos puslapis yra labai mažas, tikslus ir lengvai suprantamas.

Kaip atsisiųsti ir paleisti „Sid Meier Civilization VI“ sistemoje „Linux“
Įvadas į žaidimą „Civilization 6“ yra šiuolaikinė klasikinės koncepcijos, pristatytos „Age of Empires“ žaidimų serijoje, koncepcija. Idėja buvo gana p...
Kaip įdiegti ir žaisti „Doom“ sistemoje „Linux“
Įvadas į Doom „Doom“ serija atsirado 90-aisiais, išleidus originalų „Doom“. Tai buvo tiesioginis hitas, o nuo to laiko žaidimų serija gavo daugybę apd...
„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...