środa, 6 października 2010

ISM - Metody lokalnej replikacji

Metody lokalnej replikacji można podzielić na dwie kategorie:
  • Host based
  • Storage Array based
Gdy mówimy o lokalnej replikacji typu host based, to odbywa się ona z wykorzystaniem zasobów hosta (CPU) i na poziomie hosta, poprzez pracujący na nim software. W tym przypadku o lokalnej replikacji mówimy jeżeli odbywa się w zakresie jednego datacenter. Przykładami replikacji lokalnej tyou host based są: Logical Volume Manager (LVM) base mirroring i File System Snapshot

Replikacja lokalna typu Storage Array based odbywa się w obrębie jednej macierzy i wykorzystuje jej zasoby do stworzenia kopii danych. Przykładami replikacji tego typu są: Full volume mirroring , Pointer based full volume replication, Pointer based virtual replication


Replikacja host based: LVM Based Mirroring

W tej metodzie za replikację jest odpowiedzialny LVM, który składa się z trzech komponentów:
  • Wolumeny fizyczne (physical volumes) - tożsame z dyskami
  • Grupy wolumenów (volume groups) - jeden lub większa ilość wolumenów fizycznych
  • Logiczny wolumen (logical volumes) - struktura logiczna zbudowana w obrębie jednej grupy
Przy replikacji na poziomie LVMa, każda partycja logiczna (struktura w logicznym wolumenie) jest podmapowana do dwóch partycji fizycznych. Aplikacja pisze do podmapowanej partycji logicznej a sterownik LVMa zapisuje na dwie partycje fizyczne. Ta metoda jest także znana jako LVM mirroring.
Dwie zmirrorowane partycje fizyczne mogą być rozdzielone.


Replikacja host based: File System Snapshot

Snapshot FSa to replika oparta na wskaźnikach do danych. Metoda ta wykorzystuje dwie struktury bitmape i mapę bloków:
  • Bitmap : używana jest do śledzenia bloków które ulegają zmianie po stworzeniu snapshota. Początkowo cała wypełniona jest zerami.
  • Block map : zawiera wskaźniki do bloków danych które musza byc odczytane ze snapshota
Mechanizm działania snapshota jest następujący: podczas jego tworzenia, powstają także bitmapa i block mapa. Przy zapisywaniu danych stosowany jest mechanizm Copy on First Write (COFW) - oznacza to że przy pierwszej zmianie danego bloku, dane nie są nadpisywane ale przekopiowywane na nowe miejsce. Następnie bit w bitmapie odpowiadającej za ten blok danych zmienia swoją wartość z 0 na 1 , a wskaźnik w block mapie zaczyna wskazywać na miejsce do którego przekopiowano dane. 
Dzięki zastosowaniu tej metody snapshot zajmuje tylko tyle miejsca ile zajmują zmiany wykonane od czasu jego wykonania do chwili obecnej. Wadą tego typu replikacji jest wyższe zużycie CPU ( LVM musi zajmować się śledzeniem zmian).


Replikacja storage based: Full Volume Mirroring

W full volume mirroring-u do LUNa źródłowego jest przypisany (attached) LUN docelowy i między nimi ustalone jest powiązanie typu mirror. Wszyskie dane zostają przegrane z źródła do celu, nowe zmiany także są synchronizowane. LUN źródłowy i docelowy mają dokładnie te same dane.
Jeżeli cel jest w stanie: przypisany (attached) wtedy jest on niedostępny dla hostów.
Taką struktrurę można rozłączyć (detached) w takim przypadku cel staje się PIT (Point in time) repliką LUNa źródła i może zostać podłączony do hostów np w celach testowych lub do zrobienia backupu.
Po rozłączeniu zmiany zarówno na LUNie źródłowym jak i docelowym są śledzone i przy ponownym przypisaniu synchronizowaniu ulegają jedynie zmiany.


