บริษัทของฉันเพิ่งมอบหมายงานในการกู้คืน Citrix Xenserver ที่ค่อนข้างเก่า (~2015) ให้ฉัน เครื่องมีข้อผิดพลาดทางไฟฟ้าครั้งใหญ่ซึ่งทำให้ฮาร์ดไดรฟ์ล้มเหลวและการล่มสลายของ RAID ไม่มีการสำรองข้อมูล ดังนั้นไดรฟ์จึงถูกส่งไปเพื่อกู้คืนข้อมูล ซึ่งทำได้สำเร็จ ไม่สามารถบู๊ตเครื่องได้ และการบู๊ตข้อมูลที่กู้คืนจากฮาร์ดไดรฟ์จะทำให้ฮาร์ดรีเซ็ตในขณะที่โลโก้ Citrix Xen ปรากฏขึ้น

เครื่องได้รับการกำหนดค่าด้วย 2x RAID6 ซึ่งหนึ่งในนั้นมีไฮเปอร์ไวเซอร์และที่เก็บหน่วยเก็บข้อมูล และอีกเครื่องหนึ่งเป็นส่วนขยายของที่เก็บหน่วยเก็บข้อมูล ซึ่งถูกเพิ่มในภายหลัง ส่วนขยายถูกเพิ่มไปยังกลุ่มวอลุ่ม LVM ของเซิร์ฟเวอร์ Xen

ฉันจัดการเพื่อให้ไดรฟ์ข้อมูลกลับมาทำงานได้อีกครั้ง PV ทั้งหมดทำงาน และได้รับสำเนาของstate.dbจากไฮเปอร์ไวเซอร์ ซึ่งฉันค้นหา VDI ทั้งหมดที่แนบกับระบบดั้งเดิม

ปัจจุบันเครื่องมีปริมาณลอจิคัลวอลุ่มพอสมควร พวกเขาทั้งหมดมีการใช้งาน ฉันสงสัยว่าส่วนใหญ่เป็นสแน็ปช็อตของเครื่องเสมือน ~5 ที่ทำงานบนไฮเปอร์ไวเซอร์ การตรวจสอบรายการในฐานข้อมูลของ Xen ยืนยันว่า (มีis_a_snapshotส่วนใน xml)

ดังนั้นฉันจึงรู้ว่าโลจิคัลวอลุ่ม VHD ใดมาจากเครื่องเสมือนใด รวมถึงข้อมูลเมื่อถ่ายสแน็ปช็อต และชื่อของวอลุ่มสแน็ปช็อต

โลจิคัลวอลุ่มคือฮาร์ดไดรฟ์ของเครื่องเสมือนที่กำลังทำงาน ดังนั้นแต่ละโลจิคัลวอลุ่มที่ไม่ใช่สแน็ปช็อต กล่าวคือ เป็นไดรฟ์พื้นฐานของ VM มีตารางพาร์ติชั่นที่ถูกต้อง และสามารถติดตั้งได้โดยการระบุการเมานต์ออฟเซ็ต หรือใช้losetupต่อเข้ากับอุปกรณ์วนรอบแล้วรันpartxบนนั้น

นี่คือปัญหาในขณะนี้: แน่นอนว่าการแนบวอลุ่มที่ไม่ใช่สแนปชอตนั้นประกอบด้วยข้อมูลโบราณที่อยู่ก่อนการถ่ายภาพสแนปชอต อย่างไรก็ตาม: LVM ไม่รู้จักสแน็ปช็อตโลจิคัลวอลุ่มเป็นเช่นนี้ ฉันไม่สามารถกำหนดตารางพาร์ติชั่นบนโวลุ่มที่ทำเครื่องหมายเป็นสแน็ปช็อตในฐานข้อมูลหรือติดตั้งไม่ว่าด้วยวิธีใด

ฉันได้ทดลองกับเครื่องทดสอบอีกเครื่องหนึ่งแล้ว โดยสร้าง VG ใหม่และเพิ่ม LV ฉันสร้างตารางพาร์ติชั่นบน LV นั้น ฟอร์แมตพาร์ติชั่นแรกเป็น ext3 จากนั้นฉันก็ถ่ายสแนปชอตของ LV นั้นแล้วตรวจสอบว่าวอลลุ่มสแน็ปช็อตมีตารางพาร์ติชั่นที่ถูกต้องด้วยfdisk -l- และใช่หรือไม่ ดังนั้น สแน็ปช็อตที่ถ่ายอย่างถูกต้องจากโลจิคัลวอลุ่ม LVM ที่มีตารางพาร์ติชั่นควรยังคงแสดงตารางพาร์ติชั่นหากถูกถาม

ไม่พบพฤติกรรมนี้ในโลจิคัลวอลุ่มของเครื่อง Xen ที่ไม่ทำงานซึ่งฉันกำลังดำเนินการอยู่ ไม่มีวอลุ่มใดที่ทำเครื่องหมายเป็นสแน็ปช็อตในการstate.dbส่งคืนตารางพาร์ติชั่นที่ถูกต้อง ทั้งกับfdisk -lและเมื่อลองใช้เครื่องมืออื่นๆ เช่นguestfish.

ฉันได้ลองใช้lvconvert --mergeเพื่อลองรวมสแน็ปช็อตกลับ อย่างไรก็ตาม มันล้มเหลวโดยมีหมายเหตุเกี่ยวกับ "--trackchanges" ที่ไม่ได้ถูกใช้ในการสร้างสแน็ปช็อต ฉันไม่พบข้อมูลใดๆ เกี่ยวกับพฤติกรรมนี้

[TL;DR]เพื่อรวบรวม:

  • Dead Xen พร้อมการตั้งค่า VHD โลจิคัลวอลุ่ม
  • LVs ทั้งหมดทำงานอยู่และดูเหมือนว่าจะไม่บุบสลาย
  • ฉันได้รับสำเนาของstate.dbบันทึกย่อที่ LVs เป็นเครื่องเสมือนและเป็นสแน็ปช็อตของพวกเขา
  • ฉันไม่สามารถใช้ไดรฟ์สแนปชอตได้ตามปกติ LVM ควรอนุญาตให้ฉันทำ
  • ฉันไม่สามารถรวมสแนปชอตได้

แล้วตัวเลือกของฉันคืออะไร? มีวิธีการรวม LV เข้าด้วยกันด้วยตนเองหรือไม่ หรือฉันสามารถคัดลอกเนื้อหาและเชื่อมโยงข้อมูลด้วยวิธีใดวิธีหนึ่งได้หรือไม่ ฉันสามารถย้าย VG ไปยังไดรฟ์อื่นและติดตั้งลงใน Xen ใหม่และนำ VM กลับมารวมกันจากข้อมูลในไฟล์state.db? ฉันกำลังติดตามปลาเฮอริ่งแดงและ Xen ไม่ได้ถ่ายภาพสแน็ปช็อต LVM สำหรับสแน็ปช็อตของ VM หรือไม่

หมายเหตุเล็กน้อยที่ด้านข้าง:

  • การดำเนินการทุกอย่างที่ฉันทำนั้นทำบนสำเนาคาร์บอนของข้อมูลไดรฟ์ดั้งเดิม ข้อมูลเดิมที่กู้คืนมาไม่ได้ถูกแก้ไข
  • การดำเนินการเสร็จสิ้นในสภาพแวดล้อมสดของ GMRL
  • ปริมาณ VHD เกิน 8TB
  • ฉันไม่ได้ทำการตั้งค่าเครื่องและบุคคลที่ตั้งค่าระบบตั้งแต่แรกเริ่มในปี 2558 ไม่สามารถกู้คืนได้เนื่องจากขาดความรู้เกี่ยวกับ LVM
no answer