Zdrojový kód wiki Zálohování
Version 1.1 by Jan Šimeček on 2024/07/16 14:06
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | = Obecně = |
| 2 | |||
| 3 | Každý informační systém potřebuje zálohovat svoje data pro případ neočekávaných událostí. I systém Tritius obsahuje několik mechanismů pro zálohování dat. | ||
| 4 | |||
| 5 | == Rizika == | ||
| 6 | |||
| 7 | V následujících odstavcích jsou stručně popsány rizika, která ohrožují data Tritia nebo jejich integritu. | ||
| 8 | |||
| 9 | === Chyba Tritia === | ||
| 10 | |||
| 11 | Tritius může obsahovat chybu, která způsobí ztrátu dat. Náš tým využívá při vývoji automatického testování, které minimalizuje množství chyb v aplikaci. Přesto jsme jenom lidé a děláme chyby. | ||
| 12 | |||
| 13 | === Chyba podpůrného software === | ||
| 14 | |||
| 15 | Tritius využívá několik cizích programů, jako je např. databáze MySQL, vyhledávací engine SOLR, virtualizační nástroje apod. Tyto programy nemáme pod přímou kontrolou a mohou obsahovat chybu, která může způsobit ztrátu dat. Toto riziku se snažíme minimalizovat tím, že aktualizujeme software třetích stran pouze po otestování a nevyužíváme vývojové větve, ale pouze ty stabilní. | ||
| 16 | |||
| 17 | === Chyba hardwaru === | ||
| 18 | |||
| 19 | Tritius běží ve virtuálním stroji, který se rozbít nemůže. Může ale dojít k poruše podkladového systému, který poskytuje virtualizaci. Zpravidla jde o klasický server. Toto je asi nejpravděpodobnější scénář ztráty dat. | ||
| 20 | |||
| 21 | == Typy záloh == | ||
| 22 | |||
| 23 | Systém Tritius ukládá data na dvě místa. | ||
| 24 | |||
| 25 | * Relační databáze MySQL. | ||
| 26 | * Pracovní složka na disku serveru, kde je Tritius umístěn. | ||
| 27 | |||
| 28 | V relační databázi je uložena drtivá většina dat systému. Veškerá nastavní, záznamy o dílech, exemplářích, uživatelské účty atd. Na disku v pracovní složce Tritia jsou uložena data vyhledávacího enginu SOLR a také nahrané soubory jako jsou obálky knih, PDF obsahy, vygenerované exporty apod. | ||
| 29 | |||
| 30 | === Zálohování relační databáze MySQL === | ||
| 31 | |||
| 32 | Zálohování dat z relační databáze spočívá ve vytvoření tzv. SQL dumpu. Jde o textovou (čitelnou lidmi) reprezentaci SQL příkazů, které vytvoří a naplní znovu prázdnou databázi. V případy ztráty dat z databáze lze z tohoto dupmu sestavit databázi celou znovu a jde tedy o její kompletní zálohu. | ||
| 33 | |||
| 34 | Zálohu systém vytváří zabalenou programem 7-zip a také zaheslovanou pro dodatečnou ochranu osobních informací v ní obsažených. Ačkoli je soubor textový a čitelný lidmi, bez znalosti jazyka SQL je pro obyčejného člověka nepochopitelný. | ||
| 35 | |||
| 36 | === Zálohování pracovní složky Tritia === | ||
| 37 | |||
| 38 | Z pracovní složky Tritia je vytvořen prostý archiv, který lze při ztrátě dat rozbalit místo poškozeného adresáře. | ||
| 39 | |||
| 40 | === Zálohování celého virtuálního stroje === | ||
| 41 | |||
| 42 | Naše virtuální servery v Zelených datech navíc zálohujeme celé. Virtualizační nástroj vytvoří kompletní zálohu aktuálního stavu disku. V případě kompletního výpadku systému je návrat k takové záloze nejrychlejší možné řešení. | ||
| 43 | |||
| 44 | = Zálohování serverů u nás (SaaS, Zelená data) = | ||
| 45 | |||
| 46 | Pokud provozujete Tritius na našich serverech, pak každou noc jsou automaticky vytvořeny zálohy databáze (dump databáze) a celého virtuálního stroje na úložiště umístěné přímo v Zelených datech. | ||
| 47 | |||
| 48 | == Rozpis záloh == | ||
| 49 | |||
| 50 | |=Interval|=Počet|=(% colspan="1" %)Popis | ||
| 51 | |01:21 každý den|3|(% colspan="1" %)Každý den jsou vytvořeny zálohy a udržují se poslední 3 dny | ||
| 52 | |01:21 každý týden|1|(% colspan="1" %)Každou neděli jsou vytvořena tzv. týdenní záloha | ||
| 53 | |3:31 každý měsíc|1|(% colspan="1" %)Každý měsíc je vytvořena tzv. měsíční záloha | ||
| 54 | |||
| 55 | V každý okamžik je tedy dostupných několik záloh systému z různých dnů. Dohromady se uchovává 5 záloh. | ||
| 56 | |||
| 57 | = Zálohování serverů u zákazníka (SA, vlastní server) = | ||
| 58 | |||
| 59 | Každou noc je automaticky spuštěna zálohovací procedura, která provede zálohu dat z databáze (SQL dump) a zálohu pracovní složky Tritia. Zálohy jsou kopírovány na externí úložiště (dodané vámi), aby byly dostupné v případě výpadku celého serveru s Tritiem. | ||
| 60 | |||
| 61 | == Rozpis záloh == | ||
| 62 | |||
| 63 | |=Interval|=(% colspan="1" %)Počet|=Popis | ||
| 64 | |2:30 každý den|(% colspan="1" %)7|Každý den jsou vytvořeny zálohy a udržuje se posledních 7 dnů | ||
| 65 | |(% colspan="1" %)2:40 každá pondělí|(% colspan="1" %)2|(% colspan="1" %)Každé pondělí jsou vytvořený tzv. týdenní zálohy a udržují se poslení dva týdny. | ||
| 66 | |(% colspan="1" %)2:50 každého 1.|(% colspan="1" %)1|(% colspan="1" %)Každý měsíc jsou vytvořeny tzv. měsíční zálohy a udržuje se pouze jedna tato záloha. | ||
| 67 | |||
| 68 | V každý okamžik je tedy dostupných několik záloh systému z různých dnů. Dohromady se uchovává 10 záloh. | ||
| 69 | |||
| 70 | == Odhad potřebné velikosti diskového prostoru pro zálohování == | ||
| 71 | |||
| 72 | Úložiště pro zálohy musí pojmout 10 záloh SQL databáze a 10 záloh pracovní složky Tritia. Velikost záloh je závislá na velikosti knihovny, především na množství děl a svazků. | ||
| 73 | |||
| 74 | |Pro datové úložiště na zálohy doporučujeme kapacitu alespoň 100 GB pro středně velké knihovny (do 100 000 svazků), 50 GB pro menší knihovny (do 50 000 svazků). | ||
| 75 | |||
| 76 | |||
| 77 | V případě velmi malých knihoven může stačit několik jednotech GB a v případě opravdu velkých může být potřeba i násobná katapacita úložiště. V případě pochybností se nás neváhejte obrátit. | ||
| 78 | |||
| 79 | |||
| 80 | = Obecně = | ||
| 81 | |||
| 82 | Každý informační systém potřebuje zálohovat svoje data pro případ neočekávaných událostí. I systém Tritius obsahuje několik mechanismů pro zálohování dat. | ||
| 83 | |||
| 84 | == Rizika == | ||
| 85 | |||
| 86 | V následujících odstavcích jsou stručně popsány rizika, která ohrožují data Tritia nebo jejich integritu. | ||
| 87 | |||
| 88 | === Chyba Tritia === | ||
| 89 | |||
| 90 | Tritius může obsahovat chybu, která způsobí ztrátu dat. Náš tým využívá při vývoji automatického testování, které minimalizuje množství chyb v aplikaci. Přesto jsme jenom lidé a děláme chyby. | ||
| 91 | |||
| 92 | === Chyba podpůrného software === | ||
| 93 | |||
| 94 | Tritius využívá několik cizích programů, jako je např. databáze MySQL, vyhledávací engine SOLR, virtualizační nástroje apod. Tyto programy nemáme pod přímou kontrolou a mohou obsahovat chybu, která může způsobit ztrátu dat. Toto riziku se snažíme minimalizovat tím, že aktualizujeme software třetích stran pouze po otestování a nevyužíváme vývojové větve, ale pouze ty stabilní. | ||
| 95 | |||
| 96 | === Chyba hardwaru === | ||
| 97 | |||
| 98 | Tritius běží ve virtuálním stroji, který se rozbít nemůže. Může ale dojít k poruše podkladového systému, který poskytuje virtualizaci. Zpravidla jde o klasický server. Toto je asi nejpravděpodobnější scénář ztráty dat. | ||
| 99 | |||
| 100 | == Typy záloh == | ||
| 101 | |||
| 102 | Systém Tritius ukládá data na dvě místa. | ||
| 103 | |||
| 104 | * Relační databáze MySQL. | ||
| 105 | * Pracovní složka na disku serveru, kde je Tritius umístěn. | ||
| 106 | |||
| 107 | V relační databázi je uložena drtivá většina dat systému. Veškerá nastavní, záznamy o dílech, exemplářích, uživatelské účty atd. Na disku v pracovní složce Tritia jsou uložena data vyhledávacího enginu SOLR a také nahrané soubory jako jsou obálky knih, PDF obsahy, vygenerované exporty apod. | ||
| 108 | |||
| 109 | === Zálohování relační databáze MySQL === | ||
| 110 | |||
| 111 | Zálohování dat z relační databáze spočívá ve vytvoření tzv. SQL dumpu. Jde o textovou (čitelnou lidmi) reprezentaci SQL příkazů, které vytvoří a naplní znovu prázdnou databázi. V případy ztráty dat z databáze lze z tohoto dupmu sestavit databázi celou znovu a jde tedy o její kompletní zálohu. | ||
| 112 | |||
| 113 | Zálohu systém vytváří zabalenou programem 7-zip a také zaheslovanou pro dodatečnou ochranu osobních informací v ní obsažených. Ačkoli je soubor textový a čitelný lidmi, bez znalosti jazyka SQL je pro obyčejného člověka nepochopitelný. | ||
| 114 | |||
| 115 | === Zálohování pracovní složky Tritia === | ||
| 116 | |||
| 117 | Z pracovní složky Tritia je vytvořen prostý archiv, který lze při ztrátě dat rozbalit místo poškozeného adresáře. | ||
| 118 | |||
| 119 | === Zálohování celého virtuálního stroje === | ||
| 120 | |||
| 121 | Naše virtuální servery v Zelených datech navíc zálohujeme celé. Virtualizační nástroj vytvoří kompletní zálohu aktuálního stavu disku. V případě kompletního výpadku systému je návrat k takové záloze nejrychlejší možné řešení. | ||
| 122 | |||
| 123 | = Zálohování serverů u nás (SaaS, Zelená data) = | ||
| 124 | |||
| 125 | Pokud provozujete Tritius na našich serverech, pak každou noc jsou automaticky vytvořeny zálohy databáze (dump databáze) a celého virtuálního stroje na úložiště umístěné přímo v Zelených datech. | ||
| 126 | |||
| 127 | == Rozpis záloh == | ||
| 128 | |||
| 129 | |=Interval|=Počet|=(% colspan="1" %)Popis | ||
| 130 | |01:21 každý den|3|(% colspan="1" %)Každý den jsou vytvořeny zálohy a udržují se poslední 3 dny | ||
| 131 | |01:21 každý týden|1|(% colspan="1" %)Každou neděli jsou vytvořena tzv. týdenní záloha | ||
| 132 | |3:31 každý měsíc|1|(% colspan="1" %)Každý měsíc je vytvořena tzv. měsíční záloha | ||
| 133 | |||
| 134 | V každý okamžik je tedy dostupných několik záloh systému z různých dnů. Dohromady se uchovává 5 záloh. | ||
| 135 | |||
| 136 | = Zálohování serverů u zákazníka (SA, vlastní server) = | ||
| 137 | |||
| 138 | Každou noc je automaticky spuštěna zálohovací procedura, která provede zálohu dat z databáze (SQL dump) a zálohu pracovní složky Tritia. Zálohy jsou kopírovány na externí úložiště (dodané vámi), aby byly dostupné v případě výpadku celého serveru s Tritiem. | ||
| 139 | |||
| 140 | == Rozpis záloh == | ||
| 141 | |||
| 142 | |=Interval|=(% colspan="1" %)Počet|=Popis | ||
| 143 | |2:30 každý den|(% colspan="1" %)7|Každý den jsou vytvořeny zálohy a udržuje se posledních 7 dnů | ||
| 144 | |(% colspan="1" %)2:40 každá pondělí|(% colspan="1" %)2|(% colspan="1" %)Každé pondělí jsou vytvořený tzv. týdenní zálohy a udržují se poslení dva týdny. | ||
| 145 | |(% colspan="1" %)2:50 každého 1.|(% colspan="1" %)1|(% colspan="1" %)Každý měsíc jsou vytvořeny tzv. měsíční zálohy a udržuje se pouze jedna tato záloha. | ||
| 146 | |||
| 147 | V každý okamžik je tedy dostupných několik záloh systému z různých dnů. Dohromady se uchovává 10 záloh. | ||
| 148 | |||
| 149 | == Odhad potřebné velikosti diskového prostoru pro zálohování == | ||
| 150 | |||
| 151 | Úložiště pro zálohy musí pojmout 10 záloh SQL databáze a 10 záloh pracovní složky Tritia. Velikost záloh je závislá na velikosti knihovny, především na množství děl a svazků. | ||
| 152 | |||
| 153 | |Pro datové úložiště na zálohy doporučujeme kapacitu alespoň 100 GB pro středně velké knihovny (do 100 000 svazků), 50 GB pro menší knihovny (do 50 000 svazků). | ||
| 154 | |||
| 155 | |||
| 156 | V případě velmi malých knihoven může stačit několik jednotech GB a v případě opravdu velkých může být potřeba i násobná katapacita úložiště. V případě pochybností se nás neváhejte obrátit. | ||
| 157 | |||
| 158 |