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 Ciągła dostępność z wieloma ośrodkami zapasowymi Klastry wysokiej dostępności i replikacja synchroniczna Odtwarzanie po awarii i wysoka dostępność wielu ośr.: Synchroniczne: Replikacja pamięci masowych i transakcji Wysoka dostępność wielu ośrodków zapasowych: Asynchroniczne: Replikacja transakcyjna Wiele ośrodków zapasowych 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 + Replikacja pamięci masowych + Mirror Activator Replikacja pamięci masowych + Mirror Activator Replication Server Replikacja pamięci masowych 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 Wydajną dystrybucję w sieci Synchronizację heterogenicznych baz danych w czasie rzeczywistym Strona replikacji ASE SQL Anywhere Sybase IQ Źródła danych ASE SQL Anywhere Oracle Microsoft SQL Server DB2 Strona źródłowa Replication Agent Replication Server Enterprise Connect Oracle Microsoft DB2 Przez ODBC
REPLICATION SERVER Dlaczego replikacja danych z RS jest szybka i niezawodna Stacja robocza update t1 set a=a*1.1 where b=100 commit insert update delete. commit Agent Replikacji...... 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 OpenSwitch e-commerce Klienci 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 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) ASE Serwer A DEADLOCK! Jaguar CTS ISQL bezczynny Transakcja DEADLOCK! ASE Serwer B PowerBuilder Odbieranie wyników OpenSwitch ISQL bezczynny
OpenSwitch Pula A Pula A Chained Pula A Pula B Pula B 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 Włącz Mirror (okno czasowe) Rozłącz mirror Wstrzymaj aktywność Wznów aktywność Raport 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 Brak utraty danych Ograniczona odległość ze względu na wydajność replikacji Ze względu na wykonywanie operacji I/O synchronicznie replikacja ma wpływ na działanie aplikacji Replikacja asynchroniczna Możliwość utraty części w razie awarii Skalowalność na dużych odległościach Wpływ replikacji na aplikacje jest minimalny
Porównanie replikacji macierzy i transakcyjnej Replikacja macierzy Synchroniczna i asynchroniczna Odtwarzanie po awarii dla całego środowiska (DB, App, Web Servers, Systemy plików) Zapasowy serwer nie może być równocześnie używany Nie chroni przez logicznymi uszkodzeniami. Uzależniona od platformy sprzętowej. Dostarczana dla HA oraz DR Replikacja transakcyjna Tylko asynchroniczna Odtwarzania po awarii ograniczone tylko do DBMS Zapasowy serwer może być równocześnie użyty do raportowania oraz przez aplikacje typu DSS Zapewnie ochronę przed logicznymi błędami Niezależna od platformy sprzętowej 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 DBMS Replikacja macierzy DBMS Serwer WWW Serwer aplikacji Macierz dyskowa Macierz dyskowa Serwer WWW Serwer aplikacji Serwer podstawowy 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 Klaster serwerów aplikacji Centrum zapasowe Klaster serwerów aplikacji Sybase ASE Mirror Activator Sybase ASE Macierz dyskowa Macierz dyskowa Replikacja na poziomie Dane Log Log Log Dane macierzy
Centrum zapasowe przykład 2 Warszawa Mirror Activator Pruszków (16 km) 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 2 CPUs + 4Gb Sybase ASE 2-engine Komunikacja po wewnętrznej systemowej magistrali 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