Vysoká dostupnost pro azure SQL Managed Instance

Platí pro:Azure SQL Managed Instance

Tento článek popisuje vysokou dostupnost ve službě Azure SQL Managed Instance.

Důležité

Zónově redundantní konfigurace je ve verzi Public Preview pro úroveň služby Pro obecné účely a obecně dostupná pro úroveň služby Pro důležité obchodní informace.

Přehled

Cílem architektury vysoké dostupnosti ve službě Azure SQL Managed Instance je minimalizovat dopad na úlohy zákazníků z operací správy iniciovaných zákazníkem, které mají za následek krátký výpadek, operace údržby služeb a neplánované výpadky. Další informace o konkrétních smlouvách SLA pro různé úrovně služeb najdete v Azure SQL Managed Instance.

Vysoká dostupnost vás chrání před dopadem na:

  • Zóna dostupnosti, která tvoří datové centrum (v případě oblasti s více zónami)
  • Rack, ve kterém jsou uzly, na kterých běží vaše služba
  • Samotný uzel
  • Aplikační vrstva

Pokud chcete minimalizovat dopad v případě regionálních nebo větších výpadků, můžete použít některou z dostupných technik popsaných v našem přehledu kontinuity podnikových procesů.

Sql Managed Instance běží na nejnovější stabilní verzi databázového stroje SQL Serveru v operačním systému Windows se všemi příslušnými opravami. Spravovaná instance SQL automaticky zpracovává důležité úlohy údržby, jako jsou opravy, zálohy, upgrady modulu Windows a SQL a neplánované události, jako jsou základní hardware, software nebo selhání sítě. Pokud je instance opravená nebo převezme služby při selhání, výpadek nebude mít vliv, pokud ve své aplikaci použijete logiku opakování. SQL Managed Instance se může rychle zotavit i za nejdůležitějších okolností a zajistit tak, aby vaše data byla vždy dostupná. Většina uživatelů si nevšimne, že se upgrady provádějí nepřetržitě.

Řešení s vysokou dostupností je navržené tak, aby se zajistilo, že se potvrzená data nikdy neztratí kvůli selháním, že operace údržby nebudou mít vliv na vaši úlohu a že instance nebude jediným bodem selhání ve vaší softwarové architektuře.

Na základě úrovně služby existují dva různé modely architektury s vysokou dostupností:

  • Model vzdáleného úložiště je založený na oddělení výpočetních prostředků a úložiště na úrovních služby Pro obecné účely a Next-Gen Pro obecné účely, které závisí na vysoké dostupnosti a spolehlivosti vzdáleného úložiště a vysoké dostupnosti výpočetních clusterů spravovaných službou Azure Service Fabric. Tento model vysoké dostupnosti cílí na obchodní aplikace orientované na rozpočet, které mohou tolerovat snížení výkonu během aktivit údržby.
  • Model místního úložiště je založený na clusteru procesů databázového stroje, který spoléhá na kvorum dostupných uzlů databázového stroje v úrovni služby Pro důležité obchodní informace, která mají místní úložiště. Tento místní model úložiště cílí na klíčové aplikace, které mají vysokou rychlost transakcí a vyžadují vysoký výkon vstupně-výstupních operací. Architektura vysoké dostupnosti zaručuje minimální dopad na výkon vaší úlohy během aktivit údržby.

Místně redundantní dostupnost

Místně redundantní dostupnost je založená na ukládání výpočetních uzlů a dat v rámci jednoho datacentra v primární oblasti a chrání vaše data v případě místního selhání, jako je například malá síť nebo selhání napájení. Pokud dojde k rozsáhlé havárii, jako je požár nebo záplava v rámci oblasti, můžou být všechny repliky účtu úložiště nebo dat na výpočetních uzlech ztraceny nebo neobnovitelné. Pokud chcete data dál chránit při použití možnosti místně redundantní dostupnosti, zvažte použití odolnější možnosti úložiště pro zálohy databáze.

Úroveň služby pro obecné účely

Úroveň služby Pro obecné účely používá architekturu dostupnosti vzdáleného úložiště. Na následujícím obrázku jsou uvedeny čtyři různé uzly s oddělenými výpočetními a úložnými vrstvami.

Diagram znázorňující oddělení výpočetních prostředků a úložiště

Model dostupnosti vzdáleného úložiště obsahuje dvě vrstvy:

  • Bezstavová výpočetní vrstva, která spouští proces databázového stroje a obsahuje pouze přechodná data a data uložená v mezipaměti, jako tempdbmodel jsou databáze připojeného disku SSD, a naplánovat mezipaměť, fond vyrovnávací paměti a fond columnstore v paměti. Tento bezstavový uzel provozuje Azure Service Fabric , který inicializuje databázový stroj, řídí stav uzlu a v případě potřeby provádí převzetí služeb při selhání do jiného uzlu.
  • Stavová datová vrstva s databázovými soubory (.mdf a .ldf) uloženými ve službě Azure Blob Storage. Azure Blob Storage má integrované funkce dostupnosti dat a redundance. Místně redundantní dostupnost je založená na ukládání dat do místně redundantního úložiště (LRS), které kopíruje data třikrát v rámci jednoho datacentra v primární oblasti. Zaručuje, že každý záznam v souboru protokolu nebo stránce datového souboru se zachová i v případě, že dojde k chybovému ukončení procesu databázového stroje.

