Zdrojový kód wiki Zálohování

Naposledy změněno Martin Mahr 2024/10/21 22:23

Hide last authors
Jan Šimeček 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 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.
77
78
79 = Obecně =
80
81 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.
82
83 == Rizika ==
84
85 V následujících odstavcích jsou stručně popsány rizika, která ohrožují data Tritia nebo jejich integritu.
86
87 === Chyba Tritia ===
88
89 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.
90
91 === Chyba podpůrného software ===
92
93 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í.
94
95 === Chyba hardwaru ===
96
97 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.
98
99 == Typy záloh ==
100
101 Systém Tritius ukládá data na dvě místa.
102
103 * Relační databáze MySQL.
104 * Pracovní složka na disku serveru, kde je Tritius umístěn.
105
106 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.
107
108 === Zálohování relační databáze MySQL ===
109
110 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.
111
112 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ý.
113
114 === Zálohování pracovní složky Tritia ===
115
116 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.
117
118 === Zálohování celého virtuálního stroje ===
119
120 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í.
121
122 = Zálohování serverů u nás (SaaS, Zelená data) =
123
124 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.
125
126 == Rozpis záloh ==
127
128 |=Interval|=Počet|=(% colspan="1" %)Popis
129 |01:21 každý den|3|(% colspan="1" %)Každý den jsou vytvořeny zálohy a udržují se poslední 3 dny
130 |01:21 každý týden|1|(% colspan="1" %)Každou neděli jsou vytvořena tzv. týdenní záloha
131 |3:31 každý měsíc|1|(% colspan="1" %)Každý měsíc je vytvořena tzv. měsíční záloha
132
133 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.
134
135 = Zálohování serverů u zákazníka (SA, vlastní server) =
136
137 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.
138
139 == Rozpis záloh ==
140
141 |=Interval|=(% colspan="1" %)Počet|=Popis
142 |2:30 každý den|(% colspan="1" %)7|Každý den jsou vytvořeny zálohy a udržuje se posledních 7 dnů
143 |(% 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.
144 |(% 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.
145
146 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.
147
148 == Odhad potřebné velikosti diskového prostoru pro zálohování ==
149
150 Ú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ů.
151
152 |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ů).
153
154 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.
155
156