Dlaczego rzadki dysk wirtualny po przywróceniu kopii zapasowej zajmuje pełny rozmiar?

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.

Dysk wirtualny alokowany dynamicznie staje się w pełni przydzielony, gdy proces przywracania zapisuje obszary wypełnione zerami jako rzeczywiste bloki albo odtwarza obraz w formacie stałym.

Obrazy Sparse VHD, VHDX, raw i QCOW2 mogą zgłaszać dużą pojemność logiczną, zajmując miejsce tylko dla przydzielonych obszarów. Kopia zapasowa może idealnie zachować zawartość pliku, a jednocześnie utracić mapę dziur, nieprzydzielonych klastrów, stan odrzucania bloków lub metadane cienkiego przydzielania. Przywrócony system gościa może uruchamiać się normalnie, mimo że plik na hoście zajmuje teraz cały swój wirtualny rozmiar. Przed kompaktowaniem lub konwersją jedynej przywróconej kopii sprawdź format i sposób alokacji.

Porównaj rozmiar logiczny z rzeczywiście przydzielonym miejscem

Zapisz format obrazu, rozmiar wirtualny, pozorny rozmiar pliku, liczbę przydzielonych bloków na hoście, docelowy system plików oraz informację, czy przywrócony obraz jest oznaczony jako sparse lub preallocated.

Firma Microsoft wyjaśnia, że pliki sparse zwracają zera dla nieprzydzielonych obszarów, zachowując jednocześnie większy nominalny rozmiar pliku, dlatego rozmiar wirtualny i fizyczne zużycie miejsca należy mierzyć osobno.

Użyj narzędzia uwzględniającego alokację zamiast polegać wyłącznie na przeglądarce plików. Jeśli rozmiar wirtualny i przydzielony są teraz równe, proces przywracania prawdopodobnie zmaterializował dziury albo wybrano format stały.

Sprawdź, czy kopia zapasowa zachowała dziury sparse

Przejrzyj opcje zadania kopii zapasowej dotyczące kopiowania plików, kopiowania bloków, archiwizacji, kompresji i plików sparse. Ustal, czy zapisano przydzielone zakresy, czy odczytano cały dysk logiczny jako ciągły strumień bajtów.

Dokumentacja GNU Coreutils wskazuje, że narzędzia kopiujące muszą odtworzyć dziury sparse w miejscu docelowym; w przeciwnym razie długie sekwencje zer mogą zostać zapisane jako zwykłe przydzielone bloki.

Poprawność zawartości przywróconego obrazu nie dowodzi zachowania metadanych alokacji. Porównaj mały obraz testowy ze znanymi dziurami, korzystając z tej samej ścieżki tworzenia i przywracania kopii zapasowej.

Sprawdź, czy konwersja obrazu nie wyłączyła funkcji sparse

Przeanalizuj każdy etap konwersji między obiektem kopii zapasowej a przywróconym obrazem. Zapisz format wejściowy, format wyjściowy, opcję preallocation, próg sparse oraz informację, czy użyto funkcji copy offload.

QEMU informuje, że konwersja qemu-img może wykrywać sektory zerowe i pomijać ich zapis, natomiast próg sparse równy zero lub nieobsługiwana ścieżka copy offload może utworzyć w pełni przydzielony obraz docelowy.

Nigdy nie konwertuj ponownie obrazu, gdy jego maszyna wirtualna jest uruchomiona. Pracuj na zweryfikowanej kopii i porównaj zawartość dysku wirtualnego przed zastąpieniem przywróconego obrazu.

-15% OFF

Sprawdź, czy docelowy system plików obsługuje pliki sparse

Sprawdź obsługę plików sparse w docelowym systemie plików NAS oraz na każdym pośrednim woluminie tymczasowym. Przywracanie zapisane najpierw w niezgodnym systemie plików może utracić dziury, zanim obraz trafi do pamięci końcowej.

