Archiwum

Archive for the ‘What if..’ Category

pliki VHD

25 kwietnia, 2008 Dodaj komentarz

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.