SQL Server a vysoká dostupnost – I.
- Posted by Marek Chmel
- On 27.5.2013
- In SQL Server
- 0
SharePoint bychom bez SQL Serveru ani nenainstalovali, a tak dnes přinášíme první ze série článků na téma SQL Server od Marka Chmela, SQL Server MVP:
Vysoká dostupnost a Disaster Recovery (HA a DR) jsou u mnoha produktů často zaměňovány a často nesprávně požadovány při nasazení jednotlivých funkcí systému. Zatímco vysoká dostupnost se spíše zaměřuje na výpadky systému a služby, Disaster Recovery je využitá v mnohem širším spektru problémů. V případě využití SQL Server se mezi HA možnosti, které jsou nabízeny, řadí
- Database Mirroring
- Log Shipping
- Failover Clustering
- Replikace
- AlwaysOn (od verze 2012)
Jednotlivé technologie pro vysokou dostupnost a jejich možnosti jsou odlišné v závislosti na použité edici SQL Serveru, zejména pro AlwaysOn je nutná edice Enterprise.
Technologie | Standard Edice | BI Edice | Enterprise Edice |
Clustering | Ano (2 nody) | Ano (2 nody) | Ano (nody dle OS) |
MultiSubnet Cluster | Ano | ||
Mirroring | Ano (Pouze Full Safety) | Ano (Pouze Full Safety) | Ano |
Log Shipping | Ano | Ano | Ano |
Change tracking | Ano | Ano | Ano |
Merge replication | Ano | Ano | Ano |
Transactional replication | Ano | Ano | Ano |
Peer to Peer | Ano | ||
AlwaysOn | Ano | ||
Database Snapshot | Ano |
Při porovnání DR již není rozdíl mezi edicemi tak patrný, např. díky posunutí možnosti pro komprimovaný backup do všech hlavních edicí (tj. Std, BI, Ent), který dokáže významně zmenšit velikost zálohy a také zkrátit čas potřebný pro její vytvoření. Z hlavních enterprise funkcí u DR jmenujme např. Online page and file restore nebo Mirrored Backup.
Failover Clustering
Failover clustering (dále jen FC) slouží jako ochrana pro celou instanci, a spoléhá se na službu Windows Failover Cluster. Nejčastěji bývá porovnáván s Mirroring technologií, která slouží pro ochranu vždy jedné konkrétní databáze. Od verze SQL Server 2012 je služba Windows Failover Cluster použita i pro AlwaysOn technologii, která ale pracuje jiným způsobem než klasický SQL Failover Cluster. Princip práce SQL Clusteru je založen na sdílené databázi (resp. Sdíleném datovém úložišti – nejčastěji SAN), které je také jedním ze zranitelných míst celého řešení. Každý cluster je složen z několika nodů, kdy vždy jeden je aktivní, a další jsou pasivní. U SQL se občasně můžeme setkat i s pojmem active/active cluster, což je ale řešení pro více instancí. Při jedné instanci pracuje SQL vždy v kombinaci active/passive.
Mezi hlavní přednosti SQL Clusteringu patří
- Automatické přesměrování klientů na pasivní nod v případě výpadku
- Automatická detekce výpadku a přesměrování služeb
- Jednoduchá konfigurace
- Podpora více nodů (jen enterprise edice)
Database Mirroring
Mirroring nabízí poměrně bohatou konfiguraci a široké spektrum využití. Pracuje na úrovni jednotlivých databází, kdy každá databáze má svou kopii na jiném serveru (nebo instanci). Bohužel tato kopie je v databázovém režimu restoring a tudíž není určená pro běžnou práci uživatelů. Toho lze docílit až v případě AlwaysOn nebo částečně použitím snapshotu. Při konfiguraci mirroringu máme na výběr, zda-li bude využit synchronní režim nebo asynchronní režim, a také zda chceme využít automatický či manuální failover. Mezi hlavní výhody mirroringu patří
- Ochrana jednotlivých databází
- Automatická detekce a failover
- Minimalizované šance dataloss
- Automatické přesměrování klientů
- Možnosti opravy datových stránek z mirror kopie
- Jednoduchá konfigurace
Log Shipping
Log Shipping se v mnohém podobá Database Mirroringu, protože také chrání jednotlivé databáze a používá k tomu podobný princip. Podstata Log Shippingu spočívá v pravidelné (a často poměrně frekventované) záloze transakčního logu, která je následně zkopírována na partnerské servery, kde je tato záloha obnovena. Na rozdíl od předchozích technologií Log Shipping nenabízí automatický failover a pro přepnutí databáze ze stand-by režimu je nutné provést několik kroků ručně.
Hlavní výhody Log Shipping
- Jednoduchá konfigurace
- Podpora Workgroup edice
- Částečný přístup ke stand-by databázi pro čtení
- Podpora bulk-logged režimu
Replikace
Replikace mají mnoho možností využítí díky mnoha topologiím a různým možnostem nastavení – transakční, snapshot, merge, peer2peer atd. Replikace jsou postavené nad modelem publisher/subscriber. U publisher serveru volíme jaká data mají být v rámci replikace dostupná, u subscriber naopak vybíráme ze kterých publisher serverů budou data replikována. Do celé topologie patří i distributor role, která nejčastěji bývá spojena s rolí Publisher. U replikací je výhodou možnost využití propojení na databáze Oracle, a také dostupnost i u Express edice (pouze jako subscriber).
AlwaysOn
AlwaysOn byla do sady technologií pro vysokou dostupnost dodána až v poslední verzi SQL Serveru 2012, a to pouze v Enterprise edici. AlwaysOn je svým způsobem kombinací mezi Database Mirroringem a Log Shippingem. AlwaysOn je možné nasadit v několika kombinacích, stejně jako u Mirroringu máme k dispozici synchronní a asynchronní režim, a podobně jako v Log Shippingu je možné databáze replikovat na vícero serverů. Jednou z velkých výhod těchto replik je jejich dostupnost pro čtení, která je dokonce doplněna o tzv. read-only routing.
Mezi hlavní výhody AlwaysOn patří
- Jednoduchá konfigurace
- Více replik
- Databáze dostupné pro čtení
- Backup na replice
- Podpora pro filestream
Závěrem
SQL Server nabízí administrátorům mnoho technologií pro zajištění vysoké dostupnosti instancí a databází. Záleží na konkrétních požadavcích a také na podpoře dané aplikace. V dalších dílech tohoto seriálu si představíme jednotlivé technologie více do hloubky včetně ukázek konfigurace.
0 comments on SQL Server a vysoká dostupnost – I.