BackupZit

Darmowa kopia zapasowa Hyper-V: jak robić kopie maszyn wirtualnych Hyper-V

Kompletny poradnik: od hosta Hyper-V do zaplanowanych, szyfrowanych i deduplikowanych kopii wszystkich jego VM — spójnych dzięki VSS, przyrostowych dzięki Resilient Change Tracking, z kopią poza siedzibą i przywracaniem jako nowa VM, w miejscu oryginału lub plik po pliku.

Co skonfigurujesz

BackupZit tworzy kopie maszyn wirtualnych Hyper-V z poziomu agenta na hoście Hyper-V; w maszynach nic się nie instaluje. Goście Windows i Linux działają dalej podczas kopiowania. Konsola webowa planuje zadania, przechowuje historię i uruchamia przywracanie. BackupZit jest darmowy i open source (AGPLv3), bez limitu hostów i VM.

Windows Server ma wbudowane narzędzie Kopia zapasowa systemu Windows Server, które również potrafi kopiować VM Hyper-V na hoście. Dla jednego hosta i lokalnego dysku może wystarczyć. BackupZit ma sens, gdy chcesz zaplanowanych kopii wielu hostów na SFTP, SMB, S3 lub niezmienne repozytorium — z przechowywaniem, szyfrowaniem i deduplikacją, przywracaniem pojedynczych plików z dysków VM — oraz tej samej konsoli dla Proxmoxa, VMware, serwerów fizycznych, baz danych i Microsoft 365.

Czego potrzebujesz

  • Hosta Hyper-V: Windows Server 2016 lub nowszy z rolą Hyper-V albo Windows 10/11 z Hyper-V. W klastrze — każdego hosta.
  • Miejsca na konsolę BackupZit: mała VM z Linuksem, 2 vCPU, 2–4 GB RAM i dysk 16–20 GB. Nie przechowuje danych kopii, więc może działać jako VM na tym samym hoście Hyper-V.
  • Magazynu na kopie poza hostem — na przykład udział SMB na serwerze plików lub NAS, serwer Linux przez SFTP, zasobnik zgodny z S3 albo wzmocnione repozytorium BackupZit. Agent zapisuje do niego bezpośrednio.
  • Sieć: agent łączy się z konsolą na porcie TCP 8443.

Krok 1 — Zainstaluj konsolę

Najszybciej na Hyper-V jest użyć gotowego obrazu VM backupzit-appliance-vhdx.zip ze strony pobierania (Debian, PostgreSQL i konsola, już skonfigurowane):

  1. Rozpakuj backupzit-appliance-vhdx.zip do folderu, w którym trzymasz dyski VM.
  2. W Menedżerze funkcji Hyper-V utwórz VM generacji 1 z 2–4 GB RAM, podłącz ją do przełącznika wirtualnego i wybierz rozpakowany plik VHDX jako istniejący dysk.
  3. Uruchom VM. Na jej ekranie widać adres konsoli webowej i początkowe hasło użytkownika admin. Otwórz https://<adres>:8443, zaloguj się i zmień hasło. Przeglądarka raz ostrzeże o certyfikacie z podpisem własnym.

Na ekranie maszyny możesz zalogować się jako bzadmin i ustawić stały adres, nazwę serwera i strefę czasową (appliance startuje w UTC, a harmonogramy działają w strefie czasowej konsoli). Wolisz istniejący serwer Debian, Ubuntu, AlmaLinux lub Rocky Linux? Jednolinijkowy skrypt instalacyjny ze strony pobierania zrobi tam to samo.

Krok 2 — Dodaj miejsce docelowe

W konsoli otwórz Magazyn i dodaj miejsce docelowe. Typowe wybory w środowisku Windows:

TypDobry do
Udział SMBSerwerów plików Windows, NAS Synology lub QNAP (SMB 2/3).
SFTPDowolnego serwera Linux lub NAS z SSH; klucz hosta serwera jest przypinany.
Zgodny z S3Kopii poza siedzibą: AWS S3, Wasabi, Backblaze B2, MinIO; niezmienne dzięki Object Lock.
Azure Blob StorageKopii poza siedzibą dla firm, które już korzystają z Azure.
Wzmocnione repozytoriumSerwer Linux z backupzit-repo: kopii nie da się usunąć przed końcem okresu niezmienności.

Pozostaw włączone Szyfruj kopie (AES-256) (domyślnie): wszystko jest szyfrowane AES-256 na hoście, zanim go opuści. Konsola pokaże wtedy klucz odzyskiwania — wydrukuj arkusz odzyskiwania albo zapisz klucz w menedżerze haseł, z dala od kopii. Z kluczem, lokalizacją magazynu i jego danymi dostępowymi przywrócisz dane nawet po utracie konsoli.

