Jak sprawdzić, czy zamrożenie kopii zapasowej maszyny wirtualnej wynika z operacji wejścia/wyjścia systemu gościa, czy z pamięci masowej hosta

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Skoreluj moment zamrożenia agenta gościa z opóźnieniem magazynu danych hosta; zamrożenie przed wystąpieniem przeciążenia hosta wskazuje na problem wewnątrz gościa, natomiast opóźnienie występujące w wielu gościach wskazuje na pamięć masową.

Decyzja ma znaczenie, gdy maszyna wirtualna zatrzymuje się lub przestaje odpowiadać podczas tworzenia kopii zapasowej w trybie migawek. Dwa konkurencyjne stany to opóźnienie wyciszenia gościa, systemu plików lub opróżniania bufora aplikacji oraz opóźnienie magazynu danych hosta, migawki, sieci lub miejsca docelowego kopii zapasowej. Rozpocznij od zapisanej konfiguracji i danych testowych, których utrata nie ma znaczenia, obserwuj jedną ścieżkę naraz i przerwij, jeśli test zwiększa ryzyko utraty danych, problemów z uprawnieniami lub niedostępności.

Oddziel opóźnienie wyciszenia gościa, systemu plików lub opróżniania bufora aplikacji od opóźnienia magazynu danych hosta, migawki, sieci lub miejsca docelowego kopii zapasowej

Zapisz stan środowiska przed wprowadzeniem jakichkolwiek zmian: wersje oprogramowania i oprogramowania układowego, tożsamości urządzeń, ścieżkę montowania lub sieciową, wolne miejsce, uprawnienia oraz obserwowany objaw. Wartość bazowa musi zachować wystarczająco dużo szczegółów, aby odtworzyć sytuację, w której maszyna wirtualna zatrzymuje się lub przestaje odpowiadać podczas tworzenia kopii zapasowej w trybie migawek.

Pierwszą możliwością jest opóźnienie wyciszenia gościa, systemu plików lub opróżniania bufora aplikacji. Drugą jest opóźnienie magazynu danych hosta, migawki, sieci lub miejsca docelowego kopii zapasowej. Bieżące zachowanie Proxmox vzdump określa mechanizm lub granicę polecenia używaną w teście; nie zastępuje obserwacji z tego konkretnego serwera domowego.

Zapisz warunek akceptacji i warunek przerwania przed uruchomieniem testu rozróżniającego. Test zakończony powodzeniem musi zmienić dowody przewidywane przez jedną ze ścieżek, pozostawiając niepowiązane usługi bez zmian; test zakończony niepowodzeniem musi przywrócić system do zapisanego stanu zamiast uruchamiać serię spekulatywnych poprawek.

Uruchom jeden kontrolowany test rozróżniający

Zastosuj następujący test rozróżniający: rejestruj znaczniki czasu zdarzeń zamrożenia i odmrożenia, opóźnienie dysku gościa, opóźnienie pamięci masowej hosta oraz inne zachowania maszyny wirtualnej podczas jednej kontrolowanej kopii zapasowej. Zachowaj stałe obciążenie, klienta, ścieżkę, zestaw plików i czas, aby wynik można było przypisać zmiennej, która uległa zmianie.

Użyj stanu agenta gościa QEMU, aby wybrać pole, które rzeczywiście może rozdzielić te ścieżki, a następnie przechwyć jego znacznik czasu, kod wyjścia, tekst błędu, tożsamość urządzenia lub migawki, opóźnienie, liczbę przesłanych bajtów, uprawnienia i stan odzyskiwania. Pomyślne zakończenie polecenia nie wystarcza, gdy testowane twierdzenie dotyczy tożsamości, trwałości lub stanu aplikacji.

Powtórz test raz po ponownym uruchomieniu, ponownym połączeniu, ponownym zamontowaniu lub wyczyszczeniu pamięci podręcznej, jeśli takie zdarzenie jest częścią pierwotnego warunku. Jeśli pierwszy przebieg jest destrukcyjny lub środowiska nie można przywrócić, przerwij i odtwórz test na kopii testowej.

journalctl -u qemu-guest-agent
pvesh get /nodes/NODE/status
# skoreluj znaczniki czasu z opóźnieniem magazynu danych

Zinterpretuj, którą ścieżkę potwierdzają dowody

WYNIK POZYTYWNY: jeden gość zamraża się, podczas gdy host pozostaje sprawny, albo wiele gości zwalnia przy rosnącym obciążeniu kolejki i opóźnieniu hosta. Zapisz dokładną wersję, tożsamość i obciążenie, przy których test zakończył się powodzeniem, aby wniosek pozostał warunkowy, a nie stał się twierdzeniem uniwersalnym.

WYNIK NEGATYWNY: przepustowość kopii zapasowej i metadane migawki mogą powodować oba sygnały, dlatego powtórz test z wyłączonym wyciszaniem wyłącznie na stanie testowym. Wynik negatywny nie dowodzi automatycznie przeciwnej ścieżki, gdy na obie mogą wpływać sieć, pamięć, uprawnienia lub spójność źródła; przed eskalacją odizoluj te współdzielone zależności.

