PLSSUG Meeting - Wysoka dostepność SQL Server 2008 w kontekscie umów SLA
1. Wysoka dostępność SQL Server 2008
w kontekście umów SLA
{GET DATE – 28/04/2009}
{WHERE – ABC Data, ośrodek poznański}
{AUDIENCE TYPE – członkowie PLSSUG Poznań}
3. {get BIO}
•związany z informatyką od połowy lat dziewięćdziesiątych
•kilkuletnie doświadczenie w informatyce bankowej [Zorba, AS/400, ICBS, BTeller]
•kilkuletnie doświadczenie w Centrum Przetwarzania Danych
•na co dzień zajmujący się MOSS, Disaster Recovery, High Availibility, wirtualizacją,
bezpieczeństwem fizycznym, tworzeniem procedur bezpieczeństwa
•uczestnik kilku programów Microsoft: Connect, Community Leadership Programm,
ITPro Momentum, VS2010 Terminology Community, Windows 7 Beta 2 PL
•Konsultant i wdrożeniowiec przy projektach audytów licencyjnych, systemów bezpieczeństwa
antywirusowego, tworzenia ośrodków przetwarzania danych
•lider wrocławskiej grupy PLSSUG
•prelegent na spotkaniach społeczności PLSSUG, ISSA, SE Club,
•Thawte Web Of Trust Notary
4. Agenda
• Czym jest HA (High Availibility)
• Dlaczego SLA – co to jest?
• Zastosowanie HA w organizacji
• Zastosowanie SLA w organizacji
• Zależności SLA i HA
• Przykłady
• Q&A
5. Czym jest HA ?
• Wysoka dostępność (HA) to zapewnienie
nieprzerwanej pracy urządzeń i systemów na
środowiska
potrzeby (zazwyczaj)
produkcyjnego w przedsiębiorstwie.
• Ma zapobiegać utracie danych w wyniku:
− błędów oprogramowania,
− defektów produkcyjnych,
− awarii sprzętowych
− naturalnych katastrof
− błędów człowieka
− innych nieprzewidzianych zdarzeń
6. Dwa rodzaje niedostępności:
• – Planowana Niedostępność
PSO Planned System Outages
Systemu
− zaplanowana minimalna niedostępność systemu, spowodowana
koniecznością przeprowadzenia prac modernizacyjnych, instalacji
poprawek, wymianą/rozszerzeniem rozwiązań sprzętowych,
− uzgodniona z klientem i nie wpływająca na postanowienia HA i
SLA, do momentu…
• USO Unplaned System Outages – Nieplanowana Niedostępność
Systemu
− wystąpienie błędu uniemożliwiającego częściową, bądź całkowita
pracę środowiska w sposób odczuwalny, mierzalny przez klienta
− powodująca wysokie koszty w przypadku konieczności napraw, jak
również płatności karnych za niewykonanie SLA
7. Wskaźniki wydajności (HA)
• Każdy z nas słyszał o popularnych dziewiątkach?
• Co to naprawdę jest dostępność rzędu 99,99%?
• Dostępność 99,99% to NIEDOSTĘPNOŚĆ rzędu
0,01% w zadanym okresie (np. rocznym), czyli…
• Ile to jest w przeliczeniu na niedostępność
serwera/środowiska/bazy:
• Availability = MTBF / MTBF + MTTR
− MTBF -> Mean Time Between Failures
− MTTR -> Mean Time To Repair
8. Niedostępności w dniach, godzinach, minutach
Availability % Downtime per year Downtime per month* Downtime per week
90% 36.5 days 72 hours 16.8 hours
95% 18.25 days 36 hours 8.4 hours
98% 7.30 days 14.4 hours 3.36 hours
99% 3.65 days 7.20 hours 1.68 hours
99.5% 1.83 days 3.60 hours 50.4 min
99.8% 17.52 hours 86.23 min 20.16 min
99.9% (quot;three ninesquot;) 8.76 hours 43.2 min 10.1 min
99.95% 4.38 hours 21.56 min 5.04 min
99.99% (quot;four ninesquot;) 52.6 min 4.32 min 1.01 min
99.999% (quot;five ninesquot;) 5.26 min 25.9 s 6.05 s
99.9999% (quot;six ninesquot;) 31.5 s 2.59 s 0.605 s
9. Czym jest SLA?
• SLA – Service Level Agreement.
• Początki sięgają 1980 roku i umów pomiędzy operatorami
telekomunikacyjnymi i klientami końcowymi.
• Obustronnie negocjowalna umowa o świadczenie usług
(nie tylko IT, choć tych w szczególności)
• Powinna być zawarta formalnie, choć prawnie
dopuszczalna jest umowa nieformalna
• Obejmująca poziom i zakres świadczonej usługi za
pomocą mierzalnych wskaźników (poziom dostępności,
użyteczności, wydajności)
• Umowa powinna mieć sprecyzowany zakres minimum i
maksimum dla każdej podlegającej jej usługi
10. Mierzalność SLA
Nie ma umowy SLA bez określonych wskaźników pomiaru!!!
PRZYKŁAD DLA CALL CENTER / SERVICE DESK:
• ABA (Abandonment Rate): Odsetek porzuconych połączeń podczas
oczekiwania na odpowiedź.
• ASA (Average Speed to Answer): Średnia czasu (zazwyczaj w sekundach)
potrzebny do połączenia z help deskiem.
• TSF (Time Service Factor): Odsetek odebranych połączeń w precyzyjnych
ramach czasowych, np. 80% w 20 sekund.
• FCR (First Call Resolution): Procent połączenia, podczas których problem
został rozwiązany bez konieczności przełączania do innego eksperta
• TAT (Turn Around Time): Czas potrzebny do zakończenia określonych zadań.
11. Gwarancja SLA w Google
Piotr Waszczuk, IDG News Service
31 października 2008 16:17
Computerworld
Wczoraj (30 października) Google wprowadził gwarancję dostępności komercyjnej wersji pakietu
aplikacji biurowych. Umowa SLA ma obejmować m.in. aplikacje: Kalendarz, Dokumenty i Google
Sites oraz usługę Google Talk. Wcześniej gwarancja taka dotyczyła tylko usługi Gmail.
Google zobowiązał się do zapewnienia dostępności pakietu Google Apps Premier Edition na poziomie 99,9
proc. w skali miesiąca. W ramach rekompensaty za ewentualne dłuższe przerwy w dostępności koncern
zamierza oferować klientom darmowy dostęp do komercyjnych usług. Przykładowo, jeśli dostępność Google
Apps spadnie poniżej poziomu 99 proc. w ciągu miesiąca klienci będą mogli za darmo korzystać z aplikacji
przez trzy dni. W przypadku dostępności na poziomie niższym niż 95 proc. użytkownicy Google Apps
Premier Edition zostaną zwolnieni z opłat na 15 dni.
Uwzględniane będą jednak tylko przestoje trwające dłużej niż 10 minut. Umowa SLA nie uwzględnia również
planowanych przerw technicznych, zapowiedzianych z co najmniej pięciodniowym wyprzedzeniem.
Jednocześnie Google zobowiązuje się, że przerwy takie nie będą trwały dłużej niż 12 godzin rocznie.
Zapowiedź rozszerzenia gwarancji dostępności jest odpowiedzią na wzrastającą liczbę zarzutów
dotyczących spadku jakości oferowanych usług. Tylko w październiku niektórzy użytkownicy Google Apps
nie mogli korzystać z aplikacji nawet przez 30 godzin. Według oficjalnych informacji z aplikacji Google Apps
korzysta ponad 500 tys. firm z całego świata oraz ponad 10 mln aktywnych użytkowników.
12. Zastosowania HA SQL Server 2008
Microsoft SQL Server 2008 oferuje:
• Database Mirroring
• Database Snapshots
• Windows Clustering
• SQL Server Replication
• Hot-add memory and CPU
• Online Index Operations
• Table and Index Partitioning
• Failover Clustering
• Peer-To-Peer Replication
13. Rozwiązania HA dla SQL Server 2008
DATABASE FAILOVER TRANSACTIONAL
AREA LOG SHIPPING
MIRRORING CLUSTERING REPLICATION
some data loss
Data Loss no data loss no data loss some data loss possible possible
Automatic Failover YES (in HA mode) YES no no
YES, connect to same
Transparent To Client YES, autodirect IP no, NLB helps no, NLB helps
20 seconds or more + seconds plus time to
Downtime < 3 seconds time to recovery seconds recovery
Standby Ready Access Yes, with db snapshots no data loss YES
Data Granularity DB only all systems and db's table or view DB only
Masking of hdd failure YES No, shared disk YES YES
NO, duplicate NO, duplicate NO, duplicate
Special hardware recommended Cluster HCL recommended recommended
Complexity Some More More More
14. Database Mirroring
• Mirroring, czyli lustrzane odbicie danych
• Dostępne tylko dla dwóch baz (principal, mirror),
• Wymagana funkcja świadka (witness)
• Wymagania:
− principal, mirror – tylko SQL Server Enterprise
− witness – może być SQL Server Express
• Dostępne dla bazy:
− kopia bazy na innym serwerze fizycznym, i/lub
wirtualnym
• Dostępne dla systemu:
− Kopia całego środowiska na innym serwerze fizycznym
i/lub wirtualnym
15. Fast Manual Failover
• W trybie High Security (synchroniczny mirroring bez świadków),
failover zawsze jest manualny
• SQL Server 2005, jeżeli wystąpi sytuacja awaryjna, baza
danych na serwerze lustrzanym jest zamykana i uruchamiana
ponownie, aby wymusić na odzyskanie niezakontraktowanego
dziennika transakcji
− Może to znacznie wydłużyć czas pracy awaryjnej
− Rozważmy bazę danych z setkami plików, gdzie wszystkie
muszą być otwierane kolejno aby ruchomić bazy danych
• SQL Server 2008 usuwa ten krok, tym samym przyspieszenie i
ograniczenie stosowania awaryjnego przestoju
16. Hot-add memory and CPU
• W SQL Server 2005 dodano możliwość wykorzystania pamięci
dodawanej „na gorąco”
• W SQL Server 2008 rozszerzono możliwości dynamicznej pracy SQL
Server, pozwalając na gorąco dodać CPU
• quot;Hot-addquot; oznacza możliwość podłączenia RAM/CPU do komputera,
gdy komputer jest uruchomiony, a następnie poprzez odświeżenie
SQL Server umożliwić korzystanie z nowego sprzętu ONLINE
• Sprzęt musi obsługiwać Hot-add (oczywiście!!)
− Obsługiwane tylko w wersji Enterprise Edition uruchomiony w 64-
bitowej wersji systemu Windows Server 2008 Datacenter /
Enterprise
− SQL Server nie może automatycznie rozpocząć korzystania z
nowych procesorów / pamięci
− Potrzeba uruchomić polecenie reconfigure
− Uruchomione już kwerendy nie będą korzystać z nowo dodanych
pamięci/procesorów.
17. Peer-to-Peer Topology (?)
• W SQL Server 2005 wprowadzono możliwość użycia rozwiązania
peer-to-peer (lub quot;dwukierunkowejquot;) replikacji transakcyjnej
• Świetny sposób na skalowanie zasobów niezbędnych do pracy
• Częściowo jako sposób na posiadanie „zbędnej kopii”
• Miała jedną poważną wadę - zmiana topologii peer-to-peer wymagała
zatrzymania CAŁEJ działalności na serwerach w drzewie topologii
• W SQL Server 2008,
− zostały usunięte te ograniczenia (w większości przypadków),
− także zmodernizowano kreator konfiguracji peer-to-peer w SSMS
− Przełączanie partycji może zostać powtórzone
18. Peer-To-Peer Topology Wizard
• The wizard now is graphical, with drag-n-drop functionality for making
topology connections
19. SLA – co to ma wspólnego z DBA
• Hours Of Operation:
− Godziny w których partycja/tabela/baza danych musi być dostępna
− Może być różny dla różnych części bazy danych, zależnych np. od
aplikacji
• Procent czasu działania usługi:
− Procent czasu w ciągu (zakresu czasowego) kiedy
usługa/partycja/tabela/baza jest dostępna
• Godziny zastrzeżone dla przestojów:
− Podane z wyprzedzeniem godziny przestojów (przerwy
techniczne) ułatwiają pracę użytkownikom
• Metody pomocy dla użytkowników
• Czas odpowiedzi od HelpDesku
• Czas reakcji DBA na zdarzenie
20. SLA – co to ma wspólnego z DBA - cd
• Liczba użytkowników w systemie
− Liczba transakcji obsługiwanych w danej jednostce czasu
− Dopuszczalne poziomy osiągów dla dostępu do różnych operacji
− Minimalny czas wymagany do replikacji na różne serwery
• Termin na odzyskanie danych z awarii
− Przypadkowe usunięcie danych
− Uszkodzenie bazy danych
− SQL Server Crash
− OS Server Crash
− Czas potrzebny na odczytanie danych w internecie (np.
odczyt/zapis tabeli sprzedaży) tak by mona było kontynuować
prowadzenie sprzedaży
• Maksymalna ilość miejsca
− Maksymalna ilość miejsca na tabele/bazy
− Ilość użytkowników w konkretnych rolach
21. Czy wiesz dlaczego SLA jest ważne
• Tak naprawdę to coś więcej niż tylko podpisana umowa między
klientem a twoim szefem.
• Jest to kontrakt który również TY musisz spełniać
• Jeśli jest podpisana umowa na zero przestojów i zero utraty danych
(abstrakcja?) to musisz mieć pewność, że w przypadku korupcji
możesz tę umowę spełnić (zmiana/usunięcie danych celowo przez
autoryzowanego użytkownika).
• Jeśli nie możesz spełnić SLA, to biznes narażony jest na przestoje i
utratę danych
• Końcowym efektem jest złożenie swojego CV do agencji pracy…
22. Czy myślisz że możesz spełnić swoje
Service Level Agreement?
• Musisz wiedzieć jakie są warunki/wymagania dla SLA jeżeli
masz je spełnić
• Jak możesz je spełnić, jeśli nie wiesz że istnieje umowa SLA?
• Jak możesz przejrzeć umowę skoro nikt Cię nie zaprosił na
spotkanie w sprawie stworzenia umowy SLA?
• Końcowym efektem jest złożenie swojego CV do agencji
pracy…
23. Czy znasz swoje SLA?
• Musisz wiedzieć jakie są warunki/wymagania dla SLA
jeżeli masz je spełnić
• Jak możesz je spełnić, jeśli nie wiesz że istnieje umowa
SLA?
• Jak możesz przejrzeć umowę skoro nikt Cię nie zaprosił
na spotkanie w sprawie stworzenia umowy SLA?
24. Czy uważasz, że możesz spełnić swoje SLA?
• Plan odbudowy wygląda świetnie na papierze – ale czy
kiedykolwiek go przetestowałeś?
• Załóżmy taką sytuacje:
− Dopuszczamy 15 minut niedostępności dla 300 GB bazy
danych
− Jesteśmy w stanie w ciągu tych 15 minut podstawić kopię
bazy dla użytkownika
− Co zrobisz w przypadku uszkodzenia bazy danych?
− Co zrobisz w przypadku uszkodzenia dysku?
− Co zrobisz w przypadku spalenia się płyty głównej?
− Co zrobisz w przypadku przecięcia kabla FC?
− Jak dużo czasu zajmie odzyskanie z backupu?
− Jak dużo czasu zajmie przywiezienie tasiemki z backupem z drugiej
lokalizacji oddalonej o 25 kilometrów w centrum Warszawy o godzinie 14?
Czy dalej spełniasz SLA 15 minut przestoju?
26. Podsumowanie
• Musisz wiedzieć o istnieniu SLA
• Musisz brać udział w tworzeniu umowy SLA
(wymagań/możliwości/technologii)
• Musisz mieć plany awaryjne –
PRZETESTOWANE
• Musisz mieć wiedzę o swojej odpowiedzialności
• Musisz mieć możliwość techniczną dotrzymania
umowy SLA
Walk through the steps as they happen in the build slide. Major points to make: - even though the transaction has committed in the local log, the commit is not acknowledged to the user until notification has been received from the mirror that the transaction is also hardened in the mirror’s log. ‘Hardened’ means the log records are written to the oxide on the mirror’s log drive. It does NOT mean that the log records have been replayed on the mirror database. - the mirror is an *exact* copy of the principal – this is important to understanding why automatic page repair works.
Self – explanatory.
Self-explanatory.
If affinity masking is being used, you must update the relevant masks. Affinity masking is where certain CPUs are included/excluded from being used by SQL Server. An affinity I/O mask further narrows down the use of the CPU by SQL Server to only I/O operations, thus preventing multiple CPUs’ caches being polluted with I/O data.If questioned about affinity masks - All zeroes means that Windows decides which CPUs are used - Non-zero: single bit per CPU, if bit is 1, SQL Server will use it - bit cannot be set in affinity AND affinity I/O maskSee http://www.sqlskills.com/blogs/paul/2008/01/10/SQLServer2008HotAddCPUAndAffinityMasks.aspx