Napraw błąd VMware: Konieczna konsolidacja dysków maszyny wirtualnej

Komunikat o błędzie „Konieczna konsolidacja dysków maszyny wirtualnej VMware” pojawia się zazwyczaj wtedy, gdy nie udaje się poprawnie połączyć migawek z głównym dyskiem wirtualnym. Problem ten często występuje po niekompletnych kopiach zapasowych, przerwanym usuwaniu migawek lub przy niskim poziomie wolnego miejsca na dysku. Nierozwiązany problem może spowolnić działanie maszyny wirtualnej, a nawet grozić uszkodzeniem danych. Przeczytaj ten wpis na blogu, aby dowiedzieć się, dlaczego pojawia się komunikat o konieczności konsolidacji maszyny wirtualnej i jak bezpiecznie go usunąć.

NAKIVO do tworzenia kopii zapasowej VMware vSphere

NAKIVO do tworzenia kopii zapasowej VMware vSphere

Kompleksowa ochrona danych dla maszyn wirtualnych VMware vSphere oraz opcje natychmiastowego odzyskiwania. Bezpieczne lokalizacje kopii zapasowych na miejscu, zdalnie oraz w chmurze. Funkcje ochrony przed oprogramowaniem wymuszającym okup.

Czym jest konsolidacja dysków VMware?

Konsolidacja dysków wirtualnych to proces łączenia plików dysków wirtualnych utworzonych po wykonaniu Migawki maszyn wirtualnych. Konsolidację dysków można uruchomić na żądanie, aby uniknąć spadku wydajności i innych problemów. Podczas tworzenia migawki generowane są dyski delta, a zmiany zapisywane są na odpowiednim dysku delta (domyślnie na najnowszym dysku delta, dopóki nie zostanie wybrana jedna z poprzednich migawek w celu przywrócenia maszyny wirtualnej). W rezultacie w pamięci masowej maszyny wirtualnej znajdują się zbędne dane, ponieważ każdy dysk delta zawiera wszystkie zmiany wprowadzone w porównaniu z poprzednim stanem dysku delta, a dysk nadrzędny pozostaje niezmieniony.

Gdy łańcuch migawek i powiązanych plików dysków wirtualnych staje się duży, wydajność spada. Podczas konsolidacji dysków VMware dane z dysków delta są scalane w jeden dysk, a w magazynie danych, w którym znajdują się pliki tej maszyny wirtualnej, nie pozostają żadne zbędne dane. Miejsce na dysku jest czyszczone po konsolidacji plików dysków maszyn wirtualnych. Należy pamiętać, że firma VMware zaleca stosowanie nie więcej niż 32 migawek na maszynę wirtualną.

Możliwe przyczyny błędu konsolidacji dysków VMware

Komunikat o błędzie Konieczna jest konsolidacja dysków maszyn wirtualnych VMware jest wyświetlany w zakładce Podsumowanie w oknie Klient VMware vSphere (zrzut ekranu poniżej). Jedną z częstych przyczyn tego komunikatu o błędzie jest nieprawidłowe usunięcie migawki maszyny wirtualnej, co może spowodować pozostawienie plików VMDK związanych z migawkami oraz plików dziennika w magazynie danych (na przykład po wykonaniu operacji Delete All lub Delete dla migawek maszyn wirtualnych).

The virtual machine consolidation needed status error is displayed in vSphere Client

Najczęstsze przyczyny stanu konsolidacja maszyny wirtualnej wymagana :

  • Niewystarczająca ilość miejsca na dysku w magazynie danych VMFS do konsolidacji migawek maszyn wirtualnych i plików dysków wirtualnych. Jeśli w magazynie danych jest mniej niż 1 GB wolnego miejsca, może wystąpić ten błąd.
  • Niska wydajność systemu pamięci masowej podłączonego do hosta ESXi, na którym działa maszyna wirtualna. Jeśli rozmiar migawki jest duży lub nastąpi przekroczenie limitu czasu, konsolidacja migawek może się nie powieść.
  • Problemy z połączeniem między hostem ESXi a vCenter.
  • Pliki migawek są zablokowane przez aplikację innej firmy (na przykład aplikację do tworzenia kopii zapasowych). Może to wystąpić, jeśli aplikacja do tworzenia kopii zapasowych nie zakończyła zadania tworzenia kopii zapasowej i zablokowała migawkę (aplikacje do tworzenia kopii zapasowych mogą tworzyć tymczasową migawkę maszyny wirtualnej podczas wykonywania kopii zapasowej). Aplikacje do tworzenia kopii zapasowej nie są w stanie wyłączyć dysków bez użycia technik migawek w celu utworzenia spójnej kopii zapasowej działającej maszyny wirtualnej.

