Puncte:1

Unde sunt stocate instantaneele RAM de libvirt?

drapel in

Înțeleg că atunci când rulez această comandă pentru a crea un instantaneu al unui domeniu care rulează:

virsh snapshot-create-as myvm snapshot1

că nu numai că sunt create instantanee interne în fiecare fișier imagine de disc, dar și starea RAM este salvată undeva. Deci, dacă mai târziu revin la acel instantaneu, totul din RAM va fi restaurat la momentul creării instantaneului.

Văd instantaneele listate în imaginile de disc qcow2 și văd fișierul XML care a fost creat pentru a descrie instantaneul și configurația domeniului, dar unde este stocat conținutul real al memoriei RAM? Și este „permanent”, așa că dacă repornesc mașina gazdă, de exemplu, starea RAM salvată a domeniului va fi în continuare disponibilă dacă aleg să revin la acel instantaneu?

Puncte:1
drapel ca

Formatul qcow2 oferă permanent stocare internă pentru memoria mașinii virtuale. Când faceți instantanee ale unei mașini virtuale care rulează cu suport qcow2, starea RAM este descărcată în același fișier qcow2 folosit pentru stocare.

De la pagina oficială qcow2:

Fiecare instantaneu este descris de un antet:

  typedef struct QCowSnapshotHeader {
      /* antetul este aliniat pe 8 octeți */
      uint64_t l1_table_offset;

      uint32_t l1_size;
      uint16_t id_str_size;
      uint16_t name_size;

      uint32_t data_sec;
      uint32_t date_nsec;

      uint64_t vm_clock_nsec;

      uint32_t vm_state_size;
      uint32_t extra_data_size; /* pentru extensie */
      /* urmează date suplimentare */
      /* id_str urmează */
      /* numele urmează */
  } QCowSnapshotHeader;

care explica in continuare:

vm_state_size oferă dimensiunea stării mașinii virtuale care a fost salvat ca parte a acestui instantaneu. Statul este salvat în locația de tabelul L1 original, direct după antetul imaginii.


Pe de altă parte, ce se întâmplă atunci când faceți un instantaneu al unui fișier imagine brut (adică: nu folosiți qcow2)? Libvirt numește acest tip de instantanee un instantaneu extern (comparați-l cu instantaneu intern a unui fișier qcow2), deoarece un nou fișier qcow2 este generat și legat la fișierul brut original (și acum numai pentru citire). Libvirt salvează apoi starea mașinii virtuale (adică: conținutul său RAM) într-un anumit fișier, în general într-un subdir al /var/lib/libvirt/. În cele din urmă, este creat un fișier XML de metadate pentru a „lipi” fișierul dump la starea discului salvat în fișierul de suprapunere.

Suportul Libvirt pentru instantanee externe nu este foarte robust; de exemplu (dacă lucrurile nu s-au schimbat foarte recent) puteți crea un instantaneu extern cu o singură comandă, dar aveți nevoie de mai multe comenzi complexe pentru a o șterge/revoca. În același timp, pentru volumul de lucru de producție, RedHat recomandă oficial utilizarea instantaneelor ​​externe, deoarece acestea sunt ceva mai robuste și mai rapide decât un lanț lung de instantanee interne (și vând RHEV care ascunde complexitatea instantaneelor ​​externe departe de utilizator).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.