Replikacja storage based: Pointer Based Full Volume Replication

Ten typ replikacji tworzy replikę od razu dostępną po włączeniu sesji replikacyjnej ( nie ma potrzeby czekania aż istniejące dane przekopiują się ze źródła do celu ), od razu kopia jest też dostępna do wystawienia dla hostów. Czas aktywowania definiuje PIT kopii.
Pointer based, full volume repliaction może być uruchomiona w dwóch trybach:
  • Copy on First Access (CoFA)
  • Full Copy
W obydwu przypadkach, podczas aktywowania replikacji tworzona jest bitmapa dla wszystkich danych na źródle. Wskaźniki w tej bitmapie wiążą puste bloki na celu z blokami z danymi na źródle. Następnie w zależności od trybu w jakim działa replikacja dane są kopiowane ze źródła do celu.

Copy on First Access:
W tym trybie dane są kopiowane na źródło zawsze kiedy host próbuje się do nich odnieść po raz pierwszy od stworzenia PIT kopii.
Nieco dokładniejszy opis tego procesu:
  • Kiedy do źródła jest wysyłane ( po raz pierwszy) żądanie zapisu - oryginalne dane są kopiowane na cel + nowe dane są zapisywane na źródle. Dane zostają oznaczone (na bitmapie) jako przekopiowane.
  • Kiedy do celu wysyłane ( po raz pierwszy) jest żądanie odczytu - oryginalne dane są kopiowane ze źródła na cel. Dane zostają oznaczone (na bitmapie) jako przekopiowane.
  • Kiedy do celu jest wysyłane (po raz pierwszy) jest żądanie zapisu - oryginalne dane są kopiowane ze źródła na cel a następnie nadpisywane nowymi danymi. Dane zostają oznaczone (na bitmapie) jako przekopiowane.
Kluczowy tutaj jest fakt oznaczania danych jako przekopiowanych. Po tej zmianie zarówno dane na źródle jak i na celu mogą się zmieniać, co doprowadza do sytuacji, że oryginalna PIT kopia przestaje istnieć.


Full Copy Mode:
W tym trybie od razu po stworzeniu PIT kopii (aktywacji sesji replikacyjnej) rozpoczyna się proces kopiowania w tle wszystkich danych ze źródła na cel.


Replikacja storage based: Pointer Based Virtual Replication

W tym rodzaju replikacji po uruchomieniu cel zawiera tylko wskaźniki do danych na źródle. Początkowo wielkość repliki jest równa zero. W tej metodzie replikacji cel jest nazywany virtualną repliką, ponieważ nie jest LUNem czy przestrzenią dyskową ale zbiorem wskaźników.
Pointer Based Virtual Replication używa mechanizmu Copy on First Write ( CoFW)
CoFW działa następująco:

  • Kiedy do źródła jest wysyłane ( po raz pierwszy) żądanie zapisu - oryginalne dane są kopiowane do pewnego wcześniej zdefiniowanego obszaru na macierzy (tzw: save location). Wskaźnik na celu jest zmieniany na tą nową lokację. Po wykonaniu tego orginalne dane na źródle są nadpisywane. 
  • Kiedy do celu jest wysyłane (po raz pierwszy) jest żądanie zapisu - oryginalne dane są kopiowane ze źródła na save location, a następnie zmianie ulegają wskaźniki w celu. Potem wykonuje się jeszcze jedną kopię danych w save location i dopiero potem nadpisuje je nowymi danymi.



Tyle o lokalnej replikacji - pominąłem trochę materiału o szczegółach dotyczących śledzenia zmian i odtwarzania z repliki. Sprawy raczej oczywiste i wynikające już z tego co zostało napisane.
Kolejny wpis będzie o zdalnej replikacji i na tym skończymy trzecią (z czterech) sekcji przygotowujących do egzaminu na EMC Proven Associate.

Brak komentarzy:

Prześlij komentarz