
Kopia zapasowa VMM na Dysku Google: zaplanowany eksport, synchronizacja w chmurze i jeden skrypt zmiany nazwy
12 minut czytania
- Wyświetl jako Markdown Otwórz tę stronę jako zwykły Markdown (otwiera się w nowej karcie)
- Otwórz w czacie GPT Zadaj pytanie dotyczące tej strony (otwiera się w nowej karcie)
- Otwórz w Claude Zadaj pytanie dotyczące tej strony (otwiera się w nowej karcie)
- Otwórz w Google AI Studio Zadaj pytanie dotyczące tej strony (wymagane konto Google) (otwiera się w nowej karcie)
Kopia zapasowa VMM, która znajduje się tylko na tym samym serwerze NAS co maszyna wirtualna, nie jest prawdziwą kopią zapasową. Jeśli ten serwer ulegnie awarii, obie kopie zostaną usunięte. Ten magazyn działa jako gość Virtual DSM w serwerach Synology i Virtual Machine Manager, a nasza zewnętrzna kopia zapasowa VMM jest tworzona z dwóch darmowych narzędzi dołączonych do DSM: zaplanowanego eksportu w Virtual Machine Manager oraz synchronizacji z chmurą i Dyskiem Google. Konfiguracja zajęła jedno popołudnie. Znalezienie przyczyny cichego zatrzymania działania zajęło więcej czasu i to właśnie jest powodem powstania tego artykułu „Hosting NAS 101”. Poniżej znajduje się opis konfiguracji, która działa, jedyny błąd w nazwie pliku, który go psuje, krótki skrypt, który go naprawia, oraz wyniki audytu naszych własnych eksportów.
Punkt SynoPower Club: Każdy inżynier wsparcia ma historię o kliencie, którego kopie zapasowe działały bez zarzutu przez rok i niczego nie przywróciły. Nie spodziewałem się, że napiszę o naszym własnym. Nasze zadanie tworzenia kopii zapasowej w VMM wyglądało w interfejsie idealnie, a jednak jeden host zgromadził terabajt eksportów, których nigdy nie udało mu się wyczyścić, a drugi nie wygenerował ani jednego pliku przez trzynaście dni. Nic nie było ukryte. Wszystko znajdowało się w logu, którego nikt nie czyta. Naprawa zajęła godzinę; lekcja jest taka, że należy sprawdzać, czy pliki rzeczywiście znajdują się tam, gdzie się ich spodziewamy, zgodnie z harmonogramem, jak w każdym innym zadaniu.
Czego potrzebuje kompletna kopia zapasowa VMM #
Virtual Machine Manager zapewnia trzy warstwy ochrony, z których każda obejmuje inną awarię. Solidny plan tworzenia kopii zapasowych VMM obejmuje więcej niż jedną.
| Warstwa | Gdzie mieszka kopia | Przed czym chroni |
|---|---|---|
| Migawki | Taka sama głośność jak u gościa | Zła aktualizacja lub błąd w gościu |
| Replikacja (VMM Pro) | Kolejny NAS w klastrze | Awaria serwera NAS, szybkie odzyskanie danych na innym hoście |
| Zaplanowany eksport + synchronizacja w chmurze | Konto w chmurze poza siedzibą firmy | Utrata całej witryny: pożar, kradzież, ransomware w sieci LAN |
Replikujemy już sześciu gości do hosta rezerwowego, jak opisano w naszym opisie klaster maszyn wirtualnych Synology z trzema węzłami. Replikacja przechowuje kopię w budynku. Warstwa eksportowa przechowuje kopię poza nim.
Jak działa zaplanowany eksport VMM #
W przypadku kopii zapasowej VMM, zaplanowany eksport zapisuje pełną kopię gościa, dysków i konfiguracji w postaci pojedynczego pliku OVA w folderze współdzielonym. Użytkownik wybiera folder docelowy, tryb eksportu, harmonogram dzienny, tygodniowy lub miesięczny oraz liczbę najnowszych plików do zachowania. Eksporty są wykonywane podczas działania gościa.
Dwie zasady łatwo przeoczyć. Po pierwsze, eksport jest konfigurowany i zapisywany na hoście, na którym znajduje się host gościa. składowanie W klastrze gość może działać na jednym serwerze NAS, podczas gdy jego dyski znajdują się na innym, a Virtual Machine Manager blokuje opcję zaplanowanego eksportu na niewłaściwym hoście. Po drugie, harmonogram korzysta z zegara tego hosta pamięci masowej.

Okno dialogowe pokazuje również stan spójności. Bez zainstalowanego narzędzia gościa Synology, eksporty są spójne w przypadku awarii, tak jak po odłączeniu przewodu zasilającego. Jest to wystarczające dla większości obciążeń, a instalacja narzędzia gościa aktualizuje je do stanu spójności systemu plików.
Dlaczego Cloud Sync pomija pliki kopii zapasowej VMM #
Oczywistym kolejnym krokiem jest wskazanie Cloud Sync folderu eksportu i pozwolenie mu na przesłanie wszystkiego na Dysk Google. Zrobiliśmy dokładnie to, a pliki kopii zapasowej VMM nigdy nie dotarły.
Powodem jest nazwa pliku. Virtual Machine Manager nadaje każdemu eksportowi nazwę ze znacznikiem czasu zawierającym dwukropki:
exp_web-2026-09-25 10:29:51-6f713905-cee2-4647-94d5-a5ce6fbdc585.ova
Cloud Sync nie przesłał tych nazw na nasz Dysk Google, więc każdy eksport pozostał lokalny. Plik jest prawidłowy, ale problem tkwi w znaku. Ponieważ formatu znacznika czasu eksportu nie można zmienić w Virtual Machine Manager, poprawka musi zostać wprowadzona między eksportem a przesłaniem.
Co ciekawe, tylko zaplanowane eksporty mają znacznik czasu. Ręczny eksport z tego samego menu jest zapisywany po prostu jako nazwa gościa, np. spc_4C8G.ova, a Cloud Sync przesyła je bezproblemowo. Dlatego szybki test ręczny może sprawić, że cały łańcuch będzie wyglądał dobrze, podczas gdy harmonogram nocny nigdy nie trafi do chmury.
Konfigurowanie kopii zapasowej VMM na Dysku Google w 4 krokach #
To jest działająca konfiguracja kopii zapasowej VMM na każdym hoście przechowującym gości. Wymaga Virtual Machine Manager, synchronizacji z chmurą i konta Google; żaden z tych elementów nie wymaga VMM Pro.
Zaplanuj eksport #
Na hoście, na którym przechowywany jest gość, otwórz Virtual Machine Manager, wybierz gościa, wybierz Akcja, Eksport, Zaplanowane, wybierz folder współdzielony jako miejsce docelowe i ustaw czas. Pozostaw ustawienie przechowywania na poziomie liczby kopii, które chcesz zachować lokalnie.
Utwórz zadanie synchronizacji w chmurze #
W usłudze Cloud Sync połącz się z Dyskiem Google i zsynchronizuj folder eksportu współdzielonego z folderem na Dysku. Ustaw kierunek przesyłania zmian lokalnych i zaznacz opcję, aby nie usuwać plików w miejscu docelowym po ich usunięciu w źródle, jeśli chcesz, aby chmura zachowała starsze kopie.
Dodaj skrypt zmiany nazwy #
Zapisz skrypt z tego artykułu na serwerze NAS i utwórz zadanie Harmonogramu zadań, które będzie uruchamiać go jako root co godzinę. Zmienia ono nazwy ukończonych eksportów bez dwukropków i zachowuje najnowsze kopie dla każdego gościa.
Zweryfikuj pierwsze przesłanie #
Po kolejnym eksporcie sprawdź, czy plik o zmienionej nazwie pojawia się w folderze eksportu, czy usługa Cloud Sync oznacza go jako przesłany i czy rozmiar pliku na Dysku Google jest taki sam jak oryginał.