Zasadniczo należy przywrócić spójność plików dyskowych maszyny wirtualnej.

Jak naprawić błąd konsolidacji dysków VMware?

Aby rozwiązać problem konsolidacji maszyn wirtualnych wymaganej należy kliknąć prawym przyciskiem myszy nazwę maszyny wirtualnej w kliencie VMware vSphere Client, a następnie w wyświetlonym menu kliknąć Snapshots > Consolidate.

VMware snapshot consolidate

Zostanie wyświetlony komunikat potwierdzający:

Ta operacja konsoliduje wszystkie zbędne dzienniki ponownego wykonania na maszynie wirtualnej. Czy na pewno chcesz kontynuować?

Kliknij Yes , aby potwierdzić i skonsolidować pliki dyskowe maszyny wirtualnej.

Note: Jeśli istnieje obawa, że podczas konsolidacji dysków VMware mogą zostać utracone niektóre dane, utwórz Wykonać kopię zapasową maszyn wirtualnych VMware , kopiując wszystkie pliki maszyny wirtualnej do innego folderu w magazynie danych, a następnie wykonaj konsolidację dysków VMware.

Poczekaj, aż konsolidacja dysków VMware zostanie zakończona, a dzienniki zostaną wyczyszczone. Postęp zadania można obserwować w panelu zadań u dołu interfejsu klienta VMware vSphere. Jeśli maszyna wirtualna jest uruchomiona, jej wydajność może ulec pogorszeniu podczas tej operacji. Czas potrzebny do zakończenia tej operacji zależy od rozmiaru maszyny wirtualnej, liczby migawek i obciążenia maszyny wirtualnej.

Po zakończeniu zadania konsolidacji dysków VMware ostrzeżenie powinno zniknąć.

Inne błędy, które mogą wystąpić

Czasami podczas konsolidacji dysków VMware może wystąpić inny błąd i wyświetlany jest następujący komunikat o błędzie:

Nie można uzyskać dostępu do pliku, ponieważ jest on zablokowany. Wystąpił błąd podczas konsolidacji dysków: Nie udało się zablokować pliku. Konsolidacja węzła dyskowego „scsi0:0” nie powiodła się.

Blokady mogą być również tworzone, gdy aplikacje do tworzenia kopii zapasowych używają opcji dodawania dysków na gorąco do kopii zapasowych wykorzystujących migawki. Blokada pliku maszyny wirtualnej ma na celu uniknięcie jednoczesnego zapisu do pliku przez wiele hostów ESXi.

Aby naprawić ten błąd, spróbuj wykonać następujące czynności:

  1. Uruchom ponownie agenty zarządzania na serwerze ESXi, na którym znajduje się maszyna wirtualna. Otwórz Powłoka ESXi lub połącz się z hostem ESXi przez SSH i uruchom polecenie jako root:

    services.sh restart

    Lub

    /etc/init.d/hostd restart

    /etc/init.d/vpxa restart

    Możesz również otworzyć konsolę bezpośrednią ESXi, przejść do Troubleshooting Options i wybrać Restart Management Agents (naciśnij Enter , aby aktywować potrzebną opcję, a następnie naciśnij F11 , aby potwierdzić).

  2. Sprawdź zablokowany plik za pomocą polecenia:

    vmfsfilelockinfo -p /vmfs/volumes/vm_datastore/vm_name/vm_name.vmx

  3. Jeśli chcesz ustalić ścieżkę w magazynie danych, w którym znajdują się pliki maszyny wirtualnej, sprawdź plik dziennika hostd.

    cat /var/log/hostd.log |grep -i vm_name

  4. Przejdź do katalogu maszyny wirtualnej w magazynie danych, gdy znasz lokalizację plików maszyny wirtualnej:

    cd /vmfs/volumes/datastore_name/vm_name

  5. Uruchom polecenie, aby wyświetlić listę hostów ESXi, które blokują pliki maszyny wirtualnej:

    for i in `ls`; do vmfsfilelockinfo -p $i ;done|grep 'is locked in|Host owning the lock|Total time taken' | sed 's|Host owning the lock on file is||g'|sed 's|Total time|---|g' | awk '{print $1}' |uniq

  6. Uruchom ponownie agenty zarządzania ESXi, w tym hostd i vpxa zgodnie z powyższym opisem lub uruchom te polecenia na hoście ESXi blokującym pliki maszyny wirtualnej:

    /etc/init.d/hostd restart

    /etc/init.d/vpxa restart

