Câu trả lời:
Mọi người lưu trữ gọi VM là máy trộn I / O. Điều này là do tất cả các tệp của khách thường nằm trong một "thùng chứa" như VMDK. VMDK này là một tệp duy nhất chứa tất cả các tệp khác được VM sử dụng.
Hãy xem xét rằng một VMDK 80GB có thể không có tất cả các khối được phân bổ liên tục trên đĩa - điều này thậm chí còn có khả năng hơn nếu bạn đang sử dụng việc cung cấp mỏng. Bằng cách chạy phân mảnh bên trong VM, bạn không thực sự tạo các tệp tuần tự trên đĩa vật lý, bạn đang biến chúng thành tuần tự bên trong container và container đó có thể không tuần tự trên đĩa vật lý. Về cơ bản, trong rất nhiều trường hợp, thật lãng phí thời gian và hiệu suất đạt được là rất tối thiểu.
Nếu bạn phân bổ tất cả không gian đĩa khi tạo và chống phân mảnh tệp đó trên đĩa thực của bạn và sau đó chống phân mảnh đĩa ảo thì tôi hy vọng sẽ thấy một lợi thế nhỏ.
@ MDMarra đã giải thích một cách hoàn hảo lý do tại sao việc phân mảnh đĩa ảo lại vô nghĩa. Không có cách nào để cải thiện điều đó.
Nếu chống phân mảnh là mục tiêu của bạn, đây là những gì bạn có thể làm:
Tắt hệ điều hành khách của bạn. Tắt máy đúng cách, không tạm dừng
Trong cửa sổ VM Ware Player, nhấp vào Hệ điều hành khách một lần và nhấp vào "Chỉnh sửa máy ảo"
Trong tab "Phần cứng", nhấp vào "Đĩa cứng". Ở bên phải bạn sẽ thấy một nút có tên "Tiện ích". Nhấp vào nó sẽ cung cấp cho bạn một menu thả xuống. Chọn "chống phân mảnh".
Tôi có hệ điều hành khách Ubuntu 12.04 và tôi phải nói rằng, tôi không thấy bất kỳ sự khác biệt nào về hiệu năng sau khi phân mảnh.
Mặc dù Windows XP có trên VMWare Player, việc bảo trì hệ điều hành đó phải được thực hiện tương tự để có hiệu suất tốt nhất.
Ngay cả khi bạn đã chống phân mảnh VM HD, bạn cũng sẽ phải đảm bảo rằng tệp VHD được phân mảnh hoàn toàn trên hệ điều hành máy chủ nếu không điều này sẽ không có hiệu quả tốt nhất.