Skrypt zmiany nazwy w naszej kopii zapasowej VMM #
Skrypt jest jedynym niestandardowym elementem łańcucha kopii zapasowych VMM i wykonuje dwie czynności. Zmienia nazwę każdego ukończonego eksportu, zastępując dwukropki myślnikami, i zachowuje tylko najnowsze kopie każdego gościa w folderze eksportu. Dotyczy tylko plików, które nie były zmieniane przez piętnaście minut, więc nigdy nie zmienia nazwy eksportu, który jest nadal zapisywany.
#!/bin/bash # vm-export-cloud.sh - umożliwia przesyłanie eksportów VMM za pomocą Cloud Sync. # # Nazwy eksportów VMM " -RRRR-MM-DD GG:MM:SS- .ova". Cloud Sync nie będzie przesyłać nazw zawierających ":", co oznacza również, że nigdy nie będzie dotykać eksportu #, który jest nadal zapisywany. Po zakończeniu eksportu, zmienia on nazwę w miejsce "#", zastępując ":" znakiem "-", dzięki czemu Cloud Sync go przejmie, a następnie zachowa tylko najnowsze eksporty # z zmienioną nazwą KEEP dla każdego gościa. (Własna retencja VMM nie widzi już plików ze zmienionymi nazwami #, więc retencja odbywa się tutaj). # # Użycie: vm-export-cloud.sh EXPORT_DIR KEEP [--apply] # Bez opcji "--apply" wyświetla tylko to, co by zrobił. set -u DIR=${1:?EXPORT_DIR}; KEEP=${2:?KEEP}; APPLY=${3:-} MIN_AGE_MIN=15 # ukończony eksport jest nietknięty i ma taką długość LOG="$(dirname "$(readlink -f "$0")")/vm-export-cloud.log" say() { echo "$(date '+%F %T') $*"; [ "$APPLY" = "--apply" ] && echo "$(date '+%F %T') $*" >> "$LOG"; } run() { if [ "$APPLY" = "--apply" ]; then "$@"; else echo " (uruchomienie próbne) $*"; fi; } [ -d "$DIR" ] || { powiedz "BŁĄD brak folderu eksportu: $DIR"; wyjście 1; } # 1. zmień nazwę zakończonego eksportu znajdź "$DIR" -maxdepth 1 -type f -name '*:*.ova' -mmin +$MIN_AGE_MIN -print0 | while IFS= read -r -d '' f; wykonaj polecenie if -v fuser >/dev/null 2>&1 && fuser -s "$f" 2>/dev/null; następnie powiedz "pomiń (w użyciu): $(basename "$f")"; kontynuuj fi new="$DIR/$(basename "$f" | tr ':' '-')" powiedz "zmień nazwę: $(basename "$f") -> $(basename "$new")" run mv -n "$f" "$new" done # 2. Zachowaj najnowsze eksporty KEEP o zmienionej nazwie dla każdego gościa (znacznik czasu znajduje się w nazwie) { find "$DIR" -maxdepth 1 -type f -name '*.ova' ! -name '*:*' -printf '%f\n' [ "$APPLY" = "--apply" ] || find "$DIR" -maxdepth 1 -type f -name '*:*.ova' -mmin +$MIN_AGE_MIN -printf '%f\n' | tr ':' '-' } | sort -u | sed -E 's/^(.*)-([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}-[0-9]{2}-[0-9]{2})-.*\.ova$/\1\t\2\t&/' | awk -F'\t' 'NF==3' | sort -t$'\t' -k1,1 -k2,2r | awk -F'\t' -v keep="$KEEP" '{ n[$1]++; if (n[$1] > keep) print $3 }' | while IFS= read -r old; do say "delete (beyond latest $KEEP): $old" run rm -f -- "$DIR/$old" done mówi "done: $(find "$DIR" -maxdepth 1 -name '*.ova' | wc -l) exports in $DIR, $(df -h '$DIR' | awk 'NR==2{print $4" free"}')"
Uruchom go bez ostatniego argumentu. W tym trybie drukuje tylko to, co zostałoby zmienione i usunięte. Gdy wynik będzie wyglądał poprawnie, zaplanuj go z dodatkowym argumentem, który go uruchomi. Nasze zadanie Harmonogramu zadań jest uruchamiane co godzinę jako użytkownik root za pomocą następującego polecenia, jedno zadanie na folder eksportu:
bash /volume1/@vm-export-cloud/vm-export-cloud.sh "/volume3/VM_BK_Export" 3 --apply
Przydatny efekt uboczny reguły dwukropka: Cloud Sync nie może przesłać pliku eksportowego, dopóki skrypt nie zmieni jego nazwy, a skrypt zmienia nazwy tylko gotowych plików. Niedokończone pliki eksportowe nigdy nie docierają do chmury.
Dlaczego skrypt obsługuje przechowywanie kopii zapasowych VMM #
Virtual Machine Manager ma własne ustawienie retencji, które działa poprzez rejestrowanie każdego utworzonego eksportu. Gdy skrypt zmieni nazwę pliku, Virtual Machine Manager przestaje go rozpoznawać i nigdy go nie usunie. Retencja jest więc przenoszona do skryptu, który zlicza kopie na gościa na podstawie znacznika czasu w nazwie.
W przypadku synchronizacji z chmurą jedno pole wyboru decyduje o tym, co dzieje się na Dysku Google. Łatwo je źle odczytać: Nie usuwaj plików w folderze docelowym po ich usunięciu w folderze źródłowym. Pozostaw to pole niezaznaczone, a Dysk Google będzie lustrzanie odzwierciedlał zawartość NAS-a, zachowując te same trzy kopie. Zaznacz je, a chmura będzie przechowywać każdy przesłany eksport, co jest bezpieczniejszym rozwiązaniem w przypadku ransomware, ale będzie rosło, dopóki nie usuniesz go ręcznie.
Co wykazał audyt naszego własnego eksportu #
Przed tą konfiguracją nasza kopia zapasowa VMM działała na obu hostach produkcyjnych przez około miesiąc. Sprawdzanie plików zamiast pulpitu nawigacyjnego wykazało trzy oddzielne błędy.
- Przechowywanie danych zostało po cichu zerwane na jednym hoście. Niewielka baza danych, której Virtual Machine Manager używa do śledzenia eksportów, nie mogła zostać utworzona w folderze eksportu, przez co każde uruchomienie rejestrowało błąd i żaden stary eksport nie został usunięty. Jeden host zgromadził terabajt plików OVA i osiągnął poziom zapełnienia 97%.
- Największy gość wstrzymał eksport. Jego 84-gigabajtowy eksport nie mieścił się już w wolnej przestrzeni, przez co przez trzy dni z rzędu nie reagował na żadne ostrzeżenia, których nie zauważyliśmy.
- Trzy harmonogramy nieprowadzące donikąd. Zmiana ustawień spowodowała, że trzy harmonogramy eksportu pozostały puste w miejscu docelowym. Od tego dnia co minutę rejestrowali nieprawidłową nazwę udziału, ponad 20 000 razy, i nic nie eksportowali, łącznie z harmonogramem dla tego magazynu.
Żadne z tych zdarzeń nie wskazywało na awarię kopii zapasowej VMM podczas normalnego użytkowania. Goście działali, sklep przyjmował zamówienia, a replikacja przechowywała kopię na hoście zapasowym. Warstwa eksportu, jedyna kopia zewnętrzna, po prostu przestała działać. Teraz sprawdzamy foldery eksportu i listę przesyłania danych do Cloud Sync po każdej zmianie harmonogramu.