Inna metoda odblokowania plików maszyny wirtualnej

Alternatywnie możesz spróbować wykonać te kroki, aby naprawić błąd, który wystąpił podczas konsolidacji dysków: Nie udało się zablokować pliku.

  1. Wyłącz maszynę wirtualną.
  2. Utwórz nową migawkę dysku maszyny wirtualnej.
  3. Usuń wszystkie istniejące migawki maszyny wirtualnej. Kliknij prawym przyciskiem myszy nazwę maszyny wirtualnej w vSphere Client, wybierz Snapshots i kliknij Delete All Snapshots.

    VMware delete snapshot

  4. Sklonuj maszynę wirtualną lub przenieś ją na inny host ESXi za pomocą vMotion , jeśli błąd nadal występuje.
  5. Spróbuj ponownie skonsolidować migawki, zgodnie z powyższym opisem. 

Jeśli te działania nie pomogą, spróbuj wyłączyć maszynę wirtualną, otworzyć VM settings, wybrać kartę VM options , a następnie rozwinąć sekcję Advanced i kliknąć Edit Configuration. W oknie Parametry konfiguracyjne kliknij Add Configuration Params. Dodaj parametr asyncConsolidate.forceSync i ustaw go na TRUE.

Czasami status konsolidacja maszyn wirtualnych wymagana może być spowodowany niespójnymi plikami -ctk.vmdk utworzonymi dla zmienione śledzenie bloków (prawdopodobnie przez oprogramowanie do wykonywania kopii zapasowych maszyn wirtualnych). Spróbuj usunąć pliki CTK, ponieważ nie są one potrzebne do konsolidacji migawek. Nie zapomnij wykonać kopii zapasowej plików maszyny wirtualnej przed usunięciem plików CTK. Następnie spróbuj ponownie skonsolidować pliki dyskowe maszyny wirtualnej.

Editing VM configuration parameters

Opcja Konsoliduj jest nieaktywna

Jeśli opcja VMware konsoliduj migawkę jest wyszarzona (nieaktywna), na maszynie wirtualnej może być uruchomione aktywne zadanie. Jeśli pojawi się wykryto nieprawidłową konfigurację migawki błąd, niektóre migawki mogą być uszkodzone lub mogą występować podzielone łańcuchy migawek. W takim przypadku spróbuj wykonać następujące czynności:

  1. Połącz się z serwerem ESXi przez SSH i przejdź do katalogu, w którym znajdują się pliki maszyny wirtualnej w magazynie danych.

    cd vmfs/volumes/DatastoreName/VMFolderName

    Można sprawdzić lokalizację plików maszyny wirtualnej w kliencie VMware vSphere Client oraz znaleźć lokalizację dysków wirtualnych, przeglądając ustawienia maszyny wirtualnej.

  2. Należy ustalić, do jakich migawek dysków odwołują się odnośniki:

    cat VM-name.vmx | grep scsi*

    Należy zapoznać się z wynikami, aby sprawdzić pliki dysków wirtualnych, w tym pliki migawek dysków wirtualnych. Na przykład nazwa pliku dysku wirtualnego jest wyświetlana w danym wierszu. To nie jest migawka:

    scsi 0:0.fileName = „VM-Name.vmdk”

    W wierszu wynikowym wyświetlana jest nazwa pliku migawki dysku wirtualnego i wskazujesz na migawkę:

    scsi 0:0.fileName = „VM-Name-000002.vmdk”

    W konfiguracji maszyny wirtualnej w tym przykładzie używany jest kontroler dysków wirtualnych SCSI.

  3. Poniższe polecenie sprawdza, na co wskazuje każda migawka. Użyj tego polecenia, aby wykryć, która migawka wskazuje na następujący plik dyskowy (plik vmdk migawki lub plik vmdk dysku bazowego) w łańcuchu migawek.

    cat VM-Name-000002.vmdk | grep parentFileNameHint

    Być może będziesz musiał wykonać to polecenie ponownie dla innych plików VMDK (takich jak VM-Name-000001.vmdk w tym przykładzie), aż znajdziesz potrzebny dysk bazowy. Ta metoda pomaga zidentyfikować niespójności.

  4. Jeśli wykryłeś niespójność, na przykład VM-Name-000002.vmdk wskazuje na VM-Name-000001.vmdk, który z kolei wskazuje na VM-Name.vmdk, uruchom vmkfstools w najwyższym punkcie łańcucha migawek dysku ( VM-Name-000002.vmdk w tym przypadku):

    vmkfstools -q -v10 VM-Name-000002.vmdk

    To polecenie próbuje otworzyć i zamknąć wszystkie pliki VMDK w łańcuchu, powiadamiając o miejscach, w których wystąpiły awarie.

