„Przewidywanie Nieprzewidywalnego” Sybase w środowiskach wysokiej dostępności. Jak wykorzystać technologie do budowy centrum zapasowego. SŁAWOMIR NOWAK KONSULTANT TECHNICZNY WARSZAWA, 10 Grudnia 2009 Centrum Kompetencyjno‐Szkoleniowe SOLIDEX Wysoka dostępność/bezpieczeństwo • • • • • Ciągłość pracy Brak utraty danych Spójność danych Rozsądne koszty Wykorzystanie serwerów/środowisk zapasowych do analiz Centrum Zapasowe Agenda • • • • Przegląd rozwiązań związanych z dostępnością danych Asynchroniczna replikacja danych – Replication Server Zarządzanie połączeniami ‐ Sybase OpenSwitch Połączenie replikacji synchronicznej z asynchroniczną – Mirror Activator dla Sybase ASE/Oracle • Edycja klastrowa serwera bazy danych ‐ ASE Cluster Edition • Nowe cechy w wersji ASE 15.5 • Podsumowanie Poziomy dostępności Klastry wysokiej dostępności i replikacja synchroniczna ASE Cluster Edition + Replikacja pamięci masowych + Mirror Activator Odtwarzanie po awarii i wysoka dostępność wielu ośr.: Synchroniczne: Replikacja pamięci masowych i transakcji Replikacja pamięci masowych + Mirror Activator Ciągła dostępność z wieloma ośrodkami zapasowymi Wysoka dostępność wielu ośrodków zapasowych: Asynchroniczne: Replikacja transakcyjna Wiele ośrodków zapasowych Replication Server Replikacja pamięci masowych Replikacja plików Dostępność ośrodka HA Clusters i HA Software & CE Dostępność serwera Nadmiarowość sprzętu: RAID/Mirroring/ Hot Swap CPUs Odzyskanie serwera Cold Standby: kopia zapasowa / odzyskanie bazy danych i logu ASE Cluster Edition ASE HA Option Nadmiarowość dysków i sprzętu Serwer kopii zapasowych (Backup Server), BMC SQL Backtrack Replikacja asynchroniczna • Aktualizacja danych w punktach replikacji nie zachodzi w tym samym czasie – Nieunikniony czas opóźnienia* • Jeżeli transakcja nie powiedzie się w jednym z miejsc replikacji, może się powieść na wszystkich pozostałych – Błędne transakcje są wycofywane jedynie w miejscu jej wystąpienia – Transakcja jest nanoszona w pozostałych punktach replikacji – Opóźnienia są nieuniknione w punktach replikacji, które są niedostępne *czas opóźnienia – różnica w czasie pomiędzy wykonaniem zmian oryginalnych danych na serwerze źródłowym z czasem na serwerze docelowym dla replikacji Replikacja asynchroniczna – przykładowe metody • • • • Kopia bazy danych ‐> transfer ‐> wczytanie kopi danych Kopia przyrostowa ‐> transfer ‐> wczytanie kopi przyrostowej Wyładowanie danych do pliku tekstowego ‐> wgranie danych Odznaczanie wierszy do replikacji za pomocą dedykowanej tabeli a następnie nanoszenie ich na serwer docelowy • Replikacja transakcji – Odczyt na bieżąco zmian danych na podstawie dziennika transakcji – Nanoszenie transakcji na serwer docelowy w trybie ciągłym Replication Server Sybase Replication server realizuje replikację danych w trybie online zapewniając: Wykrywanie transakcji Elastyczne transformacje danych Strona replikacji Wydajną dystrybucję w sieci • ASE • SQL Anywhere • Sybase IQ Synchronizację heterogenicznych baz danych w czasie rzeczywistym Enterprise Connect Źródła danych • ASE Strona źródłowa • • • • Replication Agent • SQL Anywhere • Oracle • Microsoft SQL Server • DB2 Replication Server Oracle Microsoft DB2 Przez ODBC REPLICATION SERVER Dlaczego replikacja danych z RS jest szybka i niezawodna Stacja robocza Agent Replikacji update t1 insert ………… set a=a*1.1 update ……… where b=100 commit delete ………. commit ……………….. ……………….. ……………….. ASE RS ASE Partycje RS REPLICATION SERVER e-Commerce Klienci OpenSwitch Produkcyjne ASE Rep Server WAN Standby ASE • Dane replikowane na bieżąco do serwera standby • Dane w bazie standby dostępne dla aplikacji • OpenSwitch kieruje połączenia użytkowników do aktywnego serwera bazy danych • OpenSwitch może automatycznie przełączyć stronę aktywną i połączenia użytkowników REPLICATION SERVER e-Commerce Klienci OpenSwitch Produkcyjne ASE Rep Server WAN Standby ASE OpenSwitch • • • • • • • Zarządzanie dostępem do zasobów (Resource Governing) Wysyłanie komunikatów do klientów Dynamiczna konfiguracja Narzędzie do konfiguracji Współdziałające ze sobą serwery OpenSwith Standardowy moduł koordynujący dla replikacji (RCM) Współdziałające moduły koordynujące (CM) OpenSwitch • Przełączenie jest niewidoczne dla klientów ASE Serwer A ASE Serwer B – Którzy nie mają otwartej transakcji – Którzy są „bezczynni” • Administracyjne żądania przełączenia – Zachowanie jest konfigurowalne – Przełączenie może oczekiwać na zakończenie transakcji – Można podać maksymalną ilość sekund w oczekiwaniu na zakończenie transakcji przez klienta – Można wymusić przerwanie transakcji (przesłanie “deadlock” do klienta) OpenSwitch DEADLOCK! Jaguar CTS DEADLOCK! ISQL PowerBuilder ISQL bezczynny Odbieranie bezczynny Transakcja wyników OpenSwitch Pula A Pula A Pula B Pula B Chained Pula A Balanced Pula B OpenSwitch • Wstrzymaj/Wznów – – – – – Jedno lub więcej połączeń może być tymczasowo wstrzymane Można czekać na zakończenie transakcji lub zwrócić “deadlock” do klienta Pozwana na krótkie okna administracyjne Pozwala na bezpiecznie wyciszenie serwera Pozwala bezpieczenie wykonać lub rozłączyć mirroring sprzętowy na poziomie OS Rozłącz mirror Włącz Mirror (okno czasowe) Wstrzymaj aktywność Raport Wznów aktywność Raport Raport Raport Replikacja synchroniczna • Brak opóźnień w synchronizacji danych (zero latency) – dane są jednocześnie nanoszone we wszystkich miejscach • Transakcje są nanoszone w całości lub nie są nanoszone w ogóle we wszystkich miejscach replikacji • Jeżeli transakcja zawiedzie w jednym miejscu powoduje jej wycofanie w całym systemie replikacji • Możliwe opóźnienia związane z potrzebą potwierdzenia zapisu we wszystkich punktach replikacji Replikacja synchroniczna – przykładowe metody • Opcja replikacji macierzowej • Wykorzystanie Two‐Phase‐Commit Porównanie typów replikacji Replikacja synchroniczna Replikacja asynchroniczna Brak utraty danych Możliwość utraty części w razie awarii Ograniczona odległość ze względu na Skalowalność na dużych wydajność replikacji odległościach Ze względu na wykonywanie operacji I/O synchronicznie replikacja ma wpływ na działanie aplikacji Wpływ replikacji na aplikacje jest minimalny Porównanie replikacji macierzy i transakcyjnej Replikacja macierzy Replikacja transakcyjna Synchroniczna i asynchroniczna Tylko asynchroniczna Odtwarzanie po awarii dla całego środowiska (DB, App, Web Servers, Systemy plików) Odtwarzania po awarii ograniczone tylko do DBMS Zapasowy serwer nie może być równocześnie używany Zapasowy serwer może być równocześnie użyty do raportowania oraz przez aplikacje typu DSS Nie chroni przez logicznymi uszkodzeniami. Zapewnie ochronę przed logicznymi błędami Uzależniona od platformy sprzętowej. Niezależna od platformy sprzętowej Dostarczana dla HA oraz DR Pracujące bazy danych używane dla HA/DR, integracja, dystrybucja danych do innych systemów Mirror Activator • Mirror Activator stanowi pomost pomiędzy replikacją transakcyjną a replikacją na poziomie macierzy – Ulepsza replikację macierzy poprzez aktywne zagospodarowanie zapasowego systemu baz danych wraz z zagwarantowaniem integralności na poziomie transakcji – Pracuje z macierzami różnych dostawców Mirror Activator Systemy bazodanowe Serwer WWW Serwer aplikacji DBMS Macierz dyskowa Serwer podstawowy DBMS Replikacja macierzy Macierz dyskowa Serwer WWW Serwer aplikacji Serwer zapasowy Mirror Activator – serwery bazy danych • Sybase – ASE 12.5.4, 15.0.x, 15.0.1 CE • Oracle – Oracle 9i, 10g, 11g RAC dla 10g ASM dla 10g oraz 11g Centrum zapasowe – przykład 1 Centrum Przetwarzania Centrum zapasowe Klaster serwerów aplikacji Klaster serwerów aplikacji Sybase ASE Sybase ASE Mirror Activator Macierz dyskowa Dane Log Replikacja na poziomie macierzy Macierz dyskowa Log Log Dane Centrum zapasowe – przykład 2 Warszawa Pruszków (16 km) Mirror Activator Kraków (300 km) Replication Server Replikacja macierzy dla MA ‐ wymagania • Dane na macierzy docelowej (np. centrum zapasowym) muszą być do odczytu • MA jest niezależny od dostawcy macierzy • Wspierane macierze: – EMC® SRDF™, CLARiiON™ – IBM® PPRC – Hitachi TrueCopy™ – Veritas Volume Replicator™ – Network Appliance® SnapMirror® Mirror Activator ‐ podsumowanie • Mirror Activator jest nowoczesnym rozwiązaniem zapewniającym bezpieczeństwo danych. • MA eliminuje przerwy w dostępie do krytycznych danych poprzez zapewnienie dostępu do systemu zapasowego w trybie ciągłym. – Pracuje w połączeniu z replikacją na poziomie macierzy – Obniża koszty utrzymania systemu (TCO) Replikacja synchroniczna tylko dziennika transakcji – Chroni przed logicznymi uszkodzeniami danych – Gwarantuje spójność danych na poziomie transakcji – Zwiększa dostępność danych w razie planowanych/nieplanowanych przerw w dostępności serwera podstawowego – Umożliwia wykorzystanie zapasowego systemu przez udostępnienie go dla aplikacji raportujących Agenda Sybase ASE Cluster Edition – Architektury Klastrowe – Nowe ASE CE jako Shared Disk Cluster – Najważniejsze cechy ASE CE – Zarządzanie Obciążeniem – Ciągłość Pracy Aplikacji Architektury klastrowe • Shared Disk Cluster – Zasób dyskowy jest jedyną współdzieloną rzeczą pomiędzy instancjami – Każdy instancja ma równy i równoległy dostęp do tego samego zasobu danych – Wymaga specjalnie udostępnionego współdzielonego zasobu dostępnego dla każdej z instancji klastra (SAN/NAS) Sybase ASE CE, Oracle RAC • Shared‐Nothing Cluster – Brak jednocześnie współdzielonych zasobów pomiędzy instancjami – W danej chwili urządzenia dyskowe są dostępne tylko przez pojedynczą instancje lub każda instancja ma dostęp tylko do swoich prywatnych zasobów Sybase ASE (HA, CIS) i większość konkurencji • MPP (Massive Parallel Processing) – Dane są partycjonowane na wszystkich instancjach – Zapytania są wykonywane równolegle na partycjonowanych danych Sybase MPP (znany jako „Navigator Server”) i IBM DB2 EEE Czy większy znaczy lepiej? A co z wydajnością (teoretycznie) … Która z architektur będzie bardziej wydajna? 8 CPUs + 16Gb Sybase ASE 8-engine 2 CPUs + 4Gb Sybase ASE 2-engine Komunikacja po wewnętrznej systemowej magistrali 2 CPUs + 4Gb Sybase ASE 2-engine Komunikacja po Gigabit ethernet 2 CPUs + 4Gb Sybase ASE 2-engine 2 CPUs + 4Gb Sybase ASE 2-engine Nowy ASE CE • ASE Shared Disk Cluster – Wiele serwerów ASE współdzielących pojedynczy zbiór dysków / baz danych – Wszystkie dane są dostępne przez wszystkie instancje ASE – Instancje klastra widziane jako jeden system – Niepotrzebne żadne dodatkowe oprogramowanie klastrowe SAN ASE Cluster Edition