Backup serwera pozwalający szybko go przywrócić.

0

Cześć!
Szukam sposobu na zrobienie backupu serwera (ubuntu server 16.04) który da mi możliwość szybkiego przywrócenia aplikacji do życia po np. awarii dysków. Problem polega na tym że fajnie by było aby wszystkie configi czy inne rzeczy bardziej systemowy również w nim były. Oczywiście można byłoby zrobić obraz całego dysku ale ze względu na to że serwer stoi w ovh nie ma możliwości (przynajmniej tak dowiedziałem się na infolinii) aby podesłać im obraz dysku do wgrania a przez ssh "podmienić" system chyba się nie da :p

Znacie może jakieś oprogramowanie które to ogarnie albo sposób jak to zrobić bez konieczności pakowania wszystkich plików konfiguracyjnych?
Z góry dzięki wielkie za pomoc.

0

rsync spełnia wymagania?

0

może Docker? zestawiasz wszystkie configi w dockerfile i powinno banglać?

0

Maszyna wirtualna? Doker?

0

Kontener (ja polecę jednak rkt zamiast Dockera, ale nie jest to zawsze wymagane) oraz zapasowy serwer (w innej fizycznej lokalizacji). Nie dość, że mniejsze obłożenie serwera (każdego z osobna) to jeszcze masz większą stabilność.

Co do configów to część (tą, która może być trzymana np. w Gicie, która nie jest w żaden sposób prywatna) trzymać w kontenerze, a tą część prywatną (jak np. klucze API) trzymać w Vaulcie i wstrzykiwać przez zmienne środowiskowe.

0

O dockerze myślałem ale wydaje mi się że to bez sensu na pustym serwerze instalować dockera aby na nim odpalać obraz dysku (chyba że da się przez dockera tylko stworzyć a potem zainstalować bez niego). Kopie miałby iść na inny serwer. Nie trzymałbym kopii zapasowej na tej samej jednostce :D
Co do rsync'a to wydaje mi się że nie spełni on wymagań ponieważ albo mozolnie muszę mu podać pliki, albo przy wywaleniu systemu nadpisywałby pliki systemowe które nie powinny być nadpisane. Mój problem nie polega na backupie samej aplikacji czy bazy bo to nie jest problemem. Aplikacja jest na git'cie, backup bazy to nie problem. Mamy dość mocną specyfikę systemu przez różne pakiety i ich configi i głównie to chciałbym trzymać.

1

rsync. Jeżeli rsync nie spełnia twoich wymagań to ja nie wiem co je spełnia. rsync i jeszcze raz rsync. Powiedz razem ze mną - "RSYNC". I zacznij to instalować i sobie konfigurować. Rsync jest najlepszy. Backupy przyrostowe i takie tam. Deal With It!

0

@NickOver: w takim wypadku (configi) to najlepszym wyjściem jest zastosowanie:

  • Infrastructure as a Code - czyli musisz użyć jakiegoś narzędzia do provisioningu maszyn, Puppet, Chef, Ansible, Converge, Salt, CFEngine, etc.
  • Immutable Infrastructure - to jest zwłaszcza możliwe jak używasz jakiegoś clouda, czyli zamiast przekonfigurowywać istniejącą maszynę tworzysz nową ze zmianami a starą ubijasz w całości

Rozwiązaniem pośrednim byłoby użycie jakiegoś immutable package managera, ale w obecnie ja wiem o 2 takich rozwiązaniach:

  • Guix
  • Nix

Są całkiem spoko, ale wymagają trochę przyzwyczajenia.

0

No to tak jak myślałem - nie ma narzędzia do tego.

  1. Lista zainstalowanych pakietówdpkg --get-selections
  2. Backup katalogu /etc
  3. Backup ~
  4. Backup katalogów specyficznych dla aplikacji
  5. Może jakieś logi

1 użytkowników online, w tym zalogowanych: 0, gości: 1