Flashcopy w praktyce Implementacja mechanizmu Flashcopy na systemach IBM i Piotr Kozowicz ING Bank Śląski S.A.
Agenda 1. Co to jest Flashcopy? 2. Do czego możemy wykorzystać flasha? 3. Co jest potrzebne do zrobienia flasha? 4. Jak działa Flashcopy? 5. Jak zrobić flasha? 6. Rodzaje flashy 7. Zagrożenia i mechanizmy obronne 8. Wydajność
Co to jest Flashcopy? Flashcopy jest mechanizmem pozwalającym na wykonanie migawki/snapshota wybranej grupy dysków (ASP). Migawka wykonuje się niemal natychmiastowo, w ciągu kilku sekund, niezależnie od ilości dysków i ich rozmiaru. Jest to funkcjonalność macierzy dyskowej, a nie systemu operacyjnego. Flashcopy jest wykonywane w ramach jednej macierzy. Flashcopy = snapshot = migawka = point-in-time-copy
Do czego możemy wykorzystać Flashcopy? skrócenie okna backupowego do paru minut, niezależnie od ilości danych możliwość rezygnacji ze składowań na taśmy dla niektórych backupów możliwość szybkiego przywrócenia stanu środowiska sprzed czasu t 0 odciążenie środowiska produkcyjnego od workloadu związanego z raportowaniem prosty sposób na sprawdzenie odporności systemu na awarię
Co jest potrzebne do zrobienia flasha? Macierz która to obsługuje np. DS8870. UWAGA: Flashcopy jest dostępne w wielu macierzach IBM`a ale mechanizm i sposób działania może się różnić. Warto czytać redbooki A ponadto: oprogramowanie do obsługi Flashcopy na IBM i czyli usługi klastrowe PowerHA (5770HAS PowerHA for i, 5770SS1 HA Switchable Resources) zasoby dyskowe LPAR do obsługi flashy analiza zmienności danych Licencje PTC i/lub PTC SE na DS8k
Jak działa Flashcopy? Uruchomienie Flashcopy powoduje powstanie powiązania ( flashcopy relationship ) pomiędzy LUN`em źródłowym, a docelowym. Macierz tworzy bitmapę, w której śledzi zmiany. Na tym etapie możliwe są dwa scenariusze: - COPY - NOCOPY
Jak działa Flashcopy? Opcja COPY powoduje kopiowanie całego wolumenu w tle. Opcja NOCOPY przeniesie na flasha tylko zmiany.
Jak działa Flashcopy? Po uruchomieniu flashcopy można swobodnie korzystać z migawki w trybie read/write. Część odczytów będzie obciążała wolumen źródłowy.
Jak działa Flashcopy? Zapis na migawce, powoduje aktualizację bitmapy, aby zapobiec nadpisaniu nowej wartości na wolumenie flashowym.
Rodzaje Flashcopy Temperatura flasha Cold Quiesced Warm Najlepsza jakość danych Konieczność wyłączenia ASP Jedyna metoda, żeby zagwarantować 100% spójność danych ASP podnosi się w trybie NORMAL ASP zawieszone (suspended) za pomocą komendy SETASPACT Pamięć operacyjna zrzucona na dysk (opcjonalnie) ASP podnosi się w trybie ABNORMAL Spójność danych powinna być zachowana, krótki proces Database Recovery ASP cały czas włączone Pamięć operacyjna zrzucona na dysk (opcjonalnie ASP podnosi się w trybie ABNORMAL Długi proces Database Recovery Duże prawdopodobieństwo uszkodzenia obiektów Możliwe problemy ze spójnością danych
Jak zrobić flasha? Krok po kroku Utworzyć i skonfigurować klaster HA (komenda CRTCLU) Dodać nody klastra Utworzyć iasp (System i Navigator) Przygotować dyski dla Flashcopy i wystawić je do systemu, na którym będą podnoszone flash`e Utworzyć ASP Copy Description (CRTASPCPYD) Przygotować iasp do robienia flash`a (np. poprzez vary off, suspend lub flush pamięci operacyjnej) Z poziomu systemu flashowego wykonujemy komendę STRASPSSN Przywracamy pełną funkcjonalność iasp Na systemie flash`owym podnosimy iasp i obserwujemy status operacji korzystając z DSPASPSTS Uruchamiamy backup, zadania raportujące itp. Zamykamy sesję flash`ową komendą ENDASPSSN po wcześniejszym wyłączeniu iasp
Jak zrobić flasha? Krok po kroku
Jak zrobić flasha? Krok po kroku
Jak zrobić flasha? Krok po kroku
Jak zrobić flasha? Krok po kroku
Jak zrobić flasha? Krok po kroku
Jak zrobić flasha? Krok po kroku
Jak zrobić flasha? Krok po kroku
Jak zrobić flasha? Krok po kroku
Zagrożenia FLASHCOPY KOPIUJE TYLKO DYSKI! TO CO JEST W PAMIĘCI NIE JEST KOPIOWANE! JOURNALING JEST KRYTYCZNY!
Zagrożenia PODSTAWOWE ZAGROŻENIE TO SINGLE LEVEL STORAGE. Utrata danych Niespójne dane Uszkodzone obiekty Uszkodzone access pathy
Środki zapobiegawcze Wszystkie obiekty znajdujące się w iasp powinny być kronikowane lub powinny mieć zapewniony mechanizm rekreowania (dla obiektów szybkozmiennych np. *DTAQ) Access pathy powinny być chronione mechanizmem SMAPP, a dla krytycznych AP powinno stosować się odrębny journaling (STRJRNAP) Jeśli to możliwe należy poprzedzać flashcopy wyłączeniem lub wyciszeniem ASP Jeśli stosujemy gorącego flasha należy rozważyć wykonanie komendy CHGASPACT *FRCWRT Access path recovery powinno być ustawione na *AFTIPL (maksymalna ilość zadań jakie system tworzy do odbudowy jest równa ilości procesorów wirtualnych) Journaling chroni przed uszkodzeniem obiektów
Flashcopy SE Flashcopy SE = Flashcopy Space-Efficient Funkcjonalnie to samo co zwykłe Flashcopy. Jedyna róznica to rodzaj wolumenów jakie tworzymy na macierzy. W przypadku Flashcopy SE tworzymy wolumeny typu TSE (track spaceefficient). Przydatne do backup`ów, dla danych o niewielkiej zmienności ( < 20%, optimum 5%) Pozwala zaoszczędzić dużo miejsca na macierzy
Flashcopy SE Repository wydzielona przestrzeń z exent pool`i. Zawiera przestrzeń logiczną i fizyczną, gdzie przestrzeń logiczna jest dużo większa od fizycznej. Służy do przechowywania danych z wolumenów wirtualnych utworzonych w ramach repository. Nie można dynamicznie zwiększać i zmniejszać rozmiaru repozytorium.
Flashcopy SE planowanie przestrzeni Potrzebna przestrzeń = procent zmienności danych * czas trwania flasha * wielkość przestrzeni źródłowej Np. Wielkość ASP 1TB, Zmienność 1% na godzinę, Czas trwania flasha 5 godzin Potrzebna przestrzeń = 1%*5*1TB= 50GB Ważne: Flashcopy operuje na jednostkach wielkości 64KB Należy wziąć pod uwagę ilość flashy (wykonywanych równolegle) Pojemność można oszacować robiąc test za pomocą zwykłego flashcopy i używając komendy lsflash -l
Flashcopy SE kwestia wydajności
Flashcopy SE kwestia wydajności Zwykłe Flashcopy jest dużo szybsze od Flashcopy SE. Sekwencyjność danych nie jest zachowana tzn. dane w repozytorium mogą znajdować się na dyskach w innej kolejności Wydajność dysków jest istotna Dyski produkcyjne i dyski flashowe powinny być w osobnych extent pool`ach. Ograniczyć do minimum ilość równoległych flashy Unikać używania Flashcopy SE do tworzenia migawki po której następuje bardzo duża ilość zapisów (np. podczas reorganizacji bazy danych) Wartorobić flasha w lokalizacji zapasowej (DR)
Flashcopy intergracja z BRMS`em Problem: Dane z systemu PROD są składowane na systemie FC BRMS myśli, że są to dane z FC, a de facto są to dane produkcyjne. Implementacja Flashcopy powinna być uwzględniona w procedurach DR! BRMS nie uwzględnia tego w raporcie odtworzeniowym BRMS nie wie z jakiej godziny pochodzą dane CALL QBRM/Q1AOLD PARM('HSTUPDSYNC' '*ADD' SYSTEM NETWORK ID' 'IASPNAME' '*CHGSYSNAM') https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/ibm+backup,+recovery+and+media+services +(BRMS)+for+i/page/Specific+System+Synchronization+in+a+Flash+Copy+Environment 18:00 Rozpoczęcie flashcopy 18:30 Batch insert into database 18:45 Backup on Flash system
Flashcopy - pytania piotr.kozowcz@ingbank.pl