Score:0

จะกู้คืนพื้นที่ดิสก์โฮสต์ได้อย่างไร หายไปเนื่องจากหน่วยความจำ KVM หมดขณะเพิ่มและลบดิสก์เสมือนด้วย Virtual Machine Manager

ธง fr

ขณะใช้ KVM และ Virtual Machine Manager ฉันพบว่าพื้นที่ดิสก์ใกล้หมด ขณะดำเนินการต่อไปนี้:

  1. Virtual Machine Manager, มุมมองรายละเอียด, เลือก VirtIO Disk 1, คลิกขวาแล้วเลือก Add Hardware, ใส่ขนาด.
  2. เรียกใช้ VM และทดสอบ
  3. ปิด VM
  4. Virtual Machine Manager ดูรายละเอียด เลือก VirtIO Disk 2 คลิกขวาแล้วเลือก Remove Hardware
  5. Virtual Machine Manager, มุมมองรายละเอียด, เลือก VirtIO Disk 1, คลิกขวาแล้วเลือก Add Hardware, ใส่ขนาดอื่น.
  6. เรียกใช้ VM และทดสอบ
  7. และทำซ้ำโดยการลบดิสก์เสมือนตัวที่สองและเพิ่มดิสก์ใหม่ที่มีขนาดแตกต่างกัน

หลังจากทำสิ่งนี้ได้ระยะหนึ่ง โฮสต์รายงานว่าพื้นที่เต็มและเกิดข้อขัดข้อง เอิ๊ก! บางทีฮาร์ดแวร์เสมือนที่ถูกลบออกอาจไม่ถูกลบด้วย?

รีบูตเครื่อง ฉันลบ VM โดยใช้ Virtual Machine Manager และโฮสต์ดูเหมือนจะดี แต่ดิสก์ยังค่อนข้างเต็ม (และตัวจัดการเครื่องเสมือนก็ว่างเปล่าใน VM อื่นๆ ของฉันทั้งหมด (อ๊ะ!) แต่รายชื่อกลับเติมในภายหลัง - สำหรับใครก็ตามที่มาที่นี่พร้อมกับปัญหานั้น หวังว่านี่จะเป็นจริงสำหรับคุณเช่นกัน นอกจากนี้ รายการเวอร์ช ไม่ได้ให้อะไรเลยและยังคงทำซึ่งทำให้น่ากลัวเป็นพิเศษ)

ฉันจะลบดิสก์เสมือนที่ไม่ได้ใช้ได้อย่างไร (หากนั่นคือสิ่งที่ครอบครองหน่วยความจำ)

