pliki VHD
What if.. Defragmentacja i kompaktowanie plików VHD on-line ? Znalazłem dziś chwile czasu by nieco przyjrzec się temu zagadnieniu.
Jak to w życiu bywa zdarza się czasem ze coś pojdzie nie tak na jakimś serwerze X, który przypadkiem hostujemy na maszynie Y – Virtual Serwerze R2 SP1. Przykładowy scenariusz w połowie dnia pracy okazuje sie ze jeden z plików VHD urósł z 10GB do 65GB. Rowiązujemy problem usuwamy wygenerowane gigabajty plikow – fajnie. Problem w tym, że plik VHD nadal ma 65GB mimo ze tak naprawde w środku jest pusty oprocz tego cały wirtualny serwerX chodzi zauważalnie wolnej.
Co z tym zrobić żeby chodź część problemów rozwiązać szybciej i jednocześnie nie ryzykująć rozwaleniem pliku VHD, przestojem firmy jak i znacznym spadkiem wydajnośći pozostałych wirtuali. Potrzebne będzie narzędzie contig. Najpierw szybka analiza pliku VHD odpalona rzecz jasna na maszynie Y:
>contig –a c:\vmstore\serwerX.vhd
Summary:
Number of files processed : 1
Average fragmentation : 272 frags/file
Wszystko jasne w miare jak plik rósł zaczął się fragmentować po całym dysku przez to spadła wydajność.
>contig –v c:\vmstore\serwerX.vhd
Polecenie powyżej rozpocznie nam process defragmentacji, nie ma problemu żeby wykonać to w trybie on-line serweraX. Podczas procesu defragmentacji wydajność serweraX jeśli będzie serwerem plików lub SQL znacznie spadnie ale nic złego się nie stanie, pozatym i tak chodził wolno ;) Na koniec otrzymamy coś takiego:
Summary:
Number of files processed : 1
Number of files defragmented: 1
Average fragmentation before: 272 frags/file
Average fragmentation after : 5 frags/file
Po tej operacji serwerX zacznie działać zacznie lepiej, należy jednak pamiętać, że środek pliku VHD nadal będzie pofragmentowany i nadal zajmuje 65GB. Aby uporać się z tym problemem trzeba będzie serwerX niestety wyłączyć.(Próbowałem on-line ale nie dośc, że kompaktowanie nic nie kompaktuje to VHD sie naogół rozwala i system ma tendencje do BSOD) Potem najlepiej zgrać sobie gdzieś (najlepiej na workstacje na której mamy VPC2007 i VS2005) plik VHD żeby nie narażać pozostałych wirtualek na spadek wydajności i tam przeprowadzić operacje kompaktowania:
1. Zdefragmentować serwerX korzystajać z wbudowanego defraga
2. Wyposażyć sie w plik .iso dostępny katalogu VPC Aditions o nazwie: Virtual Disk Precompactor.iso
3. Zamontowac uruchomi się sam i przygotuje plik vhd do kompaktowania, nie trwa to zbyt długo.
4. Zkompaktować plik VHD korzystając z narzędzia z VS2005 dostępnego na stronie administracyjnej (Inspect VHD -> Compact)
5. Wkopiować naprawiony plik VHD tam gdzie by i uruchomić serwerX.
Najnowsze komentarze