Wykonywanie kopii zapasowych to podstawowe zadanie każdego administratora. Backup zabezpiecza system przed zupełną awarią, zapewniając możliwość powrotu do pewnego stanu z przeszłości. Jeśli awaria systemu będzie bardzo poważna – rolą SysOpa jest zapewnienie możliwości przywrócenia danych do stanu sprzed awarii.
Aby backupy wykonywać optymalnie należy rozpatrzyć rozmiar potencjalnej kopii zapasowej, przewidzieć okres wykonywania backupu etc. Wiele czynników wpływa na decyzję co do wyboru sposobu wykonywania kopii zapasowej. Ogólnie można założyć, iż każdy system jest inny i potrzebuje indywidualnego podejścia do wykonywania cyklicznych backupów.
Bazy danych
Istnieje również kilka metod, systemów i urządzeń ułatwiających wykonywanie kopii zapasowych. Do metodyk takich – u samych podstaw założeń – można zaliczyć replikację. Wszakże poniekąd replika bazy danych (np. baza slave) jest dokładną kopią zapasową nieustannie się aktualizującą. W praktycznym zastosowaniu jednak współcześnie replikacji nie traktuje się jako zastępstwa dla kopii zapasowych, a raczej ułatwienie jej wykonywania. Pełny backup może wykonywać się przez wiele godzin. Generuje to niemałe obciążenie na maszynie obsługującej bazę danych i zwiększając czas odpowiedzi bazy na zapytania z aplikacji.
Aby tego uniknąć można – posługując się przykładem – zaplanować do obsługi bazy danych trzy serwery. Pierwszy z nich miałby być serwerem master, na którym wykonywano by wszelkie instrukcje i zapytania zmieniające strukturę bazy, czyli tworzenie, zmienianie i usuwanie danych. Drugi serwer miałby być repliką bazy master i służyłby wyłącznie do wykonywania kwerend – zapytań odczytujących dane z bazy (typu np. SELECT). Trzeci serwer natomiast również byłby typem slave dla pierwszej bazy, ale wyłącznie do celów backupowych – na czas wykonywania kopii zapasowej replikacja zatrzymywała by się, serwer wykonałby migawkę całego systemu bazodanowego w aktualnym dla siebie stanie, a po wykonaniu ponownie wykonywał założenia replikacji.
To oczywiście wyłącznie przykład zastosowania replikacji do wykonywania kopii zapasowych. Innym urządzeniem przydatnym dla backupów może okazać się serwer przechowujący wszystkie migawki. Można to nazwać “wspólnym dyskiem”, na którym przechowywać można wszystkie backupy. Serwery wykonujące kopie zapasowe powinny do takiego “wspólnego dysku” wysyłać gotowe paczki backupu. Serwer taki może być oczywiście zwyczajną maszyną, ale istnieją również specjalistyczne rozwiązania, czyli urządzenia predefiniowane do takiej roli.
Dyski dla kopii zapasowych
Istnieją również rozwiązania sieciowe gwarantujące dostęp wielu komputerów (serwerów) do jednego zasobu. Do takiego zadania służą technologie NAS oraz SAN. Należy jednak pamiętać o szyfrowaniu swoich kopii zapasowych, jeśli przechowujemy je w innej lokalizacji dostępnej poprzez sieć. Nie warto również ufać mechanizmom zabezpieczającym oferowanym przez dostawców takich usług sieciowych.
Mówiąc natomiast o technologiach dyskowych warto wspomnieć również o technologii RAID zapewniającej redundancję na poziomie dyskowym. RAID występuje w kilku rodzajach, przede wszystkim:
- RAID 0 – striping
- rozdzielanie danych po równo na dwa lub więcej dysków;
- powstała macierz ma rozmiar sumy N dysków;
- szybszy odczyt;
- w razie awarii pewna część danych ginie bezpowrotnie,
- RAID 1 – mirroring
- na dwa lub więcej dysków zapisywane są identyczne dane;dane są odczytywane szybciej;w razie awarii jednego dysku pozostałe mają dokładną kopię danych,
- RAID 10 – dwie lub więcej macierzy RAID 1 pracuje w macierzy RAID 0,
- RAID 0+1 – dwie lub więcej macierzy RAID 0 pracuje w macierzy RAID 1.
Oczywiście nasi klienci, których serwerami administrujemy nie muszą się przesadnie przejmować sieciowymi technologiami i tworzeniem kopii zapasowych. My, jako SysOpi z Bezpiecznej Firmy gwarantujemy backupy Waszych stron, danych i baz przez miesiąc. No… Oczywiście każdy może chcieć innego czasu w myśl zasady “każdy system jest inny” 😉
…a zwyczajny backup?
Pełny kopia zapasowa
Kopie zapasowe można wykonywać na kilka sposobów. Pierwszy, najbardziej oczywisty, to pełny backup. Wykonuje się pełną migawkę stanu danych, aby przechowywać ją w innej lokalizacji. Jest to podejście najbardziej elementarne, niestety nie zawsze optymalne. Jeśli danych jest bardzo dużo czas wykonywania backupu może być bardzo długi. Na przykład: wykonanie kopii trwa 26 godzin, wykonuje się codziennie w nocy. Zatem system nie zdąży stworzyć jednej kopii, a już zacznie kolejną.
Przed takimi problemami chroni administratora i serwer logiczne podejście do systemu wykonywania kopii zapasowych. Istnieją bowiem również inne ideologie wykonywania kopii zapasowych, każda – podobnie jak pełny backup – ma swoje wady i zalety.
Backup przyrostowy
Drugim sposobem tworzenia backupów jest inkrementalna (przyrostowa) kopia zapasowa. Metoda ta polega na tworzeniu kopii jedynie danych, które zostały dodane od ostatniej kopii zapasowej. Kopia ta jest wykonywana szybciej (potrzebuje mniej czasu na stworzenie), niestety wymaga, aby istniała już wcześniej wykonana pełna kopia zapasowa, na której to oparty jest algorytm kopii inkrementalnej
Backup różnicowy
Istnieje również trzecia metoda – backup różnicowy (differential). Potrzebuje ona stworzonego wcześniej pełnego backupu, a polega na wykonywaniu kopii zapasowej jedynie danych, które uległy zmianie. Najczęściej wykorzystywana jest ona do kopii zapasowych systemów o dużej zmienności danych, bardzo żadko są to aplikacje internetowe.
Każdy z tych trzech rodzajów kopii zapasowych ma inną metodę przywracania danych. W wypadku pełnego backupu, który jest zwyczajną migawką stanu systemu (danych, plików, bazy itp.) wystarczy wszystkie dane przywrócić do ich lokalizacji. Kopia przyrostowa wymaga, w uproszczeniu, przywrócenia pełnego backupu z przeszłości, a następnie ponownego przywrócenia wszystkich wykonanych przez ten czas kopii inkrementalnych aż do momentu, do którego system chcemy przywrócić.
Backup różnicowy to pełna różnica pomiędzy ostatnią pełną kopią zapasową, a obecnym dniem. Zatem przywrócenie tego rodzaju kopii danych polega na przywróceniu pełnego, a następnie ostatnio wykonanego przyrostowego backupu.
Zasada 3-2-1
Znając powyższe metody można stworzyć indywidualny plan wykonywania kopii zapasowych dla konkretnego systemu. Oczywiście każda aplikacja jest inna i zachowuje się inaczej, dlatego administrator musi doskonale przemyśleć i zaplanować harmonogram wykonywania backupów.
Dla przykładu: dobrym podejściem może być wykonywanie pełnych kopii zapasowych w nocy z soboty na niedzielę, natomiast codziennie w nocy wykonywać backup inkrementalny lub różnicowy, w zależności od potrzeb.
Omawiając temat kopii zapasowych warto jeszcze wspomnieć o niepisanej regule 3-2-1 (w praktyce to trzy zasady). Polega ona na redundantnym podejściu do kopii zapasowych: dane należy trzymać w trzech egzemplarzach – jeden oryginalny i dwa backupy na dwóch różnych nośnikach. Dodatkowo jedna z kopii powinna być przechowywana w innej fizycznej lokalizacji (w innym budynku, w chmurze etc. na wypadek np. pożaru).
W praktyce administratorzy z Bezpiecznej Firmy zajmują się wszystkim technicznymi rzeczami kopii Waszych zapasowych. Nie ma potrzeby, abyście sobie zaprzątali tym głowę. Oczywiście – jeśli jesteś zainteresowany w jaki sposób Twój serwer jest backupowany – zadaj nam pytanie, służymy pomocą!
Nie martw się!
Utraty danych się zdarzają, dlatego kopie zapasowe są niezbędne. Porozmawiaj ze swoimi administratorami, aby dowiedzieć się w jaki sposób wykonywane są przez nich kopie zapasowe. Aby dowiedzieć się więcej o awariach zobacz nasz wpis Awaria – jak z tym żyć.