Najczęściej używam obrazów dysków o stałej wielkości do wirtualnego pudełka Oracle, ale rozważam przejście na obrazy dysków dynamicznych, ponieważ słyszałem, że obrazy dynamiczne mają podobną wydajność do obrazów o stałej wielkości, z wyjątkiem ekspansji.
Jedną operacją, którą często wykonuję, jest wypełnienie zera obrazu dysku o stałym rozmiarze przed utworzeniem kopii zapasowej za pomocą programu zip (w celu zmniejszenia rozmiaru archiwum zip). Moje pytanie brzmi: czy po napełnieniu dysku dynamicznego zerem rozmiar dysku wzrośnie do maksymalnej deklarowanej wartości? (W moim konkretnym przypadku korzystam sdelete -z
z partycji Windows).
Jedno dodatkowe pytanie brzmi: czy istnieje sposób na zero wypełnienia partycji bez zwiększania rozmiaru dysku?
Dzięki.
-- EDYTOWAĆ --
Aby to wyjaśnić, powód, dla którego pytam, to to, że chcę utrzymać rozmiar skompresowanych obrazów virtualbox na minimalnym poziomie. Wypełnianie zera obrazu o stałym rozmiarze wykonuje zadanie, ponieważ wypełniona zerem część nie przyczynia się prawie nic do skompresowanego obrazu. Jednak jeśli przejdę na dysk dynamiczny, wypełnienie zera wydaje się nie działać w celu wykorzystania obrazów o dynamicznym rozmiarze.
Drugą częścią mojego pytania jest pytanie, czy istnieje lepsza alternatywa niż wypełnianie zera, która może usunąć nieużywane sektory bez zwiększania rozmiaru dysku.
źródło
Odpowiedzi:
Właśnie go przetestowałem (używając
sdelete -z
na maszynie wirtualnej) i zerowe wypełnienie dysku nie zwiększy znacznie dynamicznego obrazu dysku. Virtualbox jest wystarczająco inteligentny, aby rozpoznać, że kiedy piszesz zera w już pustym bloku, dysk nie musi ponownie zapisywać tego bloku.Ale nawet gdyby tak było, nie jest to wcale takie złe, ponieważ wypełnienie zera dysku również pozwoli na jego kompaktowanie za pomocą Narzędzi Virtualbox w twoim hoście: Jak kompaktować rozmiar pliku VDI VirtualBox?
Kiedy zerowałem swoją maszynę wirtualną, zwiększyłem rozmiar obrazu z ~ 14,5 GB do ~ 15,5 GB, ale nie przydzieliłem całkowicie całego miejsca na dysku, które wynosiłoby około 48 GB.
W rzeczywistości zerowe zapełnienie dysku (przez
sdelete -z
) pozwoli ci odpowiednio zwolnić dowolne miejsce, które zostało zapisane, ale zostało zwolnione przez system operacyjny VM, a następnie możesz uruchomić polecenieVBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compact
na komputerze-hoście, aby odpowiednio skompresować dynamiczny obraz dysku z powrotem do minimalnego rozmiaru.źródło
sdelete -z
nie zwiększa dynamicznie rozmiaru dysku.