piątek, 24 września 2010

ISM - Backup i odtworzenie - podstawy



Czy jest backup?
Backup - dodatkowa kopia danych, używana gdy dane pierwotne zostały stracone lub uległy uszkodzeniu.
Backup może być wykonany poprzez kopiowanie danych lub mirroring danych. Mirroring od kopiowania różni się tym, iż kopiowanie uruchamia się w pewnym momencie w czasie i stan systemu na tą chwilę zostaje zdublowany; mirroring działa cały czas i cały czas utrzymywane są dwa identyczne obrazy danych.


Dlaczego robi się backupy:

Przede wszystkim dlatego, żeby móc odzyskać dane w wypadku ich utraty. Dodatkowo niektóre organizacje i firmy (sektor bankowy, służba zdrowia itd) są prawnie zobligowane do przechowywania kopii swoich danych.

Ogólnie rzecz biorąc są trzy powody składowania(backupowania) danych:
  • Disaster Recovery (DR) - odzyskanie danych po katastrofie w centrum komputerowym
  • Operational - odsyskanie danych straconych w wyniku wypadku lub błędu podczas normalnej pracy systemu
  • Archival - archiwizowanie danych historycznych (emaile , transakcje itd...) 


Założenia backupu:

Przed rozpoczęciem backupowania danych ich właściciel (biznesowy) powinien odpowiedzieć na następujące pytania:
  • Jakie są potrzeby dotyczące RPO & RTO?
  • Jak dane będą odtwarzane?
  • Jakich danych dotyczą najczęstsze prośby o odtworzenie?
  • Które dane muszą być backup-owane?
  • Jak często dane muszą być backupowane?
  • Jak długo zajmie wykonanie jednej kopii?
  • Ile kopii należy stworzyć?
  • Jak długo powinniśmy trzymać kopie?
Mniej istotne (ale wciąż ważne) kwestie do rozważania przy ustalaniu polityki backupowej to między innymi:
  • Przechowywanie kopii danych (w lokacji macierzystej lub zdalnej)
  • Zdolność do obsłużenia przez system backupowy różnych platform i architektur
  • Ilość i wielkość plików (dużo małych, czy mniejsza ilość większych)
  • Podatność danych na kompresję


Częstość i rodzaj wykonywanych backupów:

Po zapoznaniu się ze środowiskiem oraz danymi, które mamy zamiar backupować, przyszedł czas na wybór rodzaju i częstotliwości wykonywania kopii.

Wyróżnia się trzy rodzaje backupów:
  • Pełny (Full Backup) - kompletna kopia danych na systemie/voluminie, który backupujemy. Przy odtworzeniu danych wystarczy jak odzyska się dane tylko z niego
  • Różnicowy lub Kumulacyjny (Cumulative or differential backup) - kopia tylko tych danych, które zmieniły się od ostatniego pełnego backupu.Przy odtworzeniu potrzebujemy, oprócz backupu kumulacyjnego, także ostatni pełny backup.
  • Inkrementalny ( Incremental backup) - kopia zawierająca tylko te dane, które zmieniły się od czasu ostatniego pełnego lub inkrementalnego backupu (zależy który był później). Do odtworzenia danych potrzebujemy ostatni pełny backup oraz wszystkie następujące po nim backupy inkrementalne.
Jest jeszcze czwarty rodzaj backupu:
  • Syntetyczny ( synthetic or constructed full backup) - jest to backup pełny, ale nie stworzony bezpośrednio na systemie, tylko złożony/sklejony z ostatniego pełnego backupu, połączonego z wszystkimi następującymi po nim backupami inkrementalnymi lub różnicowymi.


Metody backupowania:

Sam proces przeprowadzania backupu także można przeprowadzić za pomocą kilku metod:

