การเติมเป็นศูนย์จะเพิ่มขนาดของอิมเมจดิสก์แบบไดนามิกของ VirtualBox หรือไม่


10

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

การดำเนินการอย่างหนึ่งที่ฉันทำมากคือการเติมภาพดิสก์ขนาดคงที่เป็นศูนย์ก่อนสำรองข้อมูลโดยใช้โปรแกรม zip (เพื่อลดขนาดของไฟล์เก็บถาวร zip) คำถามของฉันคือเมื่อฉันเติมดิสก์ไดนามิกให้เป็นศูนย์ขนาดของดิสก์จะเพิ่มขึ้นเป็นมูลค่าสูงสุดที่ประกาศหรือไม่ (สำหรับกรณีเฉพาะของฉันฉันใช้sdelete -zพาร์ติชั่น windows)

คำถามเพิ่มเติมอีกข้อหนึ่งคือมีวิธีการที่พาร์ติชันแบบ zero-fill โดยไม่เพิ่มขนาดดิสก์หรือไม่?

ขอบคุณ

- แก้ไข -

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

ส่วนที่สองของคำถามของฉันคือการถามจริง ๆ ว่ามีทางเลือกที่ดีกว่าการเติมศูนย์ที่สามารถลบเซกเตอร์ที่ไม่ได้ใช้โดยไม่ต้องขยายขนาดดิสก์


1
ใช่ดิสก์ที่ปันส่วนแบบไดนามิกจะถูกจัดสรรอย่างเต็มที่จะเป็นขนาดที่จัดสรรอย่างเต็มที่ ฉันไม่แน่ใจว่าสิ่งที่สับสนอยู่ที่นี่และฉันไม่สามารถสรุปเหตุผลที่จะทำสิ่งที่คุณอธิบายได้ แต่ไม่คุณไม่สามารถรวบรวมข้อมูล (แม้ว่าจะเป็น 0 ทั้งหมด) ลงในไฟล์และไม่คาดหวังขนาดของมัน เพื่อเปลี่ยน.
Frank Thomas

@ Frankthomas โปรดดูการอัปเดตของฉันด้วยเหตุผลที่ไม่มีการเติม
tinlyx

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

คำตอบ:


12

ฉันเพิ่งทดสอบ (ใช้sdelete -zใน VM) และการเติมดิสก์เป็นศูนย์จะไม่เพิ่มขนาดของอิมเมจไดนามิกดิสก์ Virtualbox ฉลาดพอที่จะรับรู้ว่าเมื่อคุณเขียนเลขศูนย์ลงในบล็อกว่างเปล่าแล้วดิสก์ไม่จำเป็นต้องเขียนบล็อกอีกครั้ง

แต่แม้ว่ามันจะทำไม่ได้เลวร้ายเพราะศูนย์ที่บรรจุดิสก์ก็จะอนุญาตให้คุณบีบอัดมันอีกครั้งโดยใช้เครื่องมือ Virtualbox ในโฮสต์ของคุณ: จะทำการบีบอัดขนาดไฟล์ VDI ของ VirtualBox ได้อย่างไร?

เมื่อฉันเติมเต็ม VM ของฉันมันเพิ่มขนาดภาพจาก ~ 14.5GB เป็น ~ 15.5GB แต่ไม่ได้จัดสรรพื้นที่ดิสก์ทั้งหมดอย่างสมบูรณ์ซึ่งจะมีขนาดประมาณ 48GB

ในความเป็นจริงการเติมดิสก์เป็นศูนย์ (ผ่านsdelete -z) จะช่วยให้คุณเพิ่มพื้นที่ว่างที่ถูกเขียน แต่เนื่องจากระบบปฏิบัติการ VM ของคุณว่างจากนั้นคุณสามารถเรียกใช้คำสั่งVBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compactบนเครื่องโฮสต์ของคุณเพื่อบีบอัดอิมเมจไดนามิกดิสก์ให้ถูกต้อง กลับไปที่ขนาดต่ำสุด


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