[VM] ลดขนาดของ VM (.vdi) ใน Virtual Box

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

ดังนั้น ที่มาของการ compact ตัว VM ให้มีขนาดที่เล็กลงครับ

Pre-Condition

  • ตอนสร้าง Disk ของ VM ต้องเป็นไฟล์ .vdi และมีการจองพื้นที่เป็นแบบ Dynamic Allocate เท่านั้น
  • มี Downtime: ตอนทำต้องปิด VM ด้วย
  • ก่อนทำต้อง Clear พื้นที่ข้างใน VM และทำ Zero Fill ด้วยครับ เพื่อบ่งบอกว่า Disk ส่วนนี้ไม่ได้ใข้งานแล้ว หากสงสัยว่าต้องทำอย่างไร มาดูที่ Blog นี้ได้ครับ
  • สุดท้าย อย่าลืม Backup VM ครับ

COMPACT VM

  • ตรวจสอบก่อนครับ ว่า disk ของ VM ที่เราต้องการจะ Compact อยู่ที่ Path ไหน ด้วยคำสั่ง
vboxmanage list hdds
  • ตรวจสอบขนาดก่อนการ COMPACT ในที่นี่ผมใช้ Tool dutree ครับ มันดูง่ายดี
  • COMPACT VM ด้วยคำสั่ง
#รูปแบบ
 vboxmanage modifymedium disk "<PATH TO VDI>" --compact

#ตัวอย่าง
 vboxmanage modifymedium disk "/home/ubuntu/VM/WIN10DEVEX2114/2021WIN10.vdi" --compact
  • ตรวจสอบขนาดหลังการ COMPACT โดยใช้ dutree จะพบว่าขนาดหายลงไปเยอะเลยครับ
  • ทดสอบเปิด VM เพื่อให้พร้อมใช้งานด้วยคำสั่ง
#รูปแบบ
  vboxmanage startvm "<VM_NAME>" --type headless

#ตัวอย่าง
  vboxmanage startvm "WIN10DEVEX2114" --type headless

ปิดท้าย

  • สำหรับใครที่เป็นสาย Windows อย่างเพิ่งน้อยใจไปครับ ทำได้เหมือนกันครับ เพียงแค่หา path ที่อยู่ของไฟล์ VBoxManage.exe ปกติอยู่ที่ Path C:\Program Files\Oracle\VirtualBox
  • สำหรับผมหลังจาก Compact VM แล้ว มันลื่นขึ้นเยอะเลยครับ


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.