Defragmentować maszynę wirtualną z systemem Windows?

17

Przeczytałem sprzeczne porady na ten temat, więc pomyślałem, że zapytam tutaj.

Czy powinienem uruchamiać zaplanowaną defragmentację na mojej maszynie wirtualnej?

SteB
źródło
Jeśli masz stację roboczą vmware, możesz defragmentować sam dysk VM.
lbanz

Odpowiedzi:

33

Ludzie pamięci masowej określają maszyny wirtualne jako blendery we / wy. Wynika to z faktu, że wszystkie pliki gościa zwykle znajdują się w „kontenerze”, takim jak VMDK. Ten VMDK to pojedynczy plik, który zawiera wszystkie inne pliki używane przez maszynę wirtualną.

Weź pod uwagę, że VMDK o pojemności 80 GB może nie mieć wszystkich bloków przydzielonych sekwencyjnie na dysku - jest to nawet bardziej prawdopodobne, jeśli używasz cienkiego administrowania. Uruchamiając defragmentację w maszynie wirtualnej, tak naprawdę nie czynisz plików sekwencyjnymi na dysku fizycznym, czynisz je sekwencyjnymi wewnątrz kontenera, a ten kontener prawdopodobnie nie jest sekwencyjny na dysku fizycznym. Zasadniczo w wielu przypadkach jest to strata czasu, a wzrost wydajności jest w najlepszym razie bardzo minimalny.

MDMarra
źródło
Dzięki, jestem przede wszystkim zainteresowany aspektem wydajności.
SteB,
@SteB ... o to właśnie chodzi w mojej odpowiedzi. Wzrost wydajności jest bezpośrednio związany z możliwością wykonywania sekwencyjnych odczytów / zapisów zamiast losowych odczytów / zapisów na dysku fizycznym. Jeśli kontener jest pofragmentowany, to tak naprawdę nie robisz nic użytecznego dla plików w nim zawartych.
MDMarra,
2
Jeśli zamierzasz skompresować dynamiczny VMDK (lub inny wirtualny plik HD), musisz go najpierw zdefragmentować, aby uzyskać poprawne wyniki. Poza tym, nie ma powodu, aby kiedykolwiek uruchamiać defragmentację, wzrost wydajności jest całkowicie znikomy.
Chris S
Czy teoretycznie możliwe jest „pofragmentowanie” HD gościa (jak widzi to maszyna wirtualna) wystarczająco mocno, aby podzielone operacje we / wy stały się problemem w maszynie wirtualnej? Byłby to jeden z niewielu przypadków użycia, które mogę wymyślić w celu defragmentacji w maszynie wirtualnej. Nie jestem jednak pewien, w jaki sposób maszyna wirtualna osiągnie ten stan, chociaż nadal będzie przydatna.
afrazier
@afrazier Przepraszamy, nie rozumiem o co ci chodzi. Wydajność nie będzie gorsza niż pofragmentowany dysk fizyczny.
MDMarra,
7

Jeśli przydzielisz całe miejsce na dysku podczas tworzenia i defragmentacji tego pliku na dysku rzeczywistym, a następnie defragmentuj dysk wirtualny, spodziewam się niewielkiej korzyści.

@ MDMarra doskonale wyjaśnia, dlaczego defragmentacja dysku wirtualnego nie ma sensu. Nie ma sposobu, aby to poprawić.

Hennes
źródło
1

Prawdziwa odpowiedź: nigdy nie widziałem dużego wpływu defragmentacji maszyn wirtualnych. Biorąc to pod uwagę, jeśli w pewnym momencie zamierzasz potencjalnie zmniejszyć dysk, chcesz defragmentować, aby pomóc w tym procesie.

Driftpeasant
źródło
1

Jeśli Twoim celem jest defragmentacja, oto, co możesz zrobić:

  1. Zamknij system operacyjny gościa. Prawidłowe wyłączenie, a nie zawieszenie

  2. W oknie VM Ware Player kliknij jeden raz na system operacyjny gościa i kliknij „Edytuj maszynę wirtualną”

  3. W zakładce „Sprzęt” kliknij „Dysk twardy”. Po prawej stronie zobaczysz przycisk o nazwie „Narzędzia”. Kliknięcie tego przycisku spowoduje wyświetlenie menu rozwijanego. Wybierz „defragmentuj”.

Mam system operacyjny Ubuntu 12.04 Guest i muszę powiedzieć, że po defragmentacji nie zauważyłem żadnej różnicy w wydajności.

Yash
źródło
Ubuntu domyślnie używa ext4, który normalnie nie fragmentuje, więc nie ma potrzeby de-fragowania ext3 / 4, i nie będziesz dążył do żadnej korzyści, jeśli to zrobisz, fizycznie lub w virty
Rqomey
-2

Mimo że Windows XP działa w VMWare Player, utrzymanie tego systemu operacyjnego powinno być przeprowadzone tak samo, aby uzyskać najlepszą wydajność.

Nawet jeśli zdefragmentowałeś VM HD, musisz również upewnić się, że plik VHD jest w pełni zdefragmentowany w systemie operacyjnym hosta, w przeciwnym razie nie będzie to miało najlepszego efektu.

Skelly1983
źródło
2
To jest źle; przeczytaj pozostałe odpowiedzi, aby dowiedzieć się, dlaczego.
HopelessN00b,