To druga prezentacja w cztero-częściowym cyklu omawiającym znaczenie wysokiej dostepności w kontekście umów SLA. Prezentacje przeznaczone są dla odbiorców z kręgu ITPro, a publikowane na zywo na portalu VirtualStudy.pl
***
This is second part of my four-parts cycle about Service Level Agreement for ITPros. It a session for Virtualstudy.pl education portal.
Wysoka Dostępność SQL Server 2008 w kontekscie umów SLA
1. WYSOKA DOSTĘPNOŚĆ
SQL SERVER 2008
W KONTEKŚCIE UMÓW SLA
Sesja dla portalu VirtualStudy.pl
2. Tobiasz Janusz Koprowski „Anorak‖
• związany z informatyką od połowy lat dziewięćdziesiątych
• kilkuletnie doświadczenie w informatyce bankowej [Zorba, AS/400, ICBS, BTeller]
• od ponad czterech lat pracuje w dużej spółce informatycznej
• na co dzień interesujący się technologiami SharePoint, Office System, Windows , SQL Server. Nieobce
mu są takie pojecia jak wysoka dostępność, plany awaryjne, disaster recovery, dobre praktyki ISO/ITIL
• konsultant i wdrożeniowiec przy projektach audytów licencyjnych, systemów procedur bezpieczeństwa
i operacyjnych, wdrożeniach platformy Microsoft SharePoint, systemów antywirusowych,
• uczestnik kilku programów Microsoft: Connect, Community Leadership Programm, ITPro Momentum,
VS2010 Terminology Community, Windows 7 Beta 2 PL, Desktop & SharePoint Deployment Planning
Service,
• lider wrocławskiej grupy PLSSUG
• prelegent na spotkaniach społeczności (online i offline)
• członek Technical Support Team w GITCA (wcześniej Culminis) odpowiedzialny za rejon EMEA, APAC,
NORAM, LATAM
• członek PASS Programm Committee for 2010
• autor kilku artykułów technicznych i recenzent wydawnictwa aPress
• właściciel kilku blogów (w tym dwóch specjalizowanych)
POZA PRACĄ: fotografia koncertowa, dziennikarstwo muzyczne, medycyna ratunkowa, onkologia,
turystyka rowerowa i samotne zwiedzianie wielkich aglomeracji oraz małych miasteczek.
3. Posiadane certyfikacje:
•Microsoft Certified Professional
•Microsoft Certified System Administrator
•Microsoft Certified Technology Specialist
•Windows 2008 Server Application Configuring
•Windows 2008 Server Infrastructure Configuring
•Windows 2008 server Active directory Configuring
•Microsoft Certified IT Professional
•Windows 2008 Server Administrator
•Microsoft Licensing Specialist
•Microsoft Lite Licensing Sales Specialist
•Microsoft Small Business Specialist
•Microsoft Office Sales Specialist 2003/2007
•Avocent Technical Support
•Novell System Administrator
4. CYKL SPOTKAŃ o tematyce HA i SLA
SESJA I - 26.02.2010, godz. 20:30 - Spojrzenie na SLA
ABSTRAKT: Dla większości z nas serwer jest "pudełkiem które coś tam robi". Aplikacja pracująca na tym serwerze jest
"tylko mniejszym pudełkiem" Dla niektórych każdy z tych elementów może być sercem infrastruktury
przedsiębiorstwa. Ich dostępność jest ważna dla nas, ale przede wszystkim dla naszych przełożonych i klientów. Tych
ostatnich zresztą często nie obchodzi jak i dlaczego to pudełko działa. Dane mają być dostępne w określonym czasie
i postaci. Czy trzymane są na serwerze Windows, w Active Directory, czy może w tabelach SQL - to juz jest bez
znaczenia. Do tego się zobowiązaliśmy podpisując umowę o świadczenie usług - czyli SLA. Dlaczego jest ono dla nas
ważne? Po co administatorowi wiedza o SLA? Czy SLA to tylko sprawa kierownika/dyrektora/prezesa? Na te i kilka
innych pytań postaramy się znaleźć odpowiedzi podczas tej prezentacji.
SESJA II – 07.04.2010, godz. 20:30 - SQL Server, wysoka dostępność i umowy SLA
Ponieważ udało nam się zrozumieć podstawy funkcjonowania rozwiązań wysokiej dostepności, czas by przyjrzeć się
drugiemu (po Windows server) z najważniejszych i najczęściej objętych umowa SLA środowisku: Microsoft SQL
Server. W jaki sposób zabezpieczyć to środowisko? Co wspólnego może mieć z tym DBA? Jakie rozwiązania przynosi
SQL Server 2008/2008 R2? Na te pytania postaramy się odpowiedzieć w trzecim odcinku naszego cyklu.
SESJA IIi – 14.04.2010, godz. 20:30 - Windows Server, wysoka dostępność i umowy SLA
W pierwszej sesji cyklu mieliśmy okazję zapoznać się z ogólnymi zasadami funkcjonowania umów SLA, wymagań ich
stosowania czy zakresu odpowiedzialności. W tej części chciałbym przedstawić jakie mechanizmy są dostępne dla
systemu Microsoft Windows Server aby zmaksymalizować funkcje wysokiej dostępności.
SESJA IV – 21.04.2010, godz. 20:30 - Usługi kolaboracyjne (exchange/sharepoint), wysoka dostępność i
umowy SLA
Zarówno Windows Server jak i SQL Server stanowią podstawę naszych rozważań o wysokiej dostępności i jej
znaczenia w umowach o świadczenie usług. Oba środowiska "siedzą" sobie gdzieś na zapleczu. Zaś uzytkownicy
końcowi mają styczność przede wszystkim z produktamu typu Exchange Server czy SharePoint Server. Czy te
środowiska równiez podlagają naszym rozważaniom? Czy dla nich też mamy spełnić wymagania SLA?
5. Agenda
• Powtórka z historii:
• co to jest High Availability
• co to jest Service Level Agreement
• Zastosowania HA w SQL Server 2008
• Rozwiązania HA w SQL Server 2008 czyli: Enterprise,
Enterprise
• Co SLA ma wspólnego z DBA
• Zależności SLA i HA
• Przykłady
• Q&A
6. Czym jest High Availability ?
• Wysoka dostępność (HA) to zapewnienie
nieprzerwanej pracy urządzeń i systemów na
potrzeby (zazwyczaj) środowiska 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ń
7. Dwa rodzaje niedostępności:
• PSO Planned System Outages – Planowana Niedostępność 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
8. 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
9. Niedostępności w dniach, godzinach, minutach
Downtime Downtime Downtime
Availability %
per year per month* 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% ("three nines") 8.76 hours 43.2 min 10.1 min
99.95% 4.38 hours 21.56 min 5.04 min
99.99% ("four nines") 52.6 min 4.32 min 1.01 min
99.999% ("five nines") 5.26 min 25.9 s 6.05 s
99.9999% ("six nines") 31.5 s 2.59 s 0.605 s
10. 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
11. 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ń.
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
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. Why High Availability?
High
Availability
• Businesses need to work around the clock to meet customer demands
• When systems are not running, businesses are losing revenue, opportunities,
customers and reputation
• High availability reduces the impact of required maintenance on
day-to-day operations and helps recover quickly from disasters
• Businesses need flexibility to easily build high availability solutions that meet
business and technology needs
Online operations
Multiple instance clustering
Prevent Unplanned
Downtime Live Migration
Automatic page repair with database
mirroring Reduce Planned
Downtime
Hot-add CPU and RAM
Database snapshots
Peer-to-peer replication
15. Prevent Unplanned Downtime
High
Availability
Multiple-Instance Database
Clustering
Applications &
Business Logic 1100101
00101
0010111
1100101
0010100
1100101
00101
1100101
• More than one passive node is
available to host instances from
00101
101 00101
110010
110010 110010
multiple failovers on active nodes
• Having multiple failover nodes
provides greater availability
• Multiple instances can share the
Active Failover Offline
Active Active
same failover node, which reduces
hardware costs
• Simplified setup reduces
administrative costs
Because of the critical nature of the G4S application, CASON sets up the servers in a
failover cluster to ensure high availability.
—CASON Case Study
16. Enhanced Database Mirroring
High
Availability
High Performance Mirroring
• Increase performance through
asynchronous mirroring
Automatic Page Repair
Applications &
• Automatically detects page corruption
Business Logic and retrieves data from the mirror
• Reduces downtime and
management costs
• Minimizes application changes to
correctly handle I/O errors
Reporting from Mirror
Principal Mirror • Increase utilization of mirror server
• Reduce need for reporting servers
―This is a really powerful enhancement because prior to this… you would have to
run DBCC CHECKDB... and that would likely mean taking downtime… With SQL Server
2008 Database Mirroring you can avoid the effort and downtime.‖
— Glenn Berry, Database Architect, NewsGator Technologies
17. Help Recover From User Errors
High
Availability
11001010
0101
11001010
0101
110010
Database Snapshots
• Provide a read-only static view of
Applications & the database at a point in time
Business Logic
• Revert to a point in time before
user error
Snapshot Source • Data loss is limited to changes after
11001010
0101
11001010
0101
the snapshot
110010
• Run reports from a snapshot
11001010
0101
11001010
0101
110010
created on the mirror server in a
mirror to better utilize resources
―Database snapshots allow you to create read-only databases for reporting and can
also be useful in your data recovery efforts in the event of a disaster.‖
—Tim Chapman, SQL Server Database Administrator
18. Maintain Databases Without Downtime
High
Availability
Online Operations
11001010
0101
11001010 • Allow routine maintenance without
corresponding downtime
0101
110010
‒ Online index operations
Applications &
Business Logic ‒ Online page and file restoration
‒ Online configuration of peer-to-peer
nodes
Table Index
0
5 • Users and applications can access
data while the table, key, or index is
Deleted
1
Deleted
4
Deleted
2
3
Deleted
2
3 being updated
4
7
5
5
0
6
3
7
We recommend performing online index operations for business environments that
operate 24 hours a day, seven days a week, in which the need for concurrent user
activity during index operations is vital.
— SQL Server Books Online
19. Minimize Planned Downtime and Increase Efficiency
High
Availability
Live Migration
• Move running instances of VMs
between host servers
• Virtual machines can be moved for
Applications &
Business Logic 110010100
110010100
110010100
maintenance or to balance workload on
110010100
101
101
host servers
101
101
110010100
110010100
110010100
110010100
101
101
101
101
110010
110010
110010
110010
• Perform maintenance on physical
machines without any downtime
110010100
110010100 110010100
110010100
101
101 101
101
110010100
110010100 110010100
110010100
101
101 101
101
110010
110010 110010
110010
• Requires Windows Server 2008 R2
Hyper-v
―This server already runs on our cluster solution with high availability, but after we
have tested live migration on the new hardware, we’ll move it over to ensure optimal
performance and reliability‖
—Rodrigo Immaginario, IT Manager, Universidade Vila Velha
20. Minimize Planned Downtime
High
Availability
Hot-Add CPU and RAM
Applications &
Business Logic • Dynamically add memory and
processors to servers without
1100101 1100101
00101 00101
1100101 1100101
00101 00101
110010 110010
incurring downtime
• Requires hardware support for
1100101 1100101
00101 00101
1100101 1100101
00101 00101
110010 110010
either physical or virtual hardware
Hot-add CPU is the ability to dynamically add CPUs to a running system. Adding CPUs
can occur physically by adding new hardware, logically by online hardware
partitioning, or virtually through a virtualization layer.
—SQL Server Books Online
21. Access Data Seamlessly Across Servers
High
Availability
Peer-to-Peer Replication
• Increases reliability by replicating
data to multiple servers
Applications &
Business Logic 11001010
01011001
0101
01100101
11001010
• Provides higher availability in case
of failure or to allow maintenance
100101
0101
110010
at any of the participating nodes
1100101
• Offers improved performance for
00101
1100101
00101
110010
each node with geo-scale
11001010
0101
11001010
0101
110010
architecture
• Add and remove servers easily
without taking replication offline,
by using the new topology wizard
―[Microsoft] SQL Server 2008 replication proved to be very predictable and reliable
in our testing. This helps us to create flexible and scalable replication solutions.
Reliability must be at the foundation of all that we do.‖
— Sergey Elchinsky, Leading System Engineer, Baltika Breweries
22. 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
23. Database Mirroring Refresher Synchronous Mode
KEY POINT: mirror
database is an EXACT
copy of the principal
1 Acknowledge
Commit
7 Acknowledge
6
Constantly
2 redoing on
mirror
2 Transmit to mirror 4
Write to
local log Committed Write to
3 in log remote log
5
DB Log Log DB
24. 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
• "Hot-add" 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.
25. Hot-Add CPU: Affinity Masks
• Affinity masks control which CPUs are used by SQL Server, and
for what purpose
• Any affinity masks will need to be updated after hot-adding
new CPUs
• If the affinity mask is set to non-zero, you will need to update
it so that SQL Server knows it can use the new CPUs.
• On systems with > 32 CPUs, you will need to set the
affinity64 mask to pick up the new CPUs
• If you want to use the new CPUs for IO only, you must add
the relevant bits to the affinity I/O (or affinity64 I/O) mask
Hidden Slide
w/extra details
26. 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, bazy danych na
serwerze lustrzanym jest zamykana się 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 uruchomić bazy danych
• SQL Server 2008 usuwa ten krok, tym samym przyspieszenie i
ograniczenie stosowania awaryjnego przestoju
27. Peer-to-Peer Topology (?)
• W SQL Server 2005 wprowadzono możliwość użycia rozwiązania peer-to-
peer (lub "dwukierunkowej") 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
28. Topology Wizard
• The wizard now is graphical, with drag-n-drop functionality for making topology
connections
29. SLA – co to ma wspólnego z DBA
• Godziny pracy produkcyjnej:
• 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
30. 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
31. 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…
32. 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…
33. 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?
34. 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 bazy danych o wielkości
100 GB.
• 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?
36. 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