Wiki source code of Zálohování

Version 1.1 by Jan Šimeček on 2024/07/16 14:06

Show last authors
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