Planowanie przepustowości i pamięci masowej dla kopii zapasowej VMM #
Każdy eksport kopii zapasowej VMM to pełna kopia, a nie jej fragment, dlatego przed wyborem harmonogramu należy określić ich rozmiar. Rozmiary naszych użytkowników wahają się od 5 GB dla małych witryn internetowych do 84 GB dla witryn partnerskich, a rozmiar eksportu tego sklepu wynosi około 7 GB. Łącznie dla wszystkich użytkowników dzienny harmonogram przesyłania danych przekracza 100 GB.
Dysk Google pozwala każdemu użytkownikowi przesłać 750 GB danych w ciągu 24 godzin, a pliki mogą mieć rozmiar do 5 TB, więc limit rzadko stanowi problem. Problemem jest czas przesyłania i przestrzeń dyskowa w chmurze. Przechowywanie trzech kopii danych każdego gościa w chmurze wymaga trzykrotnie większej dziennej przestrzeni na Dysku, a nawet więcej, jeśli chmura przechowuje każdą kopię. W przypadku dużych, powoli zmieniających się użytkowników cotygodniowy eksport danych jest często wystarczający, zwłaszcza gdy replikacja obejmuje już codzienne odzyskiwanie danych.
Dlaczego tworzymy kopie zapasowe na narzędziach Synology #
Wszystko w tym łańcuchu kopii zapasowych VMM jest dostarczane z DSM. Virtual Machine Manager eksportuje gości, Cloud Sync przesyła ich, Task Scheduler uruchamia skrypt, a te same jednostki NAS przechowują nasze pliki i obsługują magazyn. Nie ma agenta kopii zapasowych do licencjonowania dla każdego gościa ani oddzielnego serwera kopii zapasowych do utrzymania.
Części, za które płacimy, to te, które dodają ochronę między hostami: Licencja VMM Pro do replikacji do pamięci zapasowej i Licencje Virtual DSM dla dodatkowych gości DSM. Jeśli zastanawiasz się, której edycji potrzebujesz, nasze Porównanie Virtual Machine Manager i VMM Pro obejmuje to.
Ograniczenia i zastrzeżenia dotyczące kopii zapasowych VMM #
Eksport to pełna kopia w danym momencie. Bez narzędzia Guest Tool jest on spójny w przypadku awarii, więc bazy danych w gościu odzyskują się tak, jak po awarii zasilania. Przetestuj przywracanie swojego najważniejszego gościa przynajmniej raz.
Przywrócenie kopii zapasowej VMM z chmury oznacza konieczność pobrania całego pliku. Eksport 84 GB zajmuje godziny przy standardowym połączeniu biurowym, więc kopia w chmurze jest przeznaczona na wypadek awarii, a nie codziennych błędów. Migawki i replikacja radzą sobie z nimi znacznie szybciej.
Usługa Cloud Sync może szyfrować pliki przed przesłaniem i zalecamy jej włączenie w przypadku gości, którzy przechowują dane klientów. Hasło szyfrujące należy przechowywać w miejscu niezależnym od chronionego serwera NAS.
Wreszcie, skrypt zmiany nazwy zależy od formatu nazwy eksportu. Jeśli przyszła aktualizacja Virtual Machine Manager go zmieni, skrypt przestanie dopasowywać pliki. Tryb próbny to najszybszy sposób, aby upewnić się, że nadal widzi eksportowane pliki po aktualizacji.
Często zadawane pytania #
Czy do tworzenia kopii zapasowej VMM na Dysku Google potrzebny jest VMM Pro? #
Nie. Zaplanowany eksport jest częścią bezpłatnego pakietu Virtual Machine Manager, a Cloud Sync i Task Scheduler są dostarczane z DSM. Pakiet VMM Pro dodaje replikację między hostami, która stanowi osobną warstwę.
Dlaczego Cloud Sync nie przesyła moich eksportów VMM? #
Virtual Machine Manager umieszcza znacznik czasu z dwukropkami w każdej nazwie eksportu, a Cloud Sync nie przesyła tych nazw na Dysk Google. Zmiana nazwy gotowego pliku bez dwukropków rozwiązuje problem.
Gdzie Virtual Machine Manager zapisuje zaplanowane eksporty? #
W folderze współdzielonym hosta, na którym znajduje się pamięć masowa gościa, a nie hosta, na którym działa gość. Harmonogram można skonfigurować tylko na tym hoście pamięci masowej.
Czy eksport kopii zapasowej VMM jest spójny? #
Bez narzędzia Synology Guest Tool eksport jest spójny z awarią, np. w przypadku nagłej utraty zasilania. Zainstalowanie narzędzia Guest Tool w systemie gościa zapewnia spójność eksportu z systemem plików.
Ile kopii eksportowych powinienem zachować? #
Przechowujemy 3 najnowsze kopie każdego gościa na serwerze NAS. Chmura może je lustrzanym odbiciem lub przechowywać wszystkie kopie, w zależności od wybranej opcji synchronizacji z chmurą.
Czy skrypt będzie przesyłał niedokończone eksporty? #
Nie. Zmieniane są tylko nazwy plików, które nie zostały zmienione przez 15 minut, a usługa Cloud Sync nie może przesłać pliku eksportowego, dopóki jego nazwa nie zostanie zmieniona.
Ile przepustowości wykorzystuje codzienne tworzenie kopii zapasowej VMM? #
Każdy eksport to pełna kopia gościa. Sumuj rozmiary eksportu każdego gościa w dziennym harmonogramie; nasz eksport to ponad 100 GB dziennie, co mieści się w dziennym limicie przesyłania danych na Dysku Google wynoszącym 750 GB.
Czy replikacja jest wystarczająca bez kopii zapasowej VMM poza siedzibą firmy? #
Replikacja chroni przed awarią serwera NAS, ale kopia pozostaje w tym samym budynku. Eksport poza lokalizację chroni przed utratą całej lokalizacji, dlatego te dwie metody najlepiej działają razem.
Odniesienia i przewodniki wideo #
- Maszyna wirtualna w Virtual Machine Manager, artykuł w centrum wiedzy dotyczący eksportu.
- Pomoc dotycząca synchronizacji w chmurze, w tym kierunek synchronizacji i ustawienia zadań.
- Limity miejsca na dane i przesyłania danych w Dysku Google, z dziennym limitem przesyłania danych wynoszącym 750 GB.
- Biała księga Synology VMM, na warstwach ochrony danych dla maszyn wirtualnych.
- Harmonogram zadań w DSM, aby uruchomić skrypt zmiany nazwy jako zadanie zaplanowane.
Filmy na temat narzędzi w tym łańcuchu: Cloud Sync oraz eksportowanie i migrowanie maszyn wirtualnych na serwerze NAS Synology.
Chcesz dodać replikację między hostami do swojej kopii zewnętrznej? Zdobądź Licencja VMM Pro, lub przeczytaj, jak działa reszta tej witryny nasza seria „Podstawy hostingu NAS”.