Proxmox VE – backup maszyn wirtualnych

Konfiguracja storage do przechowywania backupu maszyn wirtualnych w Proxmox VE

Proxmox VE obsługuje wiele rodzajów Storage w tym opisany poniżej i najczęściej spotykany storage typu NFS i Proxmox Backup Server. Podczas dodawania takiego storage jako miejsca na backup maszyn wirtualnych należy w polu Content wybrać VZDump backup file (nie dotyczy to jednak Proxmox Backup Server).

Dodanie storage dla backupu maszyn wirtualnych z Proxmox Backup Server

Jeśli mamy już stworzony storage w PBS i nadane do niego uprawnienia to wchodzimy w konsoli GUI serwera Proxmox VE w menu Datacenter – Storage – Add – Proxmox Backup Server i wpisujemy potrzebne dane jak w poniższym przykładzie, gdzie:

  • ID: oznacza nazwę datastore wyświetlaną w Proxmox VE
  • Server: podajemy adres ip naszego serwera PBS np. 192.168.8.21
  • Username i Password : nazwa użytkownika naszego serwera PBS np. pbsclient@pbs i jego hasło
  • Datastore: nazwa datastore w konsoli GUI PBS
  • Fingerprint: skopiowany odcisk klucza z konsoli GUI PBS (Dashboard – Show Fingerprint – Copy)

 

Uaktualnienie Fingerprint po zmianie certyfikatu SSL na Proxmox Backup Server

Z konsoli GUI serwera Proxmox Backup Server kopiujemy Fingerprint (Dashboard – Show Fingerprint – Copy) i wklejamy ponownie w oknie edycji storage z PBS w konsoli GUI serwera Proxmox VE (Datacenter – Storage – backupstore-01 -Edit)

 

Dodanie storage dla backup maszyn wirtualnych na udziale NFS

Jeśli mamy już skonfigurowany udział sieciowy NFS to wchodzimy w konsoli GUI serwera Proxmox VE w menu Datacenter – Storage – Add – NFS i wpisujemy potrzebne dane jak w poniższym przykładzie, gdzie:

  • ID: oznacza nazwę datastore wyświetlaną w Proxmox VE np. backupstore-02
  • Server: podajemy adres ip naszego serwera NFS np. 192.168.8.28
  • Export : ścieżka do udostępnienia NFS np. /export/backup_vmx
  • Content : VZDump backup file

 

Backup maszyn wirtualnych Proxmox VE

Tryby tworzenia kopii zapasowych

Spójność można zapewnić na kilka sposobów (tryb opcji), w zależności od typu gościa. Tryby tworzenia kopii zapasowych dla maszyn wirtualnych:

  • tryb zatrzymania (STOP) . Ten tryb zapewnia najwyższą spójność kopii zapasowej, kosztem krótkiego przestoju w działaniu maszyny wirtualnej. Działa poprzez wykonanie uporządkowanego zamknięcia maszyny wirtualnej, a następnie uruchamia w tle proces QEMU w celu utworzenia kopii zapasowej danych maszyny wirtualnej. Po rozpoczęciu tworzenia kopii zapasowej maszyna wirtualna przechodzi do pełnego trybu działania, jeśli była wcześniej uruchomiona. Spójność jest gwarantowana dzięki funkcji tworzenia kopii zapasowych na żywo.
  • tryb wstrzymania (SUSPEND). Ten tryb jest udostępniany ze względu na zgodność i zawiesza maszynę wirtualną przed wywołaniem trybu migawki. Ponieważ zawieszenie maszyny wirtualnej skutkuje dłuższym przestojem i niekoniecznie poprawia spójność danych, zamiast tego zaleca się użycie trybu migawki.
  • tryb migawki (SNAPSHOT) . Ten tryb zapewnia najkrótszy czas przestoju, kosztem niewielkiego ryzyka niespójności. Działa poprzez wykonywanie kopii zapasowej na żywo Proxmox VE, w której bloki danych są kopiowane podczas działania maszyny wirtualnej. Jeśli agent gościa jest włączony (agent: 1) i działa, wywołuje guest-fsfreeze-freeze i guest-fsfreeze-thaw w celu poprawy spójności.

 

Backup maszyn wirtualnych z konsoli GUI serwera Proxmox VE

Z poziomu GUI możemy wykonać backup na 2 sposoby:

  • automatyczny / ręczny wszystkich maszyn. Datacenter – Backup – Add . Wskazujemy Storage (tu wybrano z PBS backupstore-01), Mode: Stop (dla większej spójności backupu), Compression: ZSTD (balans pomiędzy szybkością backupu a wielkością archiwum). Tak zapisany harmonogram w każdej chwili możemy uruchomić ręcznie przez przycisk [ Run now ]
  • ręczny backup wybranej maszyny . { wybrana maszyna } – Backup – [ Backup ].
    Wskazujemy Storage (tu wybrano NFS udział sieciowy backupstore-02), Mode: Stop (dla większej spójności backupu), Compression: ZSTD (balans pomiędzy szybkością backupu a wielkością archiwum)

Backup maszyn wirtualnych przy użyciu polecenia vzdump z konsoli serwera Proxmox VE

# backup wybranej maszyny tu id=122 typu STOP na NFS udział backupstore-02 z powiadamianiem na email
vzdump 122 --remove 0 --node pve --mode stop --notes-template '{{guestname}}' --compress zstd --mailto [email protected] --storage backupstore-02

# backup kilku wybranych maszyn tutaj 122 i 123 na PBS backupstore-01 z powiadamianiem na email
vzdump 122 123 --notes-template '{{guestname}}' --mailnotification always --storage backupstore-01 --mailto [email protected] --mode stop --node pve --all 0

Snapshot maszyn wirtualnych

Migawki są przydatne do tworzenia kopii zapasowych maszyn wirtualnych lub kontenerów z określonego punktu w czasie, umożliwiając w razie potrzeby przywrócenie poprzedniego stanu. Jednak każda migawka zajmuje miejsce na dysku i może mieć wpływ na wydajność systemu, zwłaszcza jeśli masz dużą liczbę migawek lub jeśli maszyna wirtualna lub kontener jest aktywny podczas robienia migawki.

Oto kilka kwestii, które należy wziąć pod uwagę przy podejmowaniu decyzji o liczbie migawek:

Miejsce na dysku: Każda migawka zajmuje miejsce na dysku, dlatego należy upewnić się, że dostępna jest wystarczająca ilość miejsca, aby pomieścić migawki. Regularnie monitoruj użycie dysku, aby zapobiec wyczerpaniu się miejsca.

Wpływ na wydajność: Migawki mogą wpływać na wydajność maszyn wirtualnych lub kontenerów, zwłaszcza jeśli masz wiele migawek lub system jest mocno obciążony. Weź pod uwagę wymagania wydajnościowe swoich aplikacji i monitoruj wpływ migawek na wydajność.

Okres przechowywania: Określ, jak długo chcesz przechowywać migawki. Jeśli potrzebujesz długich okresów przechowywania, możesz potrzebować więcej miejsca na dysku do ich przechowywania.

Strategia tworzenia kopii zapasowych: Migawki nie powinny być jedyną strategią tworzenia kopii zapasowych. Zaleca się tworzenie oddzielnych kopii zapasowych poza środowiskiem Proxmox VE, na przykład regularne kopie zapasowe w zewnętrznym systemie pamięci masowej.

Podsumowując, liczba migawek, które należy przechowywać, zależy od konkretnych wymagań, dostępnego miejsca na dysku i kwestii związanych z wydajnością. Niezbędne jest znalezienie równowagi między posiadaniem wystarczającej liczby migawek do ochrony danych a unikaniem nadmiernego zużycia zasobów lub spadku wydajności.

Snapshot w Proxmox ma kilka ważnych właściwości:

  • działa tylko dla maszyn wirtualnych z dyskami w formacie qcow2
  • nie działa dla kontenerów LXC gdzie dysk jest w formacie raw
  • snapshot nie wchodzi w skład backupu maszyny wirtualnej

Snapshot maszyn wirtualnych przy użyciu konsoli GUI serwera Proxmox VE

Wchodzimy w { wybrana maszyna } – Snapshot- (wpisujemy jakąś nazwę i ewentualnie opis) [ Take Snapshot].

Snapshot maszyn wirtualnych przy użyciu konsoli serwera Proxmox VE

# lista dostępnych migawek dla maszyny wirtualnej id 122
qm listsnapshot 122
`-> Krok1                       2023-05-30 14:49:29     Przed instalacja aktualizacji
 `-> Krok2                      2023-05-30 14:54:49     Przed zmiana /etc/network/interfaces
  `-> current                                           You are here!

# wykonanie migawki o nazwie Krok3
qm snapshot 122 Krok3

# przywrócenie migawki o nazwie Krok3
qm rollback 122 Krok3

# usunięcie migawki o nazwie Krok3
qm delsnapshot 122 Krok3

Przywracanie backupu

Przywracanie wybranych plików z backupu maszyny wirtualnej

Jeśli backup maszyny wirtualnej jest na Proxmox Backup Server to możemy wykorzystać niedostępną w żadnym innym formacie storage np. NFS opcję File Restore. Z poziomu konsoli GUI Proxmox VE wskazujemy wybrany plik backupu i przechodzimy do zawartości dysków systemu maszyny wirtualnej. Wybrany plik lub folder (wtedy tworzone jest archiwum zip) możemy ściągnąć na lokalny dysk komputera.

Przywracanie całego backupu maszyny wirtualnej z konsoli GUI Proxmox VE

Wchodzimy z poziomu konsoli GUI Proxmox VE do storage w którym mamy backupy maszyn wirtualnych. Wskazujemy plik backupu i klikamy na przycisk [ Restore]. W nowym oknie możemy wskazać

  • Storage na jaki chcemy przywrócić maszynę wirtualną (może być inny niż pierwotnie)
  • VM id maszyny jaki ma mieć przywrócona z backupu (może być inny niż pierwotnie)
  • Name nazwa maszyny wirtualnej po przywróceniu z backupu (może być inna niż pierwotnie)
  • Unique tworzy nowy np. MAC address

Przywracanie całego backupu maszyny wirtualnej z konsoli Proxmox VE

# przywraca backup z podanego pliku do nowego id 222 na storage o nazwie datastore-01
qmrestore /mnt/pve/backupstore-02/dump/vzdump-qemu-122-2023_05_30-14_32_32.vma.zst 222 -storage datastore-01

Ustawianie retencji backupu maszyn wirtualnych

Mechanizm retencji backupu czyli zachowywania tylu kopii danych ile potrzebujemy można ustawić na dwa sposoby: