Score:1

libvirt จัดเก็บ RAM snapshot ไว้ที่ไหน

ธง in

ความเข้าใจของฉันคือเมื่อฉันเรียกใช้คำสั่งนี้เพื่อสร้างภาพรวมของโดเมนที่กำลังทำงานอยู่:

virsh snapshot-สร้างเป็น myvm snapshot1

ซึ่งไม่เพียงสร้างสแน็ปช็อตภายในในแต่ละไฟล์อิมเมจของดิสก์เท่านั้น แต่ยังมีการบันทึกสถานะ RAM ไว้ที่ใดที่หนึ่งด้วย ดังนั้น หากฉันเปลี่ยนกลับเป็นสแน็ปช็อตในภายหลัง ทุกอย่างใน RAM จะถูกกู้คืนไปยังเวลาที่สร้างสแนปชอต

ฉันเห็นสแน็ปช็อตที่แสดงอยู่ในดิสก์อิมเมจ qcow2 และฉันเห็นไฟล์ XML ที่สร้างขึ้นเพื่ออธิบายสแน็ปช็อตและการกำหนดค่าโดเมน แต่ เนื้อหาที่แท้จริงของ RAM อยู่ที่ไหน และเป็น "ถาวร" ไหม ดังนั้น หากฉันรีบูตเครื่องโฮสต์ ตัวอย่างเช่น สถานะ RAM ที่บันทึกไว้ของโดเมนจะยังใช้งานได้หากฉันเลือกเปลี่ยนกลับเป็นสแนปชอตนั้น

Score:1
ธง ca

รูปแบบ qcow2 มีให้ ถาวร ที่เก็บข้อมูลภายในสำหรับหน่วยความจำเครื่องเสมือน เมื่อสแนปช็อตเครื่องเสมือนที่รันด้วย qcow2 สำรอง สถานะ RAM จะถูกดัมพ์ภายในไฟล์ qcow2 เดียวกันกับที่ใช้สำหรับการจัดเก็บ

จาก หน้า qcow2 อย่างเป็นทางการ:

แต่ละสแน็ปช็อตมีคำอธิบายโดยส่วนหัว:

  typedef โครงสร้าง QCowSnapshotHeader {
      /* ส่วนหัวอยู่ในแนวเดียวกัน 8 ไบต์ */
      uint64_t l1_table_offset;

      uint32_t l1_size;
      uint16_t id_str_size;
      uint16_t name_size;

      uint32_t date_sec;
      uint32_t date_nsec;

      uint64_t vm_clock_nsec;

      uint32_t vm_state_size;
      uint32_t extra_data_size; /* สำหรับขยาย */
      /* ข้อมูลเพิ่มเติมตามนี้ */
      /* id_str ติดตาม */
      /*ชื่อตามหลัง*/
  } QCowSnapshotHeader;

ซึ่งอธิบายเพิ่มเติม:

vm_state_size ให้ขนาดของสถานะเครื่องเสมือนที่เป็น บันทึกเป็นส่วนหนึ่งของภาพรวมนี้ สถานะจะถูกบันทึกไว้ในตำแหน่งของ ตาราง L1 ดั้งเดิม ต่อจากส่วนหัวของรูปภาพ


ในทางกลับกัน จะเกิดอะไรขึ้นเมื่อถ่ายภาพสแน็ปช็อตของไฟล์ภาพดิบ (เช่น: ไม่ได้ใช้ qcow2) Libvirt เรียกสแน็ปช็อตประเภทนี้ว่า ภาพรวมภายนอก (เปรียบเทียบกับ ภาพรวมภายใน ของไฟล์ qcow2) เนื่องจากไฟล์ qcow2 ใหม่ถูกสร้างขึ้นและเชื่อมโยงกับไฟล์ raw ดั้งเดิม (และตอนนี้เป็นแบบอ่านอย่างเดียว) จากนั้น Libvirt จะบันทึกสถานะเครื่องเสมือน (เช่น: เนื้อหา RAM) ในไฟล์เฉพาะ โดยทั่วไปจะอยู่ภายในส่วนย่อยของ /var/lib/libvirt/. ในที่สุดไฟล์ XML ของข้อมูลเมตาจะถูกสร้างขึ้นเพื่อ "ติด" ไฟล์ดัมพ์เข้ากับสถานะของดิสก์ที่บันทึกไว้ในไฟล์โอเวอร์เลย์

การสนับสนุน Libvirt สำหรับสแน็ปช็อตภายนอกนั้นไม่แข็งแกร่งมากนัก ตัวอย่างเช่น (หากสิ่งต่างๆ ไม่เปลี่ยนแปลงเมื่อเร็วๆ นี้) คุณสามารถสร้างสแน็ปช็อตภายนอกด้วยคำสั่งเดียว แต่คุณต้องใช้คำสั่งที่ซับซ้อนหลายคำสั่งเพื่อลบ/ย้อนกลับ ในเวลาเดียวกัน สำหรับปริมาณงานการผลิต RedHat แนะนำอย่างเป็นทางการให้ใช้สแน็ปช็อตภายนอก เนื่องจากค่อนข้างมีประสิทธิภาพและเร็วกว่าสแน็ปช็อตภายในแบบสายยาว (และขาย RHEV ซึ่งซ่อนความซับซ้อนของสแน็ปช็อตภายนอกจากผู้ใช้)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา