Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

Plán záloh pre váš server

Modul 8: Zálohy a monitorovanie · Čas čítania: 11 minút

Cieľ lekcie: Po tejto lekcii dokážete pre váš server zostaviť plán záloh: čo uchovávate, kde, ako často a ako dlho, a ako s istotou viete, že obnova funguje.

Kľúčové pojmy: pravidlo 3-2-1, snapshot, záloha od poskytovateľa, vlastná záloha mimo poskytovateľa, RPO, RTO, dump databázy (mariadb-dump, pg_dump), konfigurácia v /etc, Docker volumes, šifrovanie, ransomvér, append-only, test obnovy

Prečo plán, a nie len "veď záloha predsa existuje"?

Takmer každý, kto prišiel o server, si myslel, že má zálohu. Potom sa ukáže, že obsahuje iba operačný systém a nie databázu, alebo je na tom istom serveri, ktorý je teraz preč, alebo ju zašifroval ten istý ransomvér, alebo nikto nepozná heslo. Záloha má hodnotu až vtedy, keď ju dokážete obnoviť. Preto začínate plánom a končíte testom.

Plán odpovedá na päť otázok:

  1. Čo musí byť možné obnoviť?
  2. Koľko údajov si môžete dovoliť stratiť? (RPO)
  3. Ako rýchlo musí všetko znova fungovať? (RTO)
  4. Kde sú kópie a koľko ich je?
  5. Ako viete, že to funguje?

Čo musí byť možné obnoviť?

Server sa skladá z vrstiev. Nie každá vrstva musí byť v zálohe:

VrstvaPríkladZálohovať?
Operačný systém a balíkyDebian, nginx, PHPNie nevyhnutne: dá sa nainštalovať znova. Uložte si však zoznam: dpkg --get-selections
Konfigurácia/etc (nginx, SSH, firewall, systemd units), vaše súbory composeÁno, je malá a nevyhnutná
Aplikácie a webové stránky/var/www, /opt/<app>, /srvÁno, pokiaľ nepochádzajú z Gitu
Údajedatabázy, nahrané súbory, Docker volumes (/var/lib/docker/volumes)Áno, to je najdôležitejšie
Tajomstváheslá, API kľúče, samotný kľúč k vašej záloheÁno, ale oddelene a zašifrované (pozri nižšie)
Logy, cache, dočasné súbory/var/log, /var/cache, /tmpVäčšinou nie

Zvlášť si dajte pozor na databázy. Bežiaca databáza neustále zapisuje. Ak kopírujete súbory bežiacej MariaDB alebo PostgreSQL, môžete dostať poškodenú kópiu. Preto najprv vytvorte dump: konzistentný snímok v podobe súboru, ktorý potom zahrniete do zálohy.

root@web1:~# mariadb-dump --single-transaction --all-databases | gzip > /var/backups/db/alles-$(date +%F).sql.gz
root@web1:~# sudo -u postgres pg_dumpall | gzip > /var/backups/db/pg-$(date +%F).sql.gz

(mariadb-dump sa kedysi volal mysqldump; tento príkaz väčšinou stále funguje.) Ak databáza beží v kontajneri, urobíte to isté pomocou docker compose exec (lekcia 9.4).

RPO a RTO: koľko si môžete dovoliť stratiť?

Dva pojmy z odbornej praxe pomáhajú pri rozhodovaní:

  • RPO (recovery point objective): údaje za aké najdlhšie obdobie si môžete dovoliť stratiť? Denná záloha o 03:00 znamená: ak server spadne o 22:00, prídete takmer o celý deň. Pre e-shop s objednávkami je to priveľa; pre blog, ktorý sa mení raz za týždeň, je to úplne v poriadku.
  • RTO (recovery time objective): ako dlho môže trvať, kým bude všetko znova fungovať? Obnova úplnej zálohy od poskytovateľa môže trvať minúty; vybudovanie nového servera a ručná obnova všetkého môže trvať hodiny.

Zapíšte si ich pre váš server. Určujú, ako často zálohujete a ako zálohu uchovávate.

Snapshot, záloha od poskytovateľa, vlastná záloha

Na VPS máte zvyčajne tri druhy záchrannej siete. Navzájom sa podobajú, ale chránia pred niečím iným.

1. Snapshot. Snímok celého virtuálneho disku v určitom okamihu, vytvorený v paneli vášho poskytovateľa. Rýchlo sa vytvorí, rýchlo sa obnoví. Ideálny tesne pred upgradom (lekcia 4.3). Ale: snapshot je u väčšiny poskytovateľov na tom istom úložisku ako váš server. Ak sa toto úložisko pokazí alebo prídete o účet, snapshot je tiež preč. A snapshot sa neuchováva dlho: rastie spolu so všetkými neskoršími zmenami. Snapshot nie je záloha.

2. Záloha od poskytovateľa. Mnohí poskytovatelia (prípadne ako doplnkovú možnosť) automaticky každý deň vytvárajú kópiu celého vášho servera na inom úložisku. Vo WebOké je to napríklad denná záloha celého VPS, ktorá sa uchováva sedem dní; u iných poskytovateľov to funguje podobne, s vlastnými lehotami. Je to dobrá druhá vrstva proti pokazenému hardvéru a proti vašim vlastným včerajším omylom. Stále je to však jedna strana: váš účet, vaša platba, ich výpadok. A obnova sa väčšinou robí pre celý server naraz.

3. Vaša vlastná záloha mimo poskytovateľa. Kópia vašich údajov u inej strany alebo na inom mieste, ktorú sami vytvárate a spravujete (lekcia 8.2). Toto je vrstva, ktorá zostane, keď všetko ostatné zlyhá.

Pravidlo 3-2-1

Bežné praktické pravidlo:

  • 3 kópie vašich údajov (originál plus dve zálohy);
  • na 2 rôznych druhoch úložiska alebo systémoch;
  • z toho 1 na inom mieste.

Pre VPS to môže znamenať: údaje na serveri, denná záloha od poskytovateľa a šifrovaná vlastná záloha pomocou restic na úložisko u inej strany. Moderným doplnkom je, aby aspoň jednu kópiu nemohol vymazať ten, kto ovládne server (offline alebo append-only, lekcia 8.2). Ransomvér na serveri aktívne hľadá zálohy, aby ich tiež zašifroval alebo vymazal. Záloha, ktorú smie vymazať samotný server, proti tomu neposkytuje žiadnu ochranu.

Šifrovanie a heslo k vašej zálohe

Záloha u inej strany musí byť šifrovaná: sú v nej údaje zákazníkov, heslá a kľúče. restic (lekcia 8.2) šifruje predvolene. Tým však vzniká nové riziko: heslo k vašej zálohe. Ak ho stratíte, záloha je nepoužiteľná. A ak je uložené iba na serveri, o ktorý ste prišli, takisto.

Heslo preto uchovávajte aj mimo servera: vo vašom správcovi hesiel a prípadne na papieri v trezore. To isté platí pre prístupové údaje k úložisku, na ktorom je vaša záloha.

Test obnovy

Najdôležitejšia časť plánu. Test obnovy znamená: zálohu naozaj obnovíte na mieste, kde nič nepokazí, a skontrolujete, či výsledok funguje.

  • V malom a často: obnovte jeden súbor alebo jeden priečinok do /tmp/terug a porovnajte (diff). Napríklad raz za mesiac.
  • Vo veľkom a občas: vybudujte zo zálohy kompletný nový testovací server, importujte databázu, spustite webovú stránku. Napríklad raz za rok alebo pri každej väčšej zmene. Je to zároveň nácvik pre prípad, keď sa naozaj niečo pokazí (lekcia 10.3).

Zapíšte si, ako dlho to trvalo: to je vaše skutočné RTO.

Lehoty uchovávania

Neuchovávajte iba poslednú zálohu. Ak zistíte až po dvoch týždňoch, že je súbor poškodený alebo vymazaný, potrebujete zálohu spred troch týždňov. Bežná schéma: sedem denných, štyri týždenné a šesť mesačných verzií. restic to rieši pomocou forget (lekcia 8.2). Myslite aj na GDPR: osobné údaje neuchovávajte dlhšie, než je potrebné, ani v zálohách. Svoje lehoty uchovávania si zdokumentujte.

V praxi

Snapshot od poskytovateľa použite tesne pred rizikovými zmenami a potom ho vymažte; dennú zálohu od poskytovateľa, ak ju máte, nechajte zapnutú; a popri tom si robte vlastnú šifrovanú zálohu údajov a konfigurácie k inej strane. Vo WebOké sa to na obrazovke VPS volá Snapshots a Backups; u iných poskytovateľov sú názvy a lehoty iné, ale princíp je rovnaký. Hostingový balík alebo spravovaná služba majú často iné podmienky: zistite, čo je dohodnuté vo vašom prípade.

Zhrnutie

  • Záloha má hodnotu až vtedy, keď obnova funguje; začnite plánom a skončite testom.
  • Zálohujte najmä údaje a konfiguráciu: databázy ako dump, /etc, webové stránky, Docker volumes, súbory compose.
  • Určte RPO (koľko si môžete dovoliť stratiť) a RTO (ako rýchlo musí všetko fungovať).
  • Snapshot (rovnaké úložisko, krátkodobo), záloha od poskytovateľa (iné úložisko, rovnaká strana) a vlastná záloha mimo poskytovateľa sú tri rôzne vrstvy; dodržiavajte pravidlo 3-2-1 s aspoň jednou kópiou, ktorú samotný server nedokáže vymazať.
  • Šifrujte, heslo k zálohe uchovávajte mimo servera a obnovu testujte v malom často, vo veľkom občas.

Kvíz

1. Prečo snapshot nie je záloha?



2. Každú noc kopírujete priečinok /var/lib/mysql, zatiaľ čo beží MariaDB. Aké je riziko?



3. E-shop robí zálohu každú noc o 03:00. Server sa stratí o 21:00. Koľko objednávok sa môže stratiť najviac?



4. Ransomvér zašifruje váš server a potom aj vašu zálohu, pretože server mohol cez SFTP zapisovať do úložiska záloh a mazať v ňom. Čo by tomu zabránilo?



5. Kedy s istotou viete, že vaša záloha funguje?



Úloha

Úloha O8.1: Váš plán záloh. Zostavte pre váš server plán záloh na jednej strane: čo musí byť možné obnoviť (po vrstvách), vaše RPO a RTO, aké kópie máte (snapshot, poskytovateľ, vlastná) a kde, vaše lehoty uchovávania, kde je uložené heslo k zálohe a kedy robíte test obnovy. Vyplňte formulár; po odoslaní uvidíte vzorový plán, s ktorým môžete porovnať svoj vlastný.

Úloha O8.1: Váš plán záloh

Túto úlohu vykonávate sami, nikto ju nekontroluje. Odškrtnite, čo ste urobili, a označte úlohu ako splnenú.




Vaše zaškrtnutia a poznámky zostávajú iba v tomto prehliadači, nikam ich neposielame. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že ste úlohu splnili.

Ďalšie čítanie

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…