Backup hot (online) i cold (offline) :
Backup, który odbywa się przy włączonej aplikacji, nazywa się backupem hot. Jeżeli podczas robienia kopii aplikacja jest wyłączona, to mamy do czynienia z backupem cold. Backup hot wiąże się z pewnymi problemami, które należy rozwiązać, aby tworzenie kopii się udało. Przede wszystkim na działającym systemie część plików jest otwarta i używana, pliki takie są "zablokowane" przez system operacyjny i może być niemożliwe zrobienie ich kopii. Są dwie metody obejścia tego problemu:
Po pierwsze, możemy spróbować zbackupować te pliki po jakimś czasie, licząc na to, że zostały już "zwolnione". Rozwiązanie te ma kilka wad: wydłuża nam się czas wykonania kopii, dodatkowo niektóre pliki mogą być otwarte przez cały czas.
Kolejnym sposobem backupu hot systemów jest wykorzystanie agentów, zainstalowanych na systemach. Agenci, współpracując bezpośrednio z OSem, są w stanie skopiować nawet używane pliki. Użycie agentów wiąże się jednak z utratą wydajności.

Point in Time (PIT) replika:
PIT jest to metoda tworzenia kopii, w sytuacji gdy niemożliwe jest ani wyłączenie systemu dla przeporowadzenia backupu cold, ani nawet zaakceptowanie utraty wydajności, związanej z backupem hot.
Ta metoda powoduje chwilowe "zamrożenie" systemu i stworzenie PIT repliki, która jest montowana na drugim serwerze. Backupuje się tą drugą kopię, podczas gdy wersja oryginalna działa bez zakłóceń.

Bare metal recovery (BMR):
BRM jest to backup jest to kopia systemu , razem ze wszyskimi metadanymi , konfiguracjami i resztą ustwień. BRM obejmuje także kopię takich ustawień jak wygląd partycji, systemów pliku, systemu operacyjnego i innych. BRM pozwala na odtworzenie nie tylko danych ale także całego środowiska ( OS, baza itd...) na którym te dane są przetwarzane.


Architektura środowiska backupowego:

W środowisku do backupu można wyróżnić trzy główne elementy:
  • Backup client - system, którego dane będą składowane. Jest na nim zainstalowany agent aplikacji do backupu.
  • Backup server - serwer koordynujący procesy składowania w naszym środowisku. Przechowuje katalog, w którym znajdują się informacje o wszystkich backupach,  metadane potrzebne do prawidłowej obsługi składowań.
  • Storage node - Jest to host, który kontroluje i przeprowadza wysyłanie danych do urządzeń storage ( macierze, biblioteki).
Często backup server i storage node to jedna fizyczna maszyna.


Proces backupu:
  1. Backup serwer utrzymuje harmonogram wykonywania składowań. Kiedy nadchodzi ustawiona pora serwer rozpoczyna proces.k
  2. Backup serwer pobiera dane dotyczące danego składowania z katalogu.
  3. Backup serwer wydaje, do storage node, polecenie załadowania odpowiedniego backup medium (np: taśmy do napędu)
  4. Backup serwer instruuje backup klienta, jakie dane mają być wysłane do storage noda i jakie metadane do backup serwera.
  5. Backup klinet wysyła dane do storage noda
  6. Storage node wysyła dane do urządzenia storage (macierz, biblioteka)
  7. Storage node wysyła informacje, gdzie zostały zeskładowane dane do backup serwera
  8. Backup serwer uaktualnia katalog.


Proces odtworzenia:
  1. Użytkownik inicjuje backup
  2. Backup serwer przegląda katalog i sprawdza które dane muszą być odzyskane
  3. Dane są przesyłane do backup klienta
  4. Storage node wysyła metadane do backup serwera
  5. Backup serwer uaktualnia katalog



Kolejny wpis dalej będzie związany z backup/restore. 

1 komentarz:

  1. Dlaczego piszesz, że backup może służyć jako archiwizacja? Wiem, że tych pojęć używa się zamiennie, ale nawet wikipedia "mówi" że to błąd. Backup służy do przywracania całego systemu danych a archiwizacja- tak jak napisałeś na e-maile, dane klientów/użytkowników, logi itp. Czy coś źle rozumiem?

    OdpowiedzUsuń