ไฟล์ Virtual Machine ขนาดคงที่ (vmdk และอื่น ๆ ) มีการจัดการที่ไม่ดีหรือไม่?


5

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

ฉันไม่ได้ถามว่าไฟล์ใน VM สามารถแยกส่วนได้หรือไม่หากเป็นเครื่องเสมือนจริงสิ่งใดก็ตามที่สามารถเกิดขึ้นกับฮาร์ดไดรฟ์ทางกายภาพสามารถเกิดขึ้นกับฮาร์ดไดรฟ์เสมือนได้

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

ตัวอย่างเช่นถ้าฉันมี 30 กิกะไบต์และฉันสร้างไฟล์ VM 20 กิกะไบต์ (ขนาดคงที่) อาจมีโอกาสที่ไฟล์จะไม่ใช้พื้นที่ต่อเนื่องบนฮาร์ดไดรฟ์ของฉัน ในโลกที่สมบูรณ์แบบการดีแฟรกอาจสามารถแก้ไขได้

แต่บอกว่าฉันว่าง 150 กิ๊กฉันได้เพิ่ม VM ขนาด 20 กิ๊ก (ขนาดคงที่) จากนั้นฉันดาวน์โหลด Star Trek The Next Generation ทั้งหมดทิ้งฉันด้วยพื้นที่ว่าง 5 กิกะไบต์ ฉันเปิดและปิดเครื่องเสมือนของฉัน 900 ครั้ง ฉันมีการแยกส่วนใน VM ของฉันหรือมันยังคงครอบครองก้อนใหญ่ที่ต่อเนื่องกันได้หรือไม่


หากคำตอบนั้นขึ้นอยู่กับระบบปฏิบัติการนั่นเป็นข้อมูลที่มีประโยชน์เช่นกัน
Peter Turner

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

ใช่ฉันกำลังพูดถึงการจัดการภายนอก ภายในฉันคิดว่ามันจัดการเหมือนหน่วยความจำก้อนใหญ่ ๆ ฉันเดาว่ามันอาจไม่ชัดเจน แต่ฉันหมายถึงไฟล์ VM ไม่ใช่ไฟล์ใน VM
Peter Turner

ใช่ดูเหมือนว่า 2 / 3rds ของคำตอบที่คำถามของฉันสร้างขึ้นทำให้ฉันเชื่อว่ามันสับสน
Peter Turner

คำตอบ:


4

ถ้าคุณจัดสรรพื้นที่ทั้งหมดไว้ล่วงหน้าแทนที่จะมีปริมาณเพิ่มขึ้นตามที่ต้องการก็ไม่ควรมีการแตกแฟรกเมนต์ใด ๆ

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


1
นี่คือคำตอบที่ถูกต้อง หากคุณจัดสรรล่วงหน้ามันจะไม่แยกส่วนในระบบปฏิบัติการโฮสต์ หากคุณไม่ได้รับการจัดสรรล่วงหน้าสามารถแยกส่วนได้อย่างง่ายดาย เหตุผลก็คือระบบปฏิบัติการไม่จำเป็นต้องจัดสรรบล็อกใหม่ (ซึ่งเป็นสาเหตุของการแตกแฟรกเมนต์) เมื่ออัพเดตดิสก์ VM ที่จัดสรรไว้ล่วงหน้า แน่นอนฉันแน่ใจว่ามีวิธีแปลกประหลาดบางอย่างที่โปรแกรม Defrag อาจทำให้เกิดปัญหาขึ้น
Pridkett

4

โฮสต์ระบบปฏิบัติการถือว่า*.vmdkไฟล์เป็นไฟล์ขนาดใหญ่อื่น ๆ - ตราบใดที่มันถูกสร้างขึ้นในพื้นที่ที่ต่อเนื่องกันและไม่เปลี่ยนขนาดมันจะยังคงอยู่ในลักษณะนั้น (ฉันสมมติว่าไม่มีการบีบอัดเข้ารหัส velociraptors หรือปัจจัยผิดปกติอื่น ๆ )

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

เกี่ยวกับคุณสมบัติ "ภาพรวม" ของ VMware: แต่ละภาพรวมจะถูกเก็บไว้ในไฟล์ที่แตกต่างกัน ภาพหลักของคุณอาจจะเรียกว่าblah-flat.vmdkแล้วภาพรวมของคุณจะถูกเรียกว่าสิ่งที่ชอบblah-00000001.vmdk, blah-0000002.vmdkฯลฯ ไฟล์แบนของคุณจะไม่เปลี่ยนขนาด แต่ไฟล์ภาพรวมได้และดังนั้นจึงอาจมีการแยกส่วน

สุดท้ายตัวจัดเรียงข้อมูลบน Windows (IIRC) จะแสดงรายการไฟล์ที่ไม่สามารถจัดเรียงข้อมูลได้ซึ่งจะเป็นแหล่งข้อมูลที่เชื่อถือได้มากที่สุด


2

ฮาร์ดไดรฟ์ VM สามารถใช้งานได้ในลักษณะเดียวกับฮาร์ดไดรฟ์ทั่วไปโดยมีการรวมแฟรกเมนต์ไว้ด้วย

เมื่อไม่กี่วันที่ผ่านมาฉันใช้เครื่องมือการกู้คืนเพื่อยกเลิกการลบไฟล์จากฮาร์ดไดรฟ์ VM ที่กำลังเติบโตดังนั้นแม้จะมีขนาดคงที่ แต่ก็ไม่ได้เขียนทับเซ็กเตอร์อย่างรวดเร็ว


1

มีการแตกแฟรกเมนต์สองชั้นที่ต้องพิจารณา (หาก vm-disk ถูกเก็บเป็นไฟล์บนเครื่องโฮสต์) การแตกแฟรกเมนต์ที่เกิดจากระบบไฟล์บนเครื่องโฮสต์และการแตกแฟรกเมนต์ในระบบไฟล์ guest

แต่สมมติว่า vm-disk ที่จัดสรรล่วงหน้าของคุณนั้นไม่มีการแยกส่วนอย่างสมบูรณ์จากนั้นเครื่องเสมือนก็ไม่มีเหตุผลที่จะสร้าง / จัดเรียง vm-disk ใหม่โดยไม่มีเหตุผลและจะนำสิ่งที่มีอยู่มาใช้ใหม่ ดังนั้นเครื่องเสมือนในตัวมันเองจึงไม่มีเหตุผลที่จะทำให้เกิดการแยกส่วนในระบบไฟล์โฮสต์

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

แต่ระบบไฟล์แขกจะยังคงได้รับการแยกส่วนเช่นเคย (อาจจะไม่มากเพียงแค่เปิด / ปิด 900 ครั้ง)

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


0

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

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