WYJĄTEK LUB NIEJEDNOZNACZNY WYNIK: przywróć poprzedni tryb kopii zapasowej i odmroź gościa przed zmianą ustawień pamięci masowej lub agenta. Zachowaj dzienniki i nie uruchamiaj poleceń naprawy, czyszczenia, usuwania, partycjonowania ani rekurencyjnej zmiany właściciela, dopóki nie będzie istnieć możliwa do odzyskania kopia.

-15% OFF

Zastosuj dopasowane działanie i odtwórz pierwotną awarię

Zastosuj działanie dopasowane do zaobserwowanej ścieżki, a następnie odtwórz pierwotny warunek zamiast jego uproszczonego odpowiednika. Wniosek jest wiarygodny tylko wtedy, gdy jeden gość zamraża się, podczas gdy host pozostaje sprawny, albo wiele gości zwalnia przy rosnącym obciążeniu kolejki i opóźnieniu hosta przez dwa cykle lub podczas odpowiedniego ponownego uruchomienia, uśpienia, przerwania albo przejścia obciążenia.

Użyj trybów kopii zapasowych Proxmox, aby sprawdzić najbliższy zależny proces, ale zachowaj niezmieniony pierwotny wyzwalacz. Niepowiązane zestawy danych, udziały, kontenery, użytkownicy i punkty odzyskiwania muszą zachować wcześniejszy dostęp i czas działania.

Granica przerwania jest jednoznaczna: jeśli przepustowość kopii zapasowej i metadane migawki mogą powodować oba sygnały, powtórz test z wyłączonym wyciszaniem wyłącznie na stanie testowym, wróć do ostatniej zweryfikowanej konfiguracji, zachowaj dowody i eskaluj do dokładniejszego testu platformy lub sprzętu tylko wtedy, gdy ścieżka jest powtarzalna.

Po uzyskaniu docelowego wyniku porównaj go z zależnościami wyłączania, aby poprawka nie przeniosła ryzyka do sąsiedniej usługi. Pomyślny test docelowy z nową awarią kopii zapasowej, tożsamości, limitu czasu lub dostępności nadal oznacza nieudaną zmianę.

FAQ

W przypadku diagnozowania zamrożenia maszyny wirtualnej podczas tworzenia kopii zapasowej najczęstsze dodatkowe pytania dotyczą tego, czy wyłączenie zamrażania gościa dowodzi winy agenta, dlaczego wszystkie maszyny wirtualne zatrzymują się podczas jednej kopii zapasowej oraz kiedy należy użyć trybu zatrzymania. Poniższe odpowiedzi oddzielają te przypadki brzegowe od głównej decyzji.

Granica akceptacji nie zmienia się: jeden gość zamraża się, podczas gdy host pozostaje sprawny, albo wiele gości zwalnia przy rosnącym obciążeniu kolejki i opóźnieniu hosta. Jeśli kolejny warunek zmieni system plików, tożsamość, ścieżkę sieciową lub wersję aplikacji, powtórz tylko test rozróżniający, którego dotyczy ta zmiana.

Przerwij rozszerzanie eksperymentu, gdy przepustowość kopii zapasowej i metadane migawki mogą powodować oba sygnały, i powtórz test z wyłączonym wyciszaniem wyłącznie na stanie testowym. Wtedy przywróć poprzedni tryb kopii zapasowej i odmroź gościa przed zmianą ustawień pamięci masowej lub agenta; zachowaj dowody przed przekazaniem sprawy właścicielowi platformy, pamięci masowej lub sprzętu.

Czy wyłączenie zamrażania gościa dowodzi, że winę ponosi agent?

Izoluje ścieżkę wyciszania, ale może zmniejszyć spójność aplikacji; używaj go wyłącznie jako kontrolowanego testu.

Dlaczego wszystkie maszyny wirtualne zatrzymują się podczas jednej kopii zapasowej?

Kolejka pamięci masowej hosta, metadane migawki lub przepustowość kopii zapasowej mogą wpływać na współdzielony magazyn danych.

Kiedy należy używać trybu zatrzymania?

Gdy wymagane jest prawidłowe wyłączenie, a związany z nim czas niedostępności mieści się w celu odzyskiwania.

Diagnoza jest zakończona, gdy to samo obciążenie powoduje, że dowody wskazują na opóźnienie wyciszenia gościa, systemu plików lub opróżniania bufora aplikacji albo na opóźnienie magazynu danych hosta, migawki, sieci lub miejsca docelowego kopii zapasowej, a dopasowane działanie usuwa pierwotny objaw bez tworzenia kolejnego. Jeśli żadna ścieżka nie pozostaje powtarzalna, zachowaj nienaruszone dzienniki i zapisany stan; niepewność jest powodem do eskalacji, a nie do nakładania kolejnych poprawek.

Wsparcie i wskazówki

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.