| Termin | Definicja |
|---|---|
| VHD_ALLOCATION_TIMEOUT | VHD_ALLOCATION_TIMEOUT sygnalizuje przekroczenie limitu czasu podczas alokowania miejsca dla dynamicznie rozszerzającego się dysku VHD — dotyczy zwykle wolnego nośnika hostującego plik wirtualnego dysku. VHD_ALLOCATION_TIMEOUT — co oznacza ten komunikatVHD_ALLOCATION_TIMEOUT oznacza, że system nie zdołał na czas przydzielić dodatkowego miejsca dla wirtualnego dysku VHD. Dotyczy to przede wszystkim dysków dynamicznych, których plik nie ma od początku rozmiaru odpowiadającego całej zadeklarowanej pojemności. Taki plik powiększa się dopiero wtedy, gdy system gościa zapisuje nowe dane, tworzy kolejne pliki albo wykonuje operacje wymagające zwiększenia zajętej przestrzeni. Sam komunikat nie musi oznaczać uszkodzenia obrazu VHD. Informuje raczej o tym, że operacja rozszerzenia pliku trwała dłużej, niż pozwalał na to określony limit czasu, albo została zablokowana przez warunki panujące na nośniku. Przyczyną może być bardzo mała ilość wolnego miejsca, niska wydajność dysku, duże obciążenie operacjami wejścia i wyjścia, błędy systemu plików lub równoczesne zadania związane z kopiowaniem, tworzeniem migawki i archiwizacją. Problem może pojawić się zarówno przy uruchamianiu maszyny wirtualnej, jak i podczas instalowania programu, aktualizacji systemu gościa czy zapisywania większych plików. W niektórych sytuacjach system zgłasza błąd dopiero po pewnym czasie, ponieważ początkowo zapis przebiega prawidłowo, a opóźnienie występuje dopiero w chwili przekroczenia aktualnie przydzielonego obszaru pliku VHD. Jak działa dynamiczny VHD i skąd bierze się przekroczenie czasuWirtualny dysk VHD jest plikiem reprezentującym nośnik widoczny dla systemu operacyjnego działającego w maszynie wirtualnej. W przypadku wariantu dynamicznego rozmiar pliku na fizycznym dysku zwiększa się stopniowo. System gościa może widzieć znacznie większą pojemność logiczną, niż wynikałoby to z bieżącego rozmiaru pliku przechowywanego na nośniku fizycznym. Każda próba zapisania danych poza dotychczas przydzielonym obszarem wymaga wykonania dodatkowych czynności. Warstwa wirtualizacji musi rozpoznać zakres zapisu, zarezerwować miejsce w systemie plików, powiększyć plik VHD i dopiero wtedy przekazać operację do systemu gościa. Jeżeli fizyczny dysk jest zajęty, pofragmentowany albo pracuje na granicy możliwości, czas potrzebny na taką sekwencję może znacząco wzrosnąć. Istotna jest różnica między wolnym miejscem widocznym wewnątrz systemu gościa a wolnym miejscem na fizycznym nośniku. System gościa może wskazywać dużą ilość dostępnej przestrzeni, lecz plik VHD może nie mieć już gdzie się powiększyć na dysku, na którym jest przechowywany. Odwrotna sytuacja także jest możliwa: fizyczny nośnik ma wolne miejsce, ale partycja wewnątrz VHD jest zapełniona albo struktura systemu plików nie pozwala na sprawny zapis. Znaczenie ma również typ nośnika oraz sposób jego używania. Wolny dysk talerzowy, pamięć masowa obsługująca wiele równoczesnych operacji lub nośnik z aktywnymi zadaniami konserwacyjnymi może powodować długie kolejki zapisu. Opóźnienia mogą się nasilać podczas skanowania antywirusowego, indeksowania, synchronizacji danych, kompresowania kopii lub pracy kilku maszyn wirtualnych jednocześnie. Warto pamiętać, że dynamiczny VHD nie odzyskuje automatycznie całego fizycznego miejsca po usunięciu danych z systemu gościa. Usunięcie plików może zwolnić przestrzeń logiczną wewnątrz wirtualnego dysku, ale rozmiar samego pliku VHD często pozostaje bez zmian. Jeżeli plik urósł do dużego rozmiaru, późniejsze operacje mogą wymagać dalszego powiększania, nawet gdy użytkownik uważa, że wewnątrz systemu gościa jest jeszcze dużo miejsca. Typowe przyczyny i objawy VHD_ALLOCATION_TIMEOUTJedną z najczęstszych przyczyn jest niewystarczająca przestrzeń na fizycznym woluminie. Nie chodzi wyłącznie o brak miejsca odpowiadającego wielkości zapisywanych danych. System plików potrzebuje także obszaru roboczego, a przy powiększaniu dużego pliku mogą wystąpić dodatkowe operacje metadanych. Pozostawienie jedynie niewielkiego zapasu może więc prowadzić do opóźnień, błędów zapisu albo niestabilnej pracy maszyny wirtualnej. Drugą grupę przyczyn stanowią problemy z wydajnością lub stanem nośnika. Nadmierna liczba błędów odczytu i zapisu, zużycie pamięci flash, opóźnienia kontrolera, uszkodzone sektory oraz przeciążenie interfejsu mogą wydłużać alokowanie nowych bloków. W takiej sytuacji komunikat o przekroczeniu czasu może być objawem szerszego problemu z przechowywaniem danych, a nie pojedynczej usterki pliku VHD. Znaczenie mają także blokady pliku. Plik VHD może być używany przez maszynę wirtualną, proces tworzący kopię zapasową, narzędzie migawkowe albo program zabezpieczający. Jeżeli kilka procesów próbuje modyfikować ten sam obraz lub odczytywać go w sposób powodujący długotrwałe blokowanie, rozszerzenie może nie zakończyć się w wymaganym czasie. Do podobnego efektu może doprowadzić niespójność systemu plików hosta. Błędne wpisy katalogowe, problemy z uprawnieniami, nieprawidłowe zamknięcie systemu albo nagła utrata zasilania mogą utrudniać powiększanie pliku. Warto również sprawdzić, czy lokalizacja obrazu VHD jest dostępna przez cały czas, szczególnie gdy plik znajduje się na zasobie sieciowym lub nośniku podłączanym okresowo. Objawy mogą obejmować zatrzymanie uruchamiania maszyny wirtualnej, bardzo wolne logowanie, zawieszanie programów, nieudane instalacje oraz komunikaty o braku miejsca, mimo że system gościa pokazuje wolną przestrzeń. Czasem pojawiają się również błędy aplikacji działających w środowisku wirtualnym, ponieważ zapis pliku został przerwany w trakcie powiększania obrazu. Przed wykonaniem naprawy nie powinno się wielokrotnie uruchamiać operacji zapisu ani ręcznie przenosić obrazu bez zachowania jego kopii. Należy najpierw ustalić, czy plik jest aktualnie używany, sprawdzić dostępne miejsce, przeanalizować stan fizycznego dysku i zweryfikować, czy istnieje poprawna kopia danych. Pochopne zmniejszanie albo konwersja VHD bez rozpoznania sytuacji może zwiększyć ryzyko utraty spójności obrazu. Kiedy najlepiej przekazać urządzenie do naprawy - VHD_ALLOCATION_TIMEOUTDo serwisu warto zgłosić się wtedy, gdy VHD_ALLOCATION_TIMEOUT powtarza się mimo zwolnienia miejsca, błąd pojawia się przy każdym uruchomieniu maszyny wirtualnej albo obraz zawiera ważne dane, których nie można bezpiecznie odtworzyć z kopii. Szczególnej ostrożności wymaga sytuacja, w której występują jednocześnie komunikaty o błędach nośnika, znikające pliki, samoczynne rozłączanie dysku lub wyraźne spowolnienie całego systemu. Diagnostyka powinna objąć plik VHD, wolumin, na którym jest przechowywany, stan systemu plików, dostępne miejsce oraz procesy korzystające z obrazu. W zależności od wyniku może być potrzebne zabezpieczenie kopii, sprawdzenie logów, kontrola integralności, przeniesienie obrazu na sprawny nośnik albo odtworzenie środowiska z poprawnego archiwum. Nie każda naprawa polega na samym zwiększeniu limitu lub zmianie ustawień maszyny wirtualnej. Jeżeli nie ma pewności, czy problem wynika z braku miejsca, uszkodzenia nośnika, blokady pliku czy niespójności obrazu, można przekazać sprzęt do Warszawskiego Pogotowia Komputerowego 24/7, gdzie przyjmuje się zgłoszenia dotyczące diagnostyki i napraw komputerów. Do czasu ustalenia przyczyny warto ograniczyć zapisy do problematycznego środowiska, nie usuwać plików pomocniczych tworzonych przez oprogramowanie wirtualizacyjne i nie kasować obrazu VHD. Jeżeli maszyna nadal działa, najbezpieczniej jest zamknąć ją zgodnie z procedurą systemu gościa, a następnie zachować kopię pliku przed przeprowadzaniem konwersji, kompaktowania lub przenoszenia. |