Korzystanie z PowerCLI

Jako alternatywę dla konsolidacji dysków VMware w graficznym interfejsie użytkownika VMware vSphere Client można użyć vSphere PowerCLI z interfejsem wiersza poleceń.

  1. Należy połączyć się z serwerem vCenter Server, który zarządza hostem ESXi z maszyną wirtualną o statusie wymagana konsolidacja maszyn wirtualnych . Wprowadź poświadczenia po wyświetleniu monitu.

    Connect-VIServer vcenter01.test.com

  2. Pobierz listę maszyn wirtualnych o statusie wymagana konsolidacja maszyn wirtualnych :

    Get-VM | Where-Object {$ _. Extensiondata.Runtime.ConsolidationNeeded}

  3. Przeprowadź konsolidację dysków VMware.

    Get-VM | Where-Object {$ . Extensiondata.Runtime.ConsolidationNeeded} | foreach {$ . ExtensionData.ConsolidateVMDisks_Task ()}

Dodatkowe zalecenia

W VMware vSphere 7.0 użytkownicy mogą napotkać problem, gdy host zostanie ponownie uruchomiony, a usługa CBT nie uruchomi się. Ręczne uruchomienie usługi może być konieczne za każdym razem. Problem ten został jednak rozwiązany w vSphere 7 U3. Jeśli korzystasz z vSphere 7.0, możesz wypróbować następujące obejście:

  1. Sprawdź, czy moduł CBT jest włączony:

    esxcli system module list --enabled=true | grep cbt

  2. Sprawdź, czy moduł CBT jest załadowany na hoście ESXi:

    esxcli system module list --loaded=true | grep cbt

  3. Załaduj moduł CBT ręcznie:

    vmkload_mod cbt

Jeśli aplikacja do wykonania kopii zapasowej zablokowała pliki maszyny wirtualnej, możesz ponownie uruchomić proces vpx na hoście ESXi, aby pomóc w usunięciu blokady. Spróbuj również odłączyć dyski wirtualne od aplikacji do wykonywania kopii zapasowych maszyn wirtualnych.

Zamiast migracji maszyny wirtualnej możesz wyłączyć maszynę wirtualną i ponownie uruchomić host ESXi. Następnie wyłącz tryb konserwacji hosta, aby zwolnić blokadę i rozwiązać problem.

Wnioski

Stan wymagającej konsolidacji maszyny wirtualnej jest częstym, ale możliwym do rozwiązania problemem w środowiskach VMware. Dzięki zrozumieniu przyczyn błędu i stosowaniu odpowiednich praktyk dotyczących migawek i kopii zapasowych można utrzymać sprawną i wydajną infrastrukturę wirtualną. Należy zawsze weryfikować usuwanie migawek i monitorować dostępną przestrzeń dyskową, aby zapobiec ponownemu wystąpieniu problemu. Regularna konserwacja i proaktywne monitorowanie pomagają zapewnić płynną wydajność maszyn wirtualnych oraz niezawodną ochronę danych.

Wypróbuj NAKIVO Backup & Replication

Wypróbuj NAKIVO Backup & Replication

Skorzystaj z bezpłatnej wersji próbnej, aby zapoznać się ze wszystkimi funkcjami rozwiązania w zakresie ochrony danych. 15 dni za darmo. Bez żadnych ograniczeń dotyczących funkcji ani pojemności. Nie trzeba podawać danych karty kredytowej.

People also read