Cienka alokacja zależy zarówno od właściwości przydzielania obiektu pamięci, jak i od jego rozmiaru logicznego. Miejsce docelowe może obsługiwać duże pliki, a mimo to przywrócić obraz jako w pełni przydzielony obiekt, jeśli aplikacja kopii zapasowej nie odtworzy dziur.

Jeśli system plików tymczasowego lub docelowego miejsca nie może zachować dziur, plik może stać się w pełni przydzielony, zanim trafi do końcowego magazynu maszyn wirtualnych. Najpierw przetestuj obsługę sparse na obrazie przeznaczonym do usunięcia.

Oddziel format przywracania stałego od wolnego miejsca w systemie gościa

Ustal, czy przywrócony dysk to raw preallocated, raw sparse, fixed VHD, dynamic VHDX czy QCOW2. Wolne miejsce w systemie gościa nie zamienia się automatycznie w dziurę po stronie hosta.

Firma Red Hat rozróżnia dyski wirtualne preallocated i sparse: dyski preallocated natychmiast rezerwują pełny rozmiar, natomiast dyski sparse przydzielają miejsce w miarę zapisywania danych.

Jeśli cel przywracania był celowo stały, pełna alokacja jest oczekiwanym rezultatem, a nie oznaką uszkodzenia. Zdecyduj, czy kompromis między wydajnością a pojemnością uzasadnia konwersję z powrotem do formatu cienkiego.

Odzyskaj miejsce wypełnione zerami za pomocą obsługiwanej metody offline

Wyłącz maszynę wirtualną, potwierdź istnienie oddzielnej kopii zapasowej i ustal, czy usunięte bloki systemu gościa zostały wyzerowane lub odrzucone. Wolne miejsce systemu plików gościa może nadal zawierać stare dane różne od zera.

Przebieg pracy virt-sparsify firmy Red Hat zamienia rozpoznane wolne miejsce na obszary sparse po stronie hosta i ostrzega przed działaniem na aktywnych obrazach dysków.

Kompaktowanie wykonuj wyłącznie na zduplikowanym obrazie, następnie sprawdź system plików gościa i zachowaj oryginalny przywrócony obraz do czasu pomyślnego zakończenia testów na poziomie aplikacji.

Sprawdź działanie preallocation i zwalniania zakresów

Sprawdź, czy aplikacja przywracająca wstępnie przydzieliła miejsce docelowe ze względów niezawodności lub wydajności oraz czy miejsce docelowe obsługuje późniejsze zwalnianie zakresów.

Interfejs fallocate w systemie Linux rozróżnia przydzielanie rzeczywistych bloków od zwalniania dziur, pokazując, dlaczego zapisywanie zer i zwalnianie miejsca nie są tą samą operacją.

Nie zwalniaj bezpośrednio dziur w nieznanym formacie dysku wirtualnego. Użyj hypervisora lub narzędzia do obsługi obrazów, które rozumie jego metadane i układ klastrów.

Zweryfikuj przywrócony dysk przed jego zastąpieniem

Uruchom skompaktowaną kopię w izolacji, sprawdź systemy plików, aplikacje, migawki i wolne miejsce systemu gościa, a następnie porównaj skróty wybranych plików oraz zgłaszaną strukturę dysku wirtualnego.

lista kontrolna odzyskiwania serwera domowego ZimaSpace zawiera powiązany wymóg potwierdzenia odzyskania pamięci i aplikacji przed usunięciem poprzedniej kopii.

Problem jest rozwiązany, gdy przywrócony dysk zachowuje zamierzony format cienki, przydzielone miejsce na hoście odzwierciedla rzeczywistą ilość danych gościa, a maszyna wirtualna pomyślnie przechodzi weryfikację uruchamiania, obciążenia, kopii zapasowej i przywracania. Zachowaj w pełni przydzielony obraz, jeśli konwersja powoduje błędy lub platforma wymaga alokacji stałej.

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.