Při každém upgradu databázového stroje nebo operačního systému nebo zjištění selhání přesune Azure Service Fabric proces bezstavového databázového stroje do jiného bezstavového výpočetního uzlu s dostatečnou bezplatnou kapacitou. Přesunutí nemá vliv na data ve službě Azure Blob Storage a k nově inicializovanému procesu databázového stroje se připojí soubory dat a protokolů. Tento proces zaručuje vysokou dostupnost, ale při přechodu může docházet k určitému snížení výkonu, protože nový proces databázového stroje začíná studenou mezipamětí.

Další generace úrovně služby Pro obecné účely

Poznámka:

Upgrade úrovně služby Pro obecné účely příští generace je aktuálně ve verzi Preview.

Next-Gen Pro obecné účely je upgrade architektury na stávající úroveň služby Pro obecné účely, která používá upgradovanou vrstvu vzdáleného úložiště, která ukládá data instancí a soubory protokolů na spravovaných discích místo objektů blob stránky.

úroveň služby Pro důležité obchodní informace

Úroveň služby Pro důležité obchodní informace používá model dostupnosti místního úložiště, který integruje výpočetní prostředky (proces databázového stroje) a úložiště (místně připojené SSD) na jednom uzlu. Vysoká dostupnost se dosahuje replikací výpočetních prostředků i úložiště do dalších uzlů.

Diagram clusteru uzlů databázového stroje

Podkladové soubory databáze (.mdf/.ldf) se umístí do připojeného úložiště SSD, aby poskytovaly velmi nízkou latenci vstupně-výstupních operací pro vaši úlohu. Vysoká dostupnost se implementuje pomocí technologie podobné skupinám dostupnosti AlwaysOn SQL Serveru. Cluster obsahuje jednu primární repliku, která je přístupná pro úlohy zákazníků se čtením a zápisem, a až tři sekundární repliky (výpočetní prostředky a úložiště), které obsahují kopie dat. Primární replika neustále odesílá změny do sekundárních replik postupně, aby se zajistilo, že se data uchovávají na dostatečném počtu sekundárních replik před potvrzením každé transakce. Tento proces zaručuje, že pokud primární nebo čitelná sekundární replika z jakéhokoli důvodu nebudou k dispozici, bude plně synchronizovaná replika vždy k dispozici pro převzetí služeb při selhání. Azure Service Fabric zahájí převzetí služeb při selhání. Jakmile se sekundární replika stane novou primární replikou, vytvoří se další sekundární replika, která zajistí, že cluster bude mít dostatečný počet replik pro zachování kvora. Po dokončení převzetí služeb při selhání se připojení Azure SQL automaticky přesměrují na novou primární repliku (nebo čitelnou sekundární repliku založenou na připojovací řetězec).

Model dostupnosti místního úložiště navíc zahrnuje možnost přesměrovat připojení Azure SQL jen pro čtení na jednu ze sekundárních replik. Tato funkce se nazývá Čtení se škálováním na více instancí. Poskytuje 100% dodatečnou výpočetní kapacitu bez dalších poplatků za operace jen pro čtení, jako jsou analytické úlohy, z primární repliky.

Zónově redundantní dostupnost

Zónově redundantní dostupnost je založená na umístění výpočetního uzlu a replik úložiště napříč třemi zónami dostupnosti Azure v primární oblasti. Každá zóna dostupnosti je samostatné fyzické umístění s nezávislým napájením, chlazením a sítí.

Ve výchozím nastavení se cluster uzlů pro model dostupnosti místního úložiště vytvoří ve stejném datacentru. Po zavedení služby Azure Zóny dostupnosti může spravovaná instance SQL umístit různé repliky instance Pro důležité obchodní informace do různých zón dostupnosti ve stejné oblasti. Stejně tak jsou bezstavové výpočetní uzly úrovně služby Pro obecné účely umístěné v jiné zóně dostupnosti, zatímco stavové úložiště používá konfiguraci zónově redundantního úložiště (ZRS).

Aby se zabránilo jedinému bodu selhání, řídicí okruh se také duplikuje napříč několika zónami jako tři kruhy brány (GW). Směrování do konkrétního okruhu brány řídí Služba Azure Traffic Manager (ATM). Výběrem zónově redundantní konfigurace můžete vytvořit Pro důležité obchodní informace nebo instance pro obecné účely odolné vůči mnohem větší sadě selhání, včetně katastrofických výpadků datacentra, bez jakýchkoli změn logiky aplikace. Můžete také převést všechny existující Pro důležité obchodní informace nebo instance pro obecné účely na zónově redundantní konfiguraci.

