Kopia zapasowa Proxmox - Duplicati w LXC

Cześć.
Poniżej mały tutorial w jaki sposób można zautomatyzować kopie zapasowe w proxmox z ich wysyłaniem na zewnętrzny serwer/cloud.

  1. W ścieżce Datacenterpve (nazwa node'a)local (nazwa storage) klikamy w zakładkę CT Templates, przycisk Templates i pobieramy template dla Debian 10.

  2. Tworzymy nowy kontener, ustawiamy wybrane hasło, nazwę hosta, wielkość dysku (10GB), CPU (2 rdzene) i 1024MB RAM / 512 SWAP. Nie uruchamiamy jeszcze kontenera. Notujemy gdzieś numer ID kontenera, w przykładzie użyję. 105.

  3. W zależności od naszej konfiguracji Proxmox wybieramy lokalizację dla kopii zapasowych, które będziemy eksportować. Domyślnie proxmox używa folderów w lokalizacji /var/lib/vz, ale możemy utworzyć folder w dowolnym miejscu - np. na dodatkowym dysku. W przykładzie użyję /mnt/storage/
    Przechodzimy do konsoli SSH proxmox wybierając Datacenterpve (nazwa node) → zakładkę Shell i wpisujemy kolejno polecenia:

# Jeśli dodatkowy dysk mamy podmontowany w /mnt/storage:
mkdir -p /mnt/storage/export_backups
pct set 105 -mp0 /mnt/storage/export_backups,mp=/mnt/media

# Jeśli korzystamy z domyślnej lokalizacji:
mkdir -p /var/lib/vz/export_backups
pct set 105 -mp0 /var/lib/vz/export_backups,mp=/mnt/media

Dzięki temu nasz kontener LXC będzie miał dostęp do folderu z hosta Proxmox.

  1. Przechodzimy do Datacenter → zakładka Storage i wybieramy AddDirectory, gdzie nadajemy mu nazwę i podajemy wcześniej utworzony folder. Content ustawiamy na VZDump backup file

  2. Przechodzimy do zakładki Backup w Datacenter i wybieramy Add. Konfigurujemy zautomatyzowany backup instancji HA, np.:



    Jak widać ustawiłem powtarzanie backupu o godzinie 02:00 codziennie.

  3. Uruchamiamy stworzony kontener i łączymy się przez SSH root@ADRES.IP.UTWORZONEGO.KONTENERA Wydajemy polecenie:

apt update -y && apt install -y make curl && curl https://raw.githubusercontent.com/rm-rf-dev-null/arturhome.pl/main/duplicati/Makefile -o Makefile && make install
  1. Po zakończeniu skryptu kontener uruchomi się ponownie. Możemy przejść w przeglądarce pod adres: http://ADRES.IP.UTWORZONEGO.KONTENERA/ i przejść do konfiguracji zautomatyzowanego backupu. W 1 kroku ustawiamy hasło - nasz backup będzie zabezpieczony enkrypcją - zapisujemy to hasło do notesika bo bez niego umarł w butach!

  2. W drugim kroku wybieramy gdzie będziemy wysyłać nasze backupy. Ja do takich kopii osobiście używam Backblaze B2 - ze względu na cenę (PS. przy backblaze w advanced options trzeba wybrać accept-any-ssl-certificate).

  3. W trzecim kroku wskazujemy nasz podmontowany folder z Proxmox:

  4. Ustawiamy harmonogram naszych backupów - jako, że wysyłanie musi nastąpić po utworzeniu kopii ustawiłem ich synchronizację o godzinie 5:00 codziennie

  5. Jako, że utworzyłem w proxmox retencję na 7 dni backupów to tą samą opcję ustawiłem w duplicati:

No i to w sumie tyle. Dzięki temu mamy 7 ostatnich dni backupów instancji HA z PVE w chmurze. W razie awarii Proxmox czy dysku zawsze ostatnią wersję naszej maszyny wirtualnej możemy odtworzyć z kopii stawiając nowego proxmox i konfigurując duplicati.

PS. Miał być gotowy kontener LXC, ale łatwiej będzie komuś sprawdzić Makefile niż dostarczony gotowy kontener a zdaję sobie sprawę, że niekoniecznie ktoś musi chcieć ufać mi na słowo i uruchamiać obcy kontener w swojej sieci.

3 polubienia

Próbowałem to odpalić ale niestety w template w proxmox najniższa wersja debiana to 11, niestety w kroku 6 otrzymuję komunikat o błędzie. jakiś pomysł jak to naprawić?

1 polubienie

:thinking: niestety szklana kula nam się zepsuła i nie widzimy tego błędu, pomożesz nam w tym temacie? :wink:

P.S. Nie dziw sie, że nikt nie odpisał wcześniej na Twojego posta bo jak widzisz nie ma jak pomóc, nie mając wiedzy o tym błędzie.

Przepraszam mój błąd. Jutro zreprodukuję i tutaj wstawię.

Dopiero dzisiaj udało mi się to powtórnie sprawdzić.
Poniżej błąd który otrzymuję.

zamień spacje na tabulatory w Makefile od początku linijki - w IDE mam zamienianie tego domyślnie i pewnie tak poszedł PR