Score:0

การกู้คืน PV ที่ซ้อนกัน

ธง us

บนโฮสต์ Proxmox 6.4 ของฉัน ฉันมีพูล LVM Thin ที่มีขนาดใหญ่ 250GB ฉันสร้าง Ubuntu VM (ซึ่งใช้ LVM สำหรับพาร์ติชันรูทด้วย) บนมัน แต่บังเอิญสมัครมากเกินไป ดังนั้น PV ภายใน VM จึงถูกตั้งค่าเป็น 500GB

ทุกอย่างทำงานได้ดีอยู่พักหนึ่งจนกระทั่งฉันใช้เกินขีดจำกัด 250GB ที่ซ่อนอยู่ และ VM หยุดทำงานโดยมีข้อผิดพลาด I/O และไม่ยอมบูต ตอนนี้ฉันกำลังพยายามกู้คืนดิสก์ ตารางพาร์ติชันของดิสก์ดูเหมือนจะไม่เสียหาย:

$ fdisk -l /dev/vm-disks/vm-101-disk-0
ดิสก์ /dev/vm-disks/vm-101-disk-0: 500 GiB, 536870912000 ไบต์, 1048576000 ภาค
หน่วย: ภาค 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I/O (ต่ำสุด/เหมาะสม): 65536 ไบต์ / 65536 ไบต์
ประเภทป้ายชื่อดิสก์: gpt
ตัวระบุดิสก์: 30874BBC-0B29-4083-B5BF-E973C665D87F

ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/vm-disks/vm-101-disk-0p1 2048 4095 2048 1M บูต BIOS
/dev/vm-disks/vm-101-disk-0p2 4096 2101247 2097152 ระบบไฟล์ Linux 1G
/dev/vm-disks/vm-101-disk-0p3 2101248 1048573951 1046472704 499G ระบบไฟล์ Linux

ฉันวิ่งแล้ว

$ kpartx -a /dev/vm-disks/vm-101-disk-0

เพื่อสร้าง /dev/ผู้ทำแผนที่ รายการสำหรับ 3 พาร์ติชันภายใน vm-101-disk-0และนั่นได้ผล ถ้าฉันวิ่ง:

$ ไฟล์ -sL /dev/mapper/vm--disks-vm--101--disk--0p3
/dev/mapper/vm--disks-vm--101--disk--0p3: LVM2 PV (Linux Logical Volume Manager), UUID: fdOzWR-sPcy-hyYo-Lj2H-YEnZ-wK3c-J6biES ขนาด: 535794024448

จากนั้นฉันเห็น PV นั้นในพาร์ติชันที่ 3 ของดิสก์ แต่ฉันจะเมานต์สิ่งนี้ในโฮสต์เพื่อเริ่มกู้คืนข้อมูลได้อย่างไร อย่างชัดเจน พีวีสแกน จากระบบโฮสต์ไม่เห็นเนื่องจากอยู่ใน LV อื่น ฉันมีตัวเลือกในการกู้คืนที่นี่หรือไม่ หรือข้อเท็จจริงที่ว่า VM คิดว่ามี 500GB ทั้งที่จริง ๆ แล้วไม่ได้หมายความว่าฉันได้รับความเสียหายเกินกว่าจะซ่อมแซมได้

in flag
บูต VM จากอิมเมจซีดีกู้คืน
Nikita Kipriyanov avatar
za flag
ก่อนอื่น คุณต้องกู้คืนการดำเนินการ Thin LVM บนโฮสต์ เช่น ขยาย thin pool ด้วย `lvextend' แบบง่ายๆ เมื่อขั้นตอนนี้เสร็จสิ้นและคุณมีพื้นที่ว่างใน thin pool เท่านั้น คุณสามารถดำเนินการกู้คืน VM ซึ่งไม่น่าจะยากมากนัก เพียงแค่บูต VM เข้าสู่การกู้คืนและเรียกใช้ fsck ที่เหมาะสม ย้ำอีกครั้ง อย่าพยายามดำเนินการต่อจนกว่า thin lvm ของคุณบนโฮสต์จะได้รับการแก้ไข!
eg flag
เพียงเรียกใช้ `vgchange -ay` เพื่อเปิดใช้งานวอลุ่ม... โฮสต์ควรเห็นว่าไม่มีปัญหา
us flag
ขอบคุณมาก @NikitaKipriyanov! คุณช่วยชีวิตฉันไว้จริงๆ :) คุณต้องการแปลงความคิดเห็นของคุณเป็นคำตอบเพื่อให้ฉันยอมรับและรับตัวแทนได้ไหม ถ้าไม่ ฉันจะเขียนขั้นตอนที่ฉันทำเพื่อเป็นคำตอบด้วยตนเอง
Score:2
ธง za

VM เพิ่งได้รับข้อผิดพลาดในการเขียน I/O เมื่อพื้นที่ในพูลแบบบางหมดลง สำหรับ VM ดูเหมือนว่าฮาร์ดดิสก์ปฏิเสธการเขียนทั้งหมดโดยไม่คาดคิด ดังนั้นหาก VM เป็นฮาร์ดแวร์เปล่า สิ่งแรกที่ต้องทำคือค้นหาฮาร์ดดิสก์ตัวใหม่และโคลนตัวที่แย่นี้เข้าไป หลังจากแก้ไข HW แล้ว คุณอาจแก้ไขโครงสร้างเชิงตรรกะได้

ในกรณีของเครื่องเสมือน คุณไม่มีฮาร์ดแวร์ที่เสียหาย คุณสามารถ "แก้ไข" "ฮาร์ดดิสก์" ได้โดยการคืนค่าการดำเนินการของทินวอลุ่ม เพียงขยายสระบางใช้ ขยาย บนพูลบาง LV เพื่อเพิ่มพื้นที่

และเมื่อเสร็จสิ้น ให้บูต VM จากสื่อการกู้คืนข้อมูล (เสมือน) และทำการกู้คืนระบบไฟล์มาตรฐานจำไว้ว่าไม่มีอะไรยากเกินไป ระบบไฟล์ที่ทันสมัยโดยทั่วไปออกแบบมาเพื่อทนต่อความล้มเหลวประเภทนี้


ตรวจสอบ LVM แบบบาง แม้ว่าการหมดพื้นที่ข้อมูลจะไม่ใช่ปัญหาใหญ่ ข้อมูลเมตา ความเหนื่อยล้าอาจมีผลกระทบที่ใหญ่กว่ามาก อย่าปล่อยให้สิ่งนี้เกิดขึ้น

โพสต์คำตอบ

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