ขนาดไฟล์ที่แปลกมาก (มากกว่า 600 PB) บนระบบไฟล์ขนาดเล็ก


21

ฉันมีไฟล์ในระบบไฟล์ XFS ซึ่งมีขนาดประมาณ 200 GB มันเป็นอิมเมจ QCOW2 ที่มีดิสก์เสมือนของเครื่องเสมือนที่ขับเคลื่อนด้วย KVM มีบางอย่างผิดพลาด (อาจเป็นข้อผิดพลาดของ qemu-kvm ฉันไม่แน่ใจ) เครื่องเสมือนขัดข้องและตอนนี้ฉันมีไฟล์ที่มีลักษณะดังนี้:

191090708 -rwxr--r--. 1 root root 737571587400425984 Oct 10 10:03 973d10e0-a5e3-4a59-9f98-4b9b9f072ade

ดังนั้นมันยังคงครองบล็อก 191090708 แต่lsแสดงว่าเป็น 656 เพตาไบต์

นอกจากนี้ฉันมีไฟล์อื่นที่มีประวัติก่อนหน้าเหมือนกัน แต่อยู่ในระบบไฟล์อื่น (ไม่ใช่ XFS แต่เป็น GFS2):

410855320 -rwxr--r--. 1 root root 7493992262336241664 Dec 13  2014 ac2cb28f-09ac-4ca0-bde1-471e0c7276a0

มันครอบครองบล็อก 410855320 แต่lsแสดงว่าเป็น ~ 6.6 exabytes

คุณคิดอย่างไรกับการลบไฟล์เหล่านี้ปลอดภัยหรือไม่ ขอขอบคุณ!

ป.ล. ดีมากที่มีสแนปชอตเป็นประจำ! :) ฉันไม่รู้ว่าฉันจะทำอย่างไรหากไม่มีพวกเขา


ขอบคุณมากสำหรับคำตอบของคุณ แน่นอนฉันรู้เกี่ยวกับไฟล์ที่กระจัดกระจาย แต่คำถามที่สำคัญที่สุดสำหรับฉันคือต่อไปนี้: ปลอดภัยที่จะลบไฟล์เหล่านี้หรือไม่ อย่างที่ฉันเห็นในตอนนี้มีโอกาสที่จะสูญเสียข้อมูลบางส่วนหากระบบไฟล์เสียหาย ฉันไม่แน่ใจว่าระบบไฟล์นั้นโอเคเพราะไม่ต้องการถอนการติดตั้งและตรวจสอบ แต่การเกิดขึ้นครั้งแรกได้เกิดขึ้นเมื่อ 4 เดือนที่ผ่านมาที่สอง - 14 เดือนที่ผ่านมาดังนั้นฉันหวังว่าฉันจะเห็นว่ามีระบบไฟล์ใด ๆ ความเสียหายหากมี คุณคิดอย่างไร?
Volodymyr Melnyk

คำตอบ:


31

ฉันเห็นเหตุผลสองประการที่ทำให้คุณเห็นขนาดไฟล์เหล่านั้น:

  • ไฟล์กระจัดกระจาย
  • ความเสียหายของระบบไฟล์

ไฟล์กระจัดกระจายเป็นคุณสมบัติในระบบไฟล์บางระบบโดยที่คุณสามารถสร้างไฟล์ที่มีรูในนั้น ไม่มีการจัดสรรพื้นที่ทางกายภาพสำหรับหลุม การอ่านข้ามหลุมจะกลับ NUL ไบต์ตลอดทาง

หากเหตุผลของสิ่งที่คุณเห็นคือไฟล์ที่กระจัดกระจายดังนั้นจึงปลอดภัยที่จะลบออกอย่างที่มันเป็นกับไฟล์ที่ไม่กระจัดกระจาย

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

หากคุณเห็นอาการอื่นใดที่ทำให้คุณคิดว่าระบบไฟล์อาจเสียหายคุณควรทำการตรวจสอบระบบไฟล์แบบเต็มก่อนที่จะลบไฟล์

หากไม่มีหลักฐานบ่งชี้ว่าระบบไฟล์เสียหายและไฟล์ดูเหมือนจะกระจัดกระจายฉันจะลบไฟล์ทันทีที่ฉันไม่ต้องการใช้อีกต่อไป


6

ปัญหาคือวิธีการคำนวณขนาดไฟล์

วิธีหนึ่งก็คือดูออฟเซ็ตของไบต์สุดท้าย (เช่น ls) วิธีอื่นคือการรวมบล็อกที่จัดสรรจริง ๆ (เช่น du)

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


ขอขอบคุณ. คุณคิดว่ายังไงมันจะไม่พังอะไรเลยถ้าฉันเพิ่งลบไฟล์เหล่านี้?
Volodymyr Melnyk

1
Google "ไฟล์กระจัดกระจาย" เพื่อดูรายละเอียด
Kondybas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.