Krok 3 — Zainstaluj agenta na hoście Hyper-V

  1. W konsoli otwórz Agenci i kliknij Utwórz token rejestracji. Otrzymasz kod rejestracji (BZ1-…) ważny 7 dni, działający dla dowolnej liczby maszyn.
  2. Pobierz Agent Windows (MSI) ze strony Agenci, uruchom go na hoście i wklej kod, gdy instalator o niego poprosi. Dla wielu hostów działa instalacja cicha przez GPO, Intune lub narzędzie RMM:
    msiexec /i backupzit-agent.msi /qn ENROLLCODE="BZ1-..."
    Konsola może też sama zainstalować agenta przez WinRM: Agenci → Zainstaluj na maszynie stąd, z kontem administratora używanym tylko do instalacji i nieprzechowywanym.
  3. W ciągu minuty host pojawi się na stronie Agenci z oznaczeniem Hyper-V · N VMs.

Agent działa przez interfejsy samego Hyper-V: moduł PowerShell Hyper-V i Windows Virtual Disk API. Konsola nie przechowuje danych logowania do Hyper-V. W klastrze zainstaluj agenta na każdym hoście.

Krok 4 — Utwórz zadanie kopii

  1. Otwórz Zadania kopii, utwórz zadanie i wybierz agenta hosta.
  2. Wybierz Maszyny wirtualne (Proxmox VE, Hyper-V, VMware), a następnie Wszystkie VM (i kontenery) na hoście — maszyny utworzone później są dodawane automatycznie — albo zaznacz wybrane VM.
  3. Wybierz miejsce docelowe z kroku 2.
  4. Ustaw harmonogram, na przykład w każdy dzień roboczy o 22:00. Zadania mogą też powtarzać się co 15 minut do 12 godzin, uruchamiać raz w miesiącu albo startować po innym zadaniu.
  5. Ustaw przechowywanie. Przykład: 3 najnowsze, 7 dziennych, 4 tygodniowe, 6 miesięcznych to około pół roku historii i około 20 punktów przywracania.

Co dzieje się przy każdym uruchomieniu:

  1. Tworzony jest tymczasowy punkt kontrolny odzyskiwania (backupzit_…) — typ punktu kontrolnego, który Hyper-V udostępnia aplikacjom do kopii zapasowych. VM działa dalej.
  2. Punkt kontrolny odzyskiwania włącza Resilient Change Tracking (RCT) dla dysków VM; obok nich zobaczysz pliki .rct i .mrt. Pierwsza kopia czyta całe dyski; potem RCT podaje, które bloki zmieniły się od poprzedniej kopii, i czytane są tylko one.
  3. Dyski są czytane w stanie z punktu kontrolnego blokami po 1 MiB — VHDX i VHD, także z łańcuchami wcześniejszych punktów kontrolnych. Puste bloki nie są zapisywane, a bloki już obecne w repozytorium nie są wysyłane ponownie. Mimo to każda kopia jest pełnym punktem przywracania.
  4. Punkt kontrolny jest usuwany, a Hyper-V scala go w tle. Konfiguracja VM zapisywana jest razem z kopią: generacja, CPU, pamięć, karty sieciowe (przełącznik, VLAN, adres MAC), kontrolery dysków, bezpieczny rozruch i TPM.

Przykład z laboratorium testowego BackupZit: VM z Linuksem i dyskiem 3 GB. Pierwsza kopia odczytała 3 GB; następna, po 64 MB nowych danych, odczytała 96 MB.

Wyłączone VM są czytane bezpośrednio, bez punktu kontrolnego. Na hostach starszych niż Windows Server 2016 nie ma punktów kontrolnych odzyskiwania: używany jest produkcyjny punkt kontrolny i każda kopia czyta całe dyski.

Hosty z Windows 10/11: Hyper-V tworzy automatyczny punkt kontrolny przy każdym uruchomieniu VM, chyba że ta opcja jest wyłączona. BackupZit radzi sobie z takimi punktami, ale w maszynach serwerowych wyłącz automatyczne punkty kontrolne (ustawienia VM → Punkty kontrolne).

Krok 5 — Kopie spójne na poziomie aplikacji

Przy punkcie kontrolnym odzyskiwania Hyper-V prosi gościa o przygotowanie:

  • Goście Windows zapisują dane swoich aplikacji (SQL Server, Exchange, Active Directory…) przez VSS.
  • Goście Linux zamrażają systemy plików, jeśli zainstalowane są demony Hyper-V — pakiet hyperv-daemons lub hv-vss-daemon, zależnie od dystrybucji.

Jeśli gość nie potrafi ani jednego, ani drugiego, punkt kontrolny jest spójny jak po awarii — jak po zaniku zasilania. Strona uruchomienia pokazuje dla każdej VM, jaki rodzaj został użyty, więc od razu widać, którym gościom brakuje jeszcze demonów.

Krok 6 — Kopia poza siedzibą (3-2-1)

Zasada 3-2-1: trzy kopie danych, na dwóch różnych nośnikach, jedna poza siedzibą. Dodaj drugie zadanie typu Kopia kopii zapasowej, ze źródłem w zadaniu Hyper-V i miejscem docelowym poza firmą, np. zasobnikiem S3 z Object Lock lub wzmocnionym repozytorium w innym budynku.

  • Agent kopiuje istniejące kopie; maszyny nie są czytane ponownie.
  • Wysyłane są tylko dane, których jeszcze nie ma w miejscu docelowym, szyfrowane jego kluczem.
  • Kopia ma własny harmonogram i przechowywanie, np. 7 dziennych na NAS i 12 miesięcznych w chmurze.

Z kopii przywraca się VM i pojedyncze pliki tak samo jak z oryginału. Automatyczne testy przywracania (domyślnie co tydzień, w Ustawienia → Testy przywracania) czytają losowe bloki najnowszych kopii VM i porównują je z sumami kontrolnymi. Więcej o niezmiennych kopiach w sekcji ochrona przed ransomware.

Przywracanie

Otwórz uruchomienie kopii (ze strony zadania lub z Aktywność) i wybierz Przywróć VM Hyper-V. Możesz przywrócić na tym samym hoście lub na innym hoście Hyper-V z agentem.

Jako nowa VM obok oryginału

  • Tworzy drugą VM z nowymi adresami MAC, aby mogła działać w tej samej sieci co oryginał. Domyślnie nazywa się jak oryginał z dopiskiem „restored” i datą.
  • Automatyczne punkty kontrolne są w niej wyłączone, więc jej uruchomienie nie zostawia plików punktów kontrolnych.
  • Ustawienia sieci gościa powiązane z adresem MAC (na przykład match: macaddress w netplanie w obrazach chmurowych Linuksa) nie dotyczą nowych kart.

W miejsce oryginalnej VM

Zaznacz wyłącz ją i zastąp jej dyski. BackupZit wyłącza istniejącą VM, scala jej punkty kontrolne i podmienia jej dyski na przywrócone. VM zachowuje swoje ID, karty sieciowe i adresy MAC, więc zadania, monitoring i sieć gościa działają dalej. Stare pliki dysków nie są usuwane, tylko zmieniana jest ich nazwa na ….replaced-DATA — usuń je, gdy przywrócona VM działa. Jeśli oryginalna VM już nie istnieje, zostanie utworzona ponownie z nowym ID Hyper-V.

Co otrzymuje przywrócona VM

  • Przełączniki wirtualne są podłączane po nazwie; jeśli przełącznika nie ma na hoście, karta pozostaje odłączona.
  • Każda przywrócona VM dostaje nowy identyfikator generacji, dzięki czemu kontrolery domeny Active Directory bezpiecznie wykrywają przywrócenie.
  • Opcje: folder na dyski wirtualne i to, czy VM ma wystartować po przywróceniu.

Pojedyncze pliki

Kliknij Przeglądaj pliki w tabeli VM uruchomienia kopii, aby zobaczyć partycje i woluminy na dyskach VM. Możesz przeglądać NTFS, ext2/3/4 i XFS, także wewnątrz LVM, i pobierać pliki (kilka jako ZIP) albo przywracać je do folderu na dowolnym agencie — nie trzeba przywracać całej VM dla jednego zgubionego dokumentu.

Z wiersza poleceń

Wszystko działa też bez konsoli, jako administrator na hoście Hyper-V — na przykład przy odbudowie hosta po awarii:

backupzit-agent hyperv list
backupzit-agent hyperv backup  --repo ... [--vmid N,N]
backupzit-agent hyperv restore --repo ... --vmid N --new --name NAZWA --folder D:\VMs --start latest

--vmid to numer pokazywany przez hyperv list. Bez --new VM jest przywracana w miejscu oryginału; --overwrite potwierdza, że dyski istniejącej VM mogą zostać zastąpione.

Ograniczenia

  • Udostępnione dyski VHDX, VHD Set i dyski pass-through nie są kopiowane.
  • Natychmiastowe odtwarzanie (uruchomienie VM prosto z kopii) jest dostępne dla Proxmox VE i VMware, jeszcze nie dla Hyper-V — jest planowane. Przywracanie Hyper-V najpierw kopiuje dyski.
  • Hosty starsze niż Windows Server 2016 nie mają punktów kontrolnych odzyskiwania ani RCT, więc każda kopia czyta całe dyski.

Co dalej

Pobierz BackupZit, zobacz wszystkie funkcje dla Hyper-V albo przeczytaj pełny rozdział o Hyper-V w podręczniku w konsoli. Używasz też Proxmoxa? Zobacz poradnik kopii VM Proxmox. Pytania mile widziane w GitHub Discussions. Firmy mogą skorzystać z płatnego wsparcia MaxZit (tylko po angielsku).