Kyle H avatar
in flag
ตรวจสอบไดเร็กทอรี /var และใช้ 'sudo du -sh /var/*' ad-infintium เพื่อดูว่าอะไรและที่ใดในระบบไฟล์ที่ใช้พื้นที่ ฉันใช้คำสั่งนี้ตลอดเวลาสำหรับสิ่งนี้ สะดวกมาก หากคุณตอบกลับโดยระบุว่าอะไรกินพื้นที่ ฉันอาจสามารถบอกคุณได้ว่าควรแก้ไขอย่างไร ฉันเดาว่าคุณไม่ได้ลบดิสก์เหล่านั้นที่คุณกำลังสร้างจากพูลใน KVM
Insideup avatar
fr flag
ฉันวิ่งเส้นนั้นตามที่แนะนำ แต่เห็นว่าไม่มีอะไรผิดปกติ สำหรับการอ้างอิง ฉันกำลังมองหา 100-200GB ในไฟล์ใหม่ ฉันยังรัน ```du -ah /home/.ecryptfs/ | sort -rn``` ซึ่งมีรายการ /.Private/ECRYPTFS_FNEK_ENCRYPTED จำนวนมาก ไฟล์เริ่มต้นที่ประมาณ 1020K (ใหญ่ที่สุด) ฉันไม่รู้ว่าเป็นเรื่องปกติหรือไม่ที่จะมีสิ่งเหล่านี้มากมายและเกี่ยวข้องกับ KVM หรือไม่ ไม่ว่าฉันจะลบดิสก์ที่ฉันสร้างด้วย Virtual Machine Manager อย่างไร
Insideup avatar
fr flag
@KyleH ลืมแท็กคุณในคำตอบของฉันด้านบน
Kyle H avatar
in flag
ขอโทษ @Insideup ฉันไม่ชัดเจนพอ โดย ad infintium ฉันหมายถึงให้เรียกใช้คำสั่งนั้นซ้ำแล้วซ้ำอีกเพื่อช่วยจำกัดตำแหน่งที่ไฟล์ใช้พื้นที่มากที่สุด ตัวอย่างเช่น `du -sh /*` จะแสดงขนาดของไดเร็กทอรีในระบบไฟล์ การใช้สิ่งนี้ทำให้คุณสามารถอนุมานได้ว่าสาขาใดที่อยู่นอกรูท ไฟล์ที่ใหญ่ที่สุดทั้งหมดของคุณจะถูกเก็บไว้ จากนั้น ตัวอย่างเช่น ถ้า /var เป็นที่ที่ไฟล์ที่ใหญ่ที่สุดของคุณอยู่ ให้คุณเรียกใช้ `du -sh /var/*` เพื่อดูขนาดไฟล์/ไดเร็กทอรีทั้งหมดปิด /var จากนั้นคุณจะเห็นสาขาที่ใหญ่ที่สุดด้วยวิธีนั้น เพียงทำตาม breadcrumbs ของคำสั่งนั้นต่อไป :)
Insideup avatar
fr flag
@KyleH ขอบคุณสำหรับคำอธิบายเพิ่มเติม ฉันสับสนว่าทำไมตัวเลข Nautilus สำหรับบ้านถึงระบุชุดค่าที่แตกต่างจากเทอร์มินัลด้วย ```du -sh /home/*``` ซึ่งแสดงหน่วยความจำที่ใช้ไป 3 เท่าตามที่ Nautilus ระบุ
Kyle H avatar
in flag
คำสั่ง du ให้พื้นที่สะสมทั้งหมดที่ไฟล์ใช้ในไดเร็กทอรีปัจจุบัน และรวมถึงไดเร็กทอรีย่อยทั้งหมด du เป็นเหมือนดิสก์ที่ใช้ รับโฟลเดอร์สำหรับอินพุต มันให้ขนาดรวมของไดเร็กทอรีปัจจุบัน และขนาดไดเร็กทอรีย่อยทั้งหมดด้วย nautilus น่าจะให้ขนาดของโฟลเดอร์ปัจจุบันที่คุณอยู่ หวังว่านั่นจะอธิบายได้ดีกว่าสำหรับคุณ ฉันมีปัญหาในการถ่ายทอดความคิดผ่านข้อความเนื่องจากอาการบาดเจ็บที่สมองในปี 2550 โปรดแจ้งให้เราทราบหากคุณต้องการคำชี้แจงเพิ่มเติม :) @Insideup
Insideup avatar
fr flag
@KyleH อาการบาดเจ็บที่สมองฟังดูยาก BTW ฉันจะไม่รู้ ฉันคิดว่าคุณพูดถูกเกี่ยวกับสระว่ายน้ำ ```du -shx /home/*``` ส่งออกขนาดใหญ่กว่าการรวมเนื้อหาด้วย ```du -sx * | awk '{พิมพ์ $1}' | awk '{total+=$1} END{print total}' ``` ซึ่งดูสับสน แต่ฉันสะดุดกับ ``` ค้นหา -type f -printf "%s\t%p\n" | จัดเรียง -n | tail -10``` เพื่อแสดงรายการไฟล์ที่ใหญ่ที่สุด 10 ไฟล์ ซึ่งแสดงรายการที่มี ```./.local/share/libvirt/images/VM_NAME.qcow2``` หลายไฟล์ (ซึ่งอาจเป็นพูล) ตอนนี้กำลังศึกษาเรื่องสระอยู่ค่ะ แค่อยากจะอัพเดทกระทู้และกล่าวขอบคุณ
Score:0
ธง fr

I was able to recover lost disk space in the following way:

In the Virtual Machine Manager:

  1. File > New Virtual Machine > Choose how you would like to install the operating system : Local install media > Choose ISO or CDROM install media and choose BROWSE.
  2. In default Filesystem Directory pane, I was able to delete unused qcow2 volumes by highlighting them and selecting the red "do not"-style button.

du -shx /home/* and checking Nautilus verified that disk space has been recovered.

In summary, if you are removing VirtIO disks in the Details view of your VM with Virtual Machine Manager, be sure to remove the unused qcow2 files in a separate action, as described above, in order to recover memory.

โพสต์คำตอบ

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