BackupZit

Kopia zapasowa VMware ESXi, także z darmową licencją ESXi

Kompletny poradnik: od hosta ESXi — licencjonowanego, darmowego lub zarządzanego przez vCenter — do zaplanowanych, szyfrowanych i deduplikowanych kopii jego maszyn wirtualnych, ze śledzeniem zmienionych bloków, migawkami w trybie quiesce, kopią poza siedzibą i przywracaniem jako nowa VM, w miejsce oryginału, plik po pliku lub bezpośrednio z kopii.

Co skonfigurujesz

BackupZit tworzy kopie maszyn wirtualnych VMware ESXi bez instalowania czegokolwiek na ESXi ani w maszynach. Agent BackupZit na dowolnym komputerze w sieci działa jako proxy hosta: robi migawki, czyta tylko zmienione bloki dysków wirtualnych i zapisuje je w Twoim magazynie. Konsola WWW planuje zadania, przechowuje historię i uruchamia przywracanie. BackupZit jest darmowy i open source (AGPLv3), bez limitu hostów i maszyn.

Darmowa licencja ESXi sprawia, że API hosta jest tylko do odczytu: maszyny można przez nie odczytać, ale nie zmienić. Dlatego BackupZit na darmowych hostach robi migawki i przywraca przez SSH, a na hostach licencjonowanych i w vCenter przez API vSphere. Konsola sama wybiera właściwą drogę.

Czego potrzebujesz

  • ESXi 6.7, 7 lub 8 podłączony bezpośrednio albo vCenter Server 7 lub 8 z jego hostami ESXi.
  • Użytkownika z uprawnieniami administratora: zwykle root na hoście; w vCenter administrator@vsphere.local lub użytkownik z rolą Administrator.
  • Miejsce na konsolę BackupZit: małą maszynę Linux z 2 vCPU, 2–4 GB RAM i dyskiem 16–20 GB. Sama nie przechowuje danych kopii.
  • Agenta proxy: dowolny komputer z Windows lub Linuksem z agentem BackupZit, który łączy się z hostem na porcie 443 (i 22, gdy używany jest SSH).
  • Magazyn kopii poza hostem — na przykład serwer Linux lub NAS przez SFTP, udział SMB, bucket zgodny z S3 lub wzmocnione repozytorium BackupZit.
  • Sieć: agent łączy się z konsolą na porcie TCP 8443.

Co zmienia darmowa licencja ESXi

Darmowa licencja działa, wymaga jednak trzech przygotowań:

  • Włącz SSH na hoście: w ESXi Host Client, Host → Actions → Services → Enable Secure Shell. Hosty licencjonowane i vCenter nie potrzebują SSH.
  • Śledzenie zmienionych bloków (CBT) można włączyć tylko przy wyłączonej maszynie. BackupZit robi to przy pierwszej kopii, która zastanie maszynę wyłączoną; do tego czasu każda kopia czyta całe dyski, a uruchomienie pokazuje ostrzeżenie. Wyłącz każdą maszynę raz, na przykład w oknie serwisowym, i pozwól wykonać kopię.
  • Wolne miejsce w magazynie danych: podczas kopii działającej maszyny jej dyski są kopiowane (thin) w jej magazynie danych, który potrzebuje tyle wolnego miejsca, ile dyski faktycznie zajmują.

Host, który później otrzyma licencję, przechodzi na API vSphere bez dodatkowej konfiguracji.

Krok 1 — Zainstaluj konsolę

Najszybciej na ESXi jest użyć gotowego obrazu maszyny backupzit-appliance.ova ze strony pobierania (Debian, PostgreSQL i konsola, już skonfigurowane, z VMware Tools):

  1. W ESXi Host Client wybierz Create / Register VM → Deploy a virtual machine from an OVF or OVA file i wskaż plik OVA. W vCenter użyj Deploy OVF Template. Daj maszynie 2 vCPU i 2–4 GB RAM.
  2. Uruchom maszynę. Jej ekran pokazuje adres konsoli WWW i początkowe hasło użytkownika admin. Otwórz https://<adres>:8443, zaloguj się i zmień hasło.

Na ekranie maszyny bzadmin może ustawić stały adres i strefę czasową (harmonogramy działają w strefie czasowej konsoli). Na istniejącym serwerze Linux użyj zamiast tego skryptu instalacyjnego ze strony pobierania.

Krok 2 — Dodaj magazyn

W konsoli otwórz Magazyn i dodaj miejsce docelowe. Typowe wybory dla kopii maszyn:

TypDobry dla
SFTPDowolnego serwera Linux lub NAS z SSH; klucz hosta serwera jest przypinany.
Udział SMBSerwerów plików Windows, NAS Synology lub QNAP (SMB 2/3).
Zgodny z S3Kopii poza siedzibą: AWS S3, Wasabi, Backblaze B2, MinIO, Ceph; niezmienne dzięki Object Lock.
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). Konsola pokaże wtedy Klucz odzyskiwania — wydrukuj arkusz odzyskiwania albo zapisz klucz w menedżerze haseł, z dala od kopii. Mając klucz, lokalizację magazynu i dane dostępowe, przywrócisz dane nawet po utracie konsoli.

Krok 3 — Zainstaluj agenta proxy

Dane kopii płyną przez agenta proxy, więc umieść go w szybkiej sieci, blisko hosta ESXi i magazynu. Lepszym wyborem jest Linux: tylko proxy linuksowe obsługuje natychmiastowe odtwarzanie.

  1. W konsoli otwórz Agenci i kliknij Utwórz token rejestracji. Otrzymasz kod rejestracji (BZ1-…) ważny 7 dni.
  2. Pobierz pakiet agenta ze strony Agenci. Na Debianie lub Ubuntu:
    apt install ./backupzit-agent_*.deb
    backupzit-agent enroll --code "BZ1-..."
    systemctl enable --now backupzit-agent
    W Windows uruchom MSI agenta i wklej kod. Konsola może też sama zainstalować agenta: Agenci → Zainstaluj na maszynie stąd.

Krok 4 — Dodaj host ESXi lub vCenter

Otwórz Agenci, sekcję Hosty VMware ESXi, wypełnij Dodaj host ESXi lub vCenter Server — Adres, Użytkownik, Hasło i Agent proxy — i kliknij Dodaj host ESXi lub vCenter. Konsola łączy się raz, odczytuje listę maszyn i licencję oraz przypina certyfikat HTTPS i klucz hosta SSH: jeśli później pod tym samym adresem odpowie inna maszyna, BackupZit odmówi połączenia zamiast wysłać jej hasło. Hasło jest przechowywane w postaci zaszyfrowanej.

Kolumna Tryb pokazuje, jak obsługiwany jest host:

  • API vSphere (licencjonowany host, SSH niepotrzebne) — migawki, kopie dysków, przywracanie i natychmiastowe odtwarzanie idą przez API.
  • darmowa licencja: migawki i przywracanie przez SSH — API jest tylko do odczytu, więc te kroki idą przez SSH.

Sposób zmian na hoście jest domyślnie ustawiony na Automatycznie i można go wymusić na Zawsze SSH lub Zawsze API vSphere. Jeśli certyfikat hosta zmieni się ze znanego powodu — ponowna instalacja, nowy certyfikat, dodanie do vCenter — kliknij Zaakceptuj nowy certyfikat po porównaniu odcisku z hostem.

Z vCenter Server

Dodaj vCenter tak jak host. BackupZit widzi wtedy przez to jedno połączenie maszyny wszystkich hostów ESXi i klastrów centrum danych; nic nie jest zmieniane przez SSH. Maszyna przeniesiona przez vMotion nadal ma kopie, bo maszyny są rozpoznawane po instance UUID, a nie po hoście. Nie dodawaj tego samego hosta ESXi jednocześnie bezpośrednio i przez vCenter, bo jego maszyny będą kopiowane dwa razy.

Krok 5 — Utwórz zadanie kopii

  1. Otwórz Zadania kopii, utwórz zadanie i wybierz host ESXi — na liście agentów jest w grupie Hosty VMware ESXi.
  2. Wybierz Maszyny wirtualne (Proxmox VE, Hyper-V, VMware), a potem Wszystkie VM (i kontenery) na hoście — maszyny utworzone później dochodzą automatycznie — albo zaznacz wybrane maszyny.
  3. Wybierz magazyn z kroku 2 i ustaw Harmonogram, na przykład w każdy dzień roboczy o 22:00.
  4. Ustaw Zachowuj kopie. Przykład: 3 najnowsze, 7 dziennych, 4 tygodniowe, 6 miesięcznych daje około pół roku historii z mniej więcej 20 punktami przywracania.

Zadanie działa na agencie proxy hosta. Co się dzieje przy każdym uruchomieniu:

  1. Śledzenie zmienionych bloków jest włączane dla maszyny, jeśli jest wyłączone — automatycznie na hostach licencjonowanych, a na darmowych przy pierwszej kopii, która zastanie maszynę wyłączoną.
  2. Powstaje migawka backupzit_…, w trybie quiesce, gdy w gościu działa VMware Tools (zob. krok 6).
  3. CBT wskazuje, które bloki czytać: przy pierwszej kopii tylko używane, potem tylko zmienione od poprzedniej kopii.
  4. Działająca maszyna blokuje swoje dyski, więc są one kopiowane (thin) w magazynie danych, a migawka jest od razu usuwana, zwykle po kilku sekundach. Proxy czyta kopię przez HTTPS i ją usuwa. Wyłączone maszyny są czytane bezpośrednio.
  5. Konfiguracja maszyny (.vmx) i NVRAM są zapisywane razem z kopią.

Przykład z laboratorium testowego BackupZit: maszyna Debian z dyskiem 8 GB, z czego 1,6 GB zajęte. Pierwsza kopia odczytała 1,6 GB. Następna, po 50 MB nowych danych, odczytała 70 MB i trwała 23 sekundy.

Krok 6 — Kopie spójne na poziomie aplikacji

Gdy w gościu działa VMware Tools, migawka powstaje w trybie quiesce: aplikacje i systemy plików najpierw zapisują swoje dane, więc kopia jest spójna na poziomie aplikacji. Bez VMware Tools jest spójna jak po awarii — jak po zaniku zasilania. Zainstaluj open-vm-tools w maszynach z Linuksem i VMware Tools w maszynach z Windows.

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

Zasada 3-2-1: trzy kopie danych, na dwóch różnych nośnikach, w tym jedna poza siedzibą. Dodaj drugie zadanie typu Kopia kopii zapasowej, wybierz zadanie VMware jako źródło i miejsce docelowe poza siedzibą, na przykład bucket S3 z Object Lock lub wzmocnione repozytorium w innym budynku.

  • Agent kopiuje istniejące kopie; maszyny nie są czytane ponownie.
  • Domyślnie kopia uruchamia się po każdej kopii zadania źródłowego, z własną retencją — np. 7 dziennych na NAS i 12 miesięcznych w chmurze.

Całe maszyny i pojedyncze pliki przywraca się z kopii tak jak z oryginału. W Ustawienia → Testy przywracania automatyczne testy przywracania (domyślnie co tydzień) i Sprawdzaj zapisane dane (domyślnie co miesiąc) weryfikują kopie. 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 VMware albo użyj kreatora Przywracanie z opcją Cała maszyna wirtualna. Cel wybierz w polu Przywróć na hoście ESXi (z vCenter także Host ESXi, na którym ma działać maszyna), a w razie potrzeby inny Magazyn danych.

Jako nowa VM obok oryginału

Tworzy kopię z nową nazwą, UUID i adresami MAC; domyślnie nazwa oryginału z dopiskiem -restored- i datą. Ustawienia sieci gościa powiązane ze starymi adresami MAC, np. match: macaddress w netplanie obrazów chmurowych, nie działają w kopii.

W miejsce oryginalnej VM

Zaznacz wyłącz ją i zastąp jej dyski. BackupZit wyłącza maszynę, usuwa jej migawki, zmienia nazwy bieżących dysków na ….replaced-DATA.vmdk (usuń je, gdy przywrócona maszyna działa) i zapisuje kopię na nowe dyski o oryginalnych nazwach. Maszyna zachowuje UUID, karty sieciowe i adresy MAC. Usunięta maszyna jest odtwarzana z oryginalną tożsamością.

Dyski są przywracane jako thin i zapisywane są tylko bloki z danymi — przez API vSphere na hostach licencjonowanych i w vCenter, przez SSH na darmowej licencji. W razie potrzeby zaznacz Uruchom VM po przywróceniu. Obrazy ISO podłączone do napędów CD/DVD nie są częścią kopii.

Natychmiastowe odtwarzanie

Opcja Natychmiast, działając z kopii uruchamia maszynę w kilka sekund. Linuksowy agent proxy udostępnia jej dyski prosto z kopii przez NFS; host montuje je jako magazyn danych backupzit-<agent>. Zmiany są przechowywane na agencie; sama kopia nigdy się nie zmienia. Gdy maszyna działa prawidłowo, na stronie uruchomienia:

  • Zakończ przenosi ją do magazynu danych — w vCenter przez Storage vMotion, gdy nadal działa; na samodzielnym hoście z krótkim wyłączeniem na czas kopiowania dysków (na darmowej licencji przez vmkfstools po SSH).
  • Odrzuć VM zatrzymuje ją i usuwa wraz ze wszystkimi zmianami.

Otwórz porty 2049 i 111 od hosta ESXi do agenta, jeśli między nimi jest zapora.

Pojedyncze pliki

Przeglądaj pliki na stronie kopii (lub Pliki z maszyny wirtualnej w kreatorze przywracania) otwiera dyski maszyny. Możesz przeglądać NTFS, ext2/3/4 i XFS, także na LVM, oraz pobierać pliki lub przywracać je na dowolnego agenta.

Proxmox w tej samej konsoli. BackupZit tworzy też kopie maszyn i kontenerów Proxmox VE. Jeśli przechodzisz z ESXi na Proxmox, obie platformy można chronić z jednej konsoli, z tym samym magazynem i raportami, aż do końca migracji. Kopie VMware przywraca się na hosty ESXi.

Ograniczenia, które warto znać

  • vCenter z kilkoma centrami danych nie może być jeszcze dodany; hosty pozostałych centrów danych dodaj bezpośrednio.
  • Maszyny z własnymi migawkami nie są kopiowane: najpierw usuń lub skonsoliduj migawki.
  • Raw device mappings (RDM) i dyski niezależne nie są kopiowane.
  • Natychmiastowe odtwarzanie wymaga linuksowego agenta proxy.

Następne kroki

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