Vzhledem k tomu, že zónově redundantní instance mají repliky v různých datacentrech s určitou vzdáleností, může zvýšená latence sítě zvýšit dobu potvrzení transakce, a tím ovlivnit výkon některých úloh OLTP. Ke konfiguraci s jednou zónou se můžete kdykoli vrátit zakázáním nastavení redundance zóny. Tento proces je online operace podobná upgradu standardní úrovně služby. Na konci procesu se instance migruje z zónově redundantního okruhu na okruh s jednou zónou nebo naopak.

Zónově redundantní verze architektury vysoké dostupnosti je znázorněna následujícím diagramem:

Diagram zónově redundantní architektury s vysokou dostupností

Při použití redundance zón zvažte následující skutečnosti:

  • Pro úroveň služby Pro obecné účely příští generace není k dispozici zónová redundance.
  • Aktuální informace ooblastechch
  • Pro zónově redundantní dostupnost zvolte jiné časové období údržby, než je výchozí, je aktuálně dostupné ve vybraných oblastech.

Podporované oblasti pro instance Pro důležité obchodní informace

Redundance zón pro Pro důležité obchodní informace sql Managed Instance se podporuje v následujících oblastech:

Amerika Evropě Střední východ Afrika Asie a Tichomoří
Brazílie – jih Francie – střed Střední Katar Jižní Afrika – sever Austrálie – východ
Střední Kanada Itálie - sever Izrael - střed Indie – střed
USA – střed Německo – středozápad Japonsko – východ
USA – východ Norsko – východ Jižní Korea – střed
USA – východ 2 Severní Evropa Southeast Asia
Středojižní USA Velká Británie – jih Východní Asie
Západní USA 2 Švédsko – střed
USA – západ 3 Švýcarsko – sever
Střední Polsko

Podporované oblasti pro instance pro obecné účely

Poznámka:

Zónově redundantní konfigurace je ve verzi Public Preview pro úroveň služby Pro obecné účely.

Amerika Evropě Střední východ Afrika Asie a Tichomoří
Brazílie – jih Francie – střed Střední Katar Jižní Afrika – sever Austrálie – východ
USA – východ Itálie - sever Izrael - střed Indie – střed
USA – východ 2 Německo – středozápad Japonsko – východ
Středojižní USA Norsko – východ Jižní Korea – střed
Západní USA 2 Severní Evropa Southeast Asia
USA – západ 3 Velká Británie – jih Východní Asie
Švédsko – střed
Švýcarsko – sever
Střední Polsko

Testování odolnosti proti chybám aplikace

Vysoká dostupnost je základní součástí platformy SQL Managed Instance, která transparentně funguje pro vaši databázovou aplikaci. Uvědomujeme si však, že možná budete chtít otestovat, jak by operace automatického převzetí služeb při selhání zahájené během plánovaných nebo neplánovaných událostí ovlivnily aplikaci před jejím nasazením do produkčního prostředí. Převzetí služeb při selhání můžete aktivovat ručně voláním speciálního rozhraní API pro restartování spravované instance. V případě zónově redundantní instance by volání rozhraní API vedlo k přesměrování připojení klientů k nové primární zóně dostupnosti, která se liší od zóny dostupnosti původní primární. Kromě testování toho, jak převzetí služeb při selhání ovlivňuje stávající relace databáze, můžete také ověřit, jestli změní výkon koncového typu kvůli změnám latence sítě. Vzhledem k tomu, že operace restartování je rušivá a velký počet z nich může natížit platformu, je pro každou spravovanou instanci povoleno každých 15 minut pouze jedno volání převzetí služeb při selhání.

Převzetí služeb při selhání je možné zahájit pomocí PowerShellu, rozhraní REST API nebo Azure CLI:

PowerShell REST API Azure CLI
Invoke-AzSqlInstanceFailover Spravovaná instance SQL – Převzetí služeb při selhání az sql mi failover can be used to invoke a REST API call from Azure CLI

Závěr

Spravovaná instance Azure SQL nabízí integrované řešení s vysokou dostupností, které je hluboce integrované s platformou Azure. Služba závisí na Service Fabric, aby zjistila selhání a obnovení, azure Blob Storage pro ochranu dat a na Zóny dostupnosti kvůli vyšší odolnosti proti chybám. A pro úroveň služby Pro důležité obchodní informace používá spravovaná instance SQL Server technologii skupiny dostupnosti AlwaysOn pro replikaci databáze a převzetí služeb při selhání. Kombinace těchto technologií umožňuje aplikacím plně realizovat výhody modelu smíšeného úložiště a podporuje nejnáročnější smlouvy SLA.

Další kroky