Konfigurace skupiny dostupnosti pro SQL Server na virtuálním počítači Azure pomocí šablon Rychlý start Azure

Platí pro:SQL Server na virtuálním počítači Azure

Tip

Existuje mnoho metod nasazení skupiny dostupnosti. Zjednodušte nasazení a eliminujte potřebu služby Azure Load Balancer nebo názvu distribuované sítě (DNN) pro vaši skupinu dostupnosti AlwaysOn vytvořením virtuálních počítačů s SQL Serverem v několika podsítích ve stejné virtuální síti Azure. Pokud jste skupinu dostupnosti už vytvořili v jedné podsíti, můžete ji migrovat do prostředí s více podsítěmi.

Tento článek popisuje, jak pomocí šablon Rychlého startu Azure částečně automatizovat nasazení konfigurace skupiny dostupnosti AlwaysOn pro virtuální počítače s SQL Serverem v rámci jedné podsítě v Azure. V tomto procesu se používají dvě šablony rychlého startu Azure:

Template Popis
sql-vm-ag-setup Vytvoří cluster s windows s podporou převzetí služeb při selhání a připojí k němu virtuální počítače s SQL Serverem.
sql-vm-aglistener-setup Vytvoří naslouchací proces skupiny dostupnosti a nakonfiguruje interní nástroj pro vyrovnávání zatížení. Tuto šablonu lze použít pouze v případě, že se cluster s podporou převzetí služeb při selhání s Windows vytvořil pomocí šablony 101-sql-vm-ag-setup .

Další části konfigurace skupiny dostupnosti musí být provedeny ručně, například vytvoření skupiny dostupnosti a vytvoření interního nástroje pro vyrovnávání zatížení. Tento článek obsahuje posloupnost automatizovaných a ručních kroků.

I když tento článek používá šablony Azure Pro rychlý start ke konfiguraci prostředí skupiny dostupnosti, je to také možné provést pomocí webu Azure Portal, PowerShellu nebo Azure CLI nebo ručně .

Poznámka:

Nyní je možné pomocí služby Azure Migrate lift and shift your availability group solution to SQL Server to SQL Server on Azure VMs. Další informace najdete v tématu Migrace skupiny dostupnosti.

Požadavky

Pokud chcete automatizovat nastavení skupiny dostupnosti AlwaysOn pomocí šablon pro rychlý start, musíte mít následující požadavky:

  • Předplatné Azure
  • Skupina prostředků s řadičem domény.
  • Jeden nebo více virtuálních počítačů připojených k doméně v Azure s edicí SQL Serveru 2016 (nebo novější) Enterprise, které jsou ve stejné skupině dostupnosti nebo zóně dostupnosti a které jsou zaregistrované v rozšíření agenta SQL IaaS.
  • Interní azure Load Balancer a dostupná (nepoužívá se žádná entita) IP adresa pro naslouchací proces skupiny dostupnosti ve stejné podsíti jako virtuální počítač s SQL Serverem.

Oprávnění

K konfiguraci skupiny dostupnosti AlwaysOn pomocí šablon Azure pro rychlý start jsou potřeba následující oprávnění:

  • Existující uživatelský účet domény, který má v doméně oprávnění Vytvořit objekt počítače. Například účet správce domény má obvykle dostatečná oprávnění (například: account@domain.com). Tento účet by měl být také součástí místní skupiny správců na každém virtuálním počítači a vytvořit cluster.
  • Uživatelský účet domény, který řídí SQL Server.

Vytvoření clusteru

Po registraci virtuálních počítačů s SQL Serverem s rozšířením agenta SQL IaaS můžete virtuální počítače s SQL Serverem připojit k sqlVirtualMachineGroups. Tento prostředek definuje metadata clusteru s podporou převzetí služeb při selhání systému Windows. Metadata zahrnují verzi, edici, plně kvalifikovaný název domény, účty Active Directory pro správu clusteru i SQL Serveru a účet úložiště jako určující cloud.

Přidáním virtuálních počítačů s SQL Serverem do skupiny prostředků SqlVirtualMachineGroups se spustí služba clusteru s podporou převzetí služeb při selhání systému Windows, aby se cluster vytvořil a pak tyto virtuální počítače s SQL Serverem připojily k danému clusteru. Tento krok je automatizovaný pomocí šablony rychlého startu 101-sql-vm-ag-setup . Můžete ho implementovat pomocí následujících kroků:

  1. Přejděte do šablony rychlého startu sql-vm-ag-setup . Pak výběrem možnosti Nasadit do Azure otevřete šablonu rychlého startu na webu Azure Portal.

  2. Vyplňte požadovaná pole pro konfiguraci metadat pro cluster s podporou převzetí služeb při selhání s Windows. Nepovinná pole můžete ponechat prázdná.

    V následující tabulce jsou uvedeny potřebné hodnoty šablony:

    Pole Hodnota
    Předplatné Předplatné, ve kterém existují vaše virtuální počítače s SQL Serverem.
    Skupina prostředků Skupina prostředků, ve které se nacházejí vaše virtuální počítače s SQL Serverem.
    Název clusteru s podporou převzetí služeb při selhání Název, který chcete použít pro nový cluster s windows s podporou převzetí služeb při selhání.
    Existující seznam virtuálních počítačů Virtuální počítače s SQL Serverem, které chcete zapojit do skupiny dostupnosti, a být součástí tohoto nového clusteru. Tyto hodnoty oddělte čárkou a mezerou (například SQLVM1 , SQLVM2).
    Verze SQL Serveru Verze SQL Serveru vašich virtuálních počítačů s SQL Serverem. Vyberte ho z rozevíracího seznamu. V současné době se podporují jenom image SQL Serveru 2016 a SQL Serveru 2017.
    Existující plně kvalifikovaný název domény Existující plně kvalifikovaný název domény pro doménu, ve které se nacházejí vaše virtuální počítače s SQL Serverem.
    Existující účet domény Existující uživatelský účet domény, který má oprávnění k vytvoření objektu počítače v doméně, protože CNO se vytvoří během nasazení šablony. Například účet správce domény má obvykle dostatečná oprávnění (například: account@domain.com). Tento účet by měl být také součástí místní skupiny správců na každém virtuálním počítači a vytvořit cluster.
    Heslo účtu domény Heslo pro dříve uvedený uživatelský účet domény.
    Existující účet služby SQL Uživatelský účet domény, který řídí službu SQL Serveru během nasazování skupiny dostupnosti (například: account@domain.com).
    Heslo služby SQL Heslo používané uživatelským účtem domény, které řídí SQL Server.
    Název kopie cloudu Nový účet úložiště Azure, který se vytvoří a použije pro určující cloud. Tento název můžete upravit.
    umístění _artifacts Toto pole je nastavené ve výchozím nastavení a nemělo by být změněno.
    Token SaS pro umístění _artifacts Toto pole je záměrně ponecháno prázdné.
  3. Pokud souhlasíte s podmínkami a ujednáními, zaškrtněte políčko Souhlasím s podmínkami a ujednáními uvedenými výše . Pak vyberte Koupit a dokončete nasazení šablony pro rychlý start.

  4. Pokud chcete monitorovat nasazení, vyberte buď nasazení z ikony zvonku oznámení v horním navigačním panelu, nebo přejděte do skupiny prostředků na webu Azure Portal. V části Nastavení vyberte Nasazení a zvolte nasazení Microsoft.Template.

Poznámka:

Přihlašovací údaje zadané během nasazení šablony se ukládají jenom pro délku nasazení. Po dokončení nasazení se tato hesla odeberou. Pokud do clusteru přidáte další virtuální počítače s SQL Serverem, zobrazí se výzva k jejich opětovnému zadání.

Konfigurace kvora

Disk s kopií clusteru je sice nejodolnější možností kvora, ale vyžaduje sdílený disk Azure, který má pro skupinu dostupnosti určitá omezení. Cloudová kopie clusteru je proto doporučeným řešením kvora pro clustery hostující skupiny dostupnosti pro SQL Server na virtuálních počítačích Azure.

Pokud máte v clusteru sudý počet hlasů, nakonfigurujte řešení kvora, které nejlépe vyhovuje vašim obchodním potřebám. Další informace najdete v tématu Kvorum s virtuálními počítači s SQL Serverem.

Ověření clusteru

Aby microsoft podporoval cluster s podporou převzetí služeb při selhání, musí projít ověřením clusteru. Připojení k virtuálnímu počítači pomocí preferované metody, jako je protokol RDP (Remote Desktop Protocol) a před pokračováním ověřte, že váš cluster projde ověřením. Pokud to neuděláte, cluster zůstane v nepodporovaném stavu.

Cluster můžete ověřit pomocí Správce clusteru s podporou převzetí služeb při selhání (FCM) nebo pomocí následujícího příkazu PowerShellu:

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"

Vytvoření skupiny dostupnosti

Skupinu dostupnosti můžete vytvořit ručně podle potřeby pomocí aplikace SQL Server Management Studio, PowerShellu nebo jazyka Transact-SQL.

Důležité

V tuto chvíli nevytvářejte naslouchací proces, protože šablona rychlého startu 101-sql-vm-aglistener-setup to dělá automaticky v kroku 4.

Vytvoření nástroje pro vyrovnávání zatížení

Poznámka:

Nasazení skupin dostupnosti do několika podsítí nevyžadují nástroj pro vyrovnávání zatížení. V prostředí s jednou podsítí můžou zákazníci, kteří používají SQL Server 2019 CU8 a novější ve Windows 2016 a novějších verzích, nahradit naslouchací proces tradičního názvu virtuální sítě (VNN) a Azure Load Balancer naslouchacím procesem distribuované sítě (DNN). Pokud chcete použít síť DNN, přeskočte všechny kroky kurzu, které nakonfigurují Azure Load Balancer pro vaši skupinu dostupnosti.

Naslouchací proces skupiny dostupnosti AlwaysOn vyžaduje interní instanci Azure Load Balanceru. Interní nástroj pro vyrovnávání zatížení poskytuje plovoucí IP adresu pro naslouchací proces skupiny dostupnosti, který umožňuje rychlejší převzetí služeb při selhání a opětovné připojení. Pokud jsou virtuální počítače s SQL Serverem ve skupině dostupnosti součástí stejné skupiny dostupnosti, můžete použít nástroj pro vyrovnávání zatížení úrovně Basic. V opačném případě musíte použít nástroj pro vyrovnávání zatížení úrovně Standard.

Důležité

Interní nástroj pro vyrovnávání zatížení by měl být ve stejné virtuální síti jako instance virtuálních počítačů s SQL Serverem.

Stačí vytvořit interní nástroj pro vyrovnávání zatížení. V kroku 4 zpracovává šablona rychlého startu 101-sql-vm-aglistener-setup zbytek konfigurace (například back-endový fond, sondu stavu a pravidla vyrovnávání zatížení).

  1. Na webu Azure Portal otevřete skupinu prostředků, která obsahuje virtuální počítače s SQL Serverem.

  2. Ve skupině prostředků vyberte Přidat.

  3. Vyhledejte nástroj pro vyrovnávání zatížení. Ve výsledcích hledání vyberte Load Balancer, který publikuje Microsoft.

  4. V podokně Load Balancer vyberte Vytvořit.

  5. V dialogovém okně Vytvořit nástroj pro vyrovnávání zatížení nakonfigurujte nástroj pro vyrovnávání zatížení následujícím způsobem:

    Nastavení Hodnota
    Název Zadejte textový název, který představuje nástroj pro vyrovnávání zatížení. Zadejte například sqlLB.
    Typ Interní: Většina implementací používá interní nástroj pro vyrovnávání zatížení, který umožňuje aplikacím ve stejné virtuální síti připojit se ke skupině dostupnosti.
    Externí: Umožňuje aplikacím připojit se ke skupině dostupnosti prostřednictvím veřejného připojení k internetu.
    Virtuální síť Vyberte virtuální síť, ve které jsou instance SYSTÉMU SQL Server.
    Podsíť Vyberte podsíť, ve které jsou instance SQL Serveru.
    Přiřazení IP adres staticky.
    Privátní IP adresa Zadejte dostupnou IP adresu z podsítě.
    Předplatné Pokud máte více předplatných, může se toto pole zobrazit. Vyberte předplatné, které chcete k tomuto prostředku přidružit. Obvykle se jedná o stejné předplatné jako všechny prostředky pro skupinu dostupnosti.
    Skupina prostředků Vyberte skupinu prostředků, ve které jsou instance SQL Serveru.
    Místo Vyberte umístění Azure, ve které jsou instance SQL Serveru.
  6. Vyberte Vytvořit.

Důležité

Prostředek veřejné IP adresy pro každý virtuální počítač s SQL Serverem by měl mít skladovou položku Standard, aby byla kompatibilní s nástrojem pro vyrovnávání zatížení úrovně Standard. Pokud chcete zjistit skladovou položku prostředku veřejné IP adresy virtuálního počítače, přejděte do skupiny prostředků, vyberte prostředek veřejné IP adresy virtuálního počítače s SQL Serverem a v podokně Přehled vyhledejte hodnotu v části SKU.

Vytvoření naslouchacího procesu

Vytvořte naslouchací proces skupiny dostupnosti a nakonfigurujte interní nástroj pro vyrovnávání zatížení automaticky pomocí šablony rychlého startu 101-sql-vm-aglistener-setup . Šablona zřídí prostředek Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/AvailabilityGroupListener. Šablona rychlého startu 101-sql-vm-aglistener-setup prostřednictvím rozšíření agenta SQL IaaS provede následující akce:

  • Vytvoří nový prostředek IP adresy front-endu (na základě hodnoty IP adresy zadané během nasazení) pro naslouchací proces.
  • Nakonfiguruje nastavení sítě pro cluster a interní nástroj pro vyrovnávání zatížení.
  • Nakonfiguruje back-endový fond pro interní nástroj pro vyrovnávání zatížení, sondu stavu a pravidla vyrovnávání zatížení.
  • Vytvoří naslouchací proces skupiny dostupnosti s danou IP adresou a názvem.

Poznámka:

Nastavení 101-sql-vm-aglistener-setup můžete použít pouze v případě, že byl cluster s podporou převzetí služeb při selhání s Windows vytvořen pomocí šablony 101-sql-vm-ag-setup.

Pokud chcete nakonfigurovat interní nástroj pro vyrovnávání zatížení a vytvořit naslouchací proces skupiny dostupnosti, postupujte takto:

  1. Přejděte do šablony rychlého startu sql-vm-aglistener-setup a výběrem možnosti Nasadit do Azure spusťte šablonu rychlého startu na webu Azure Portal.

  2. Vyplňte požadovaná pole pro konfiguraci interního nástroje pro vyrovnávání zatížení a vytvořte naslouchací proces skupiny dostupnosti. Nepovinná pole můžete ponechat prázdná.

    V následující tabulce jsou uvedeny potřebné hodnoty šablony:

    Pole Hodnota
    Skupina prostředků Skupina prostředků, ve které existují virtuální počítače a skupina dostupnosti SQL Serveru.
    Název existujícího clusteru s podporou převzetí služeb při selhání Název clusteru, ke kterému jsou vaše virtuální počítače s SQL Serverem připojené.
    Existující skupina dostupnosti SQL Název skupiny dostupnosti, ve které jsou virtuální počítače s SQL Serverem součástí.
    Existující seznam virtuálních počítačů Názvy virtuálních počítačů s SQL Serverem, které jsou součástí dříve uvedené skupiny dostupnosti. Názvy oddělte čárkou a mezerou (například SQLVM1, SQLVM2).
    Naslouchací proces Název DNS, který chcete přiřadit k naslouchacímu procesu. Ve výchozím nastavení tato šablona určuje název "aglistener", ale můžete ji změnit. Název nesmí překročit 15 znaků.
    Port naslouchacího procesu Port, který má naslouchací proces používat. Obvykle by tento port měl být výchozí hodnotou 1433. Toto je číslo portu, které šablona určuje. Pokud jste ale změnili výchozí port, měl by port naslouchacího procesu tuto hodnotu použít.
    IP adresa naslouchacího procesu IP adresa, kterou má naslouchací proces používat. Tato adresa se vytvoří během nasazení šablony, takže zadejte adresu, která se ještě nepoužívá.
    Existující podsíť Název interní podsítě virtuálních počítačů s SQL Serverem (například výchozí). Tuto hodnotu můžete určit tak, že přejdete do skupiny prostředků, vyberete svou virtuální síť, vyberete podsítě v podokně Nastavení a zkopírujete hodnotu v části Název.
    Existující interní nástroj pro vyrovnávání zatížení Název interního nástroje pro vyrovnávání zatížení, který jste vytvořili v kroku 3.
    Port sondy Port sondy, který má používat interní nástroj pro vyrovnávání zatížení. Šablona ve výchozím nastavení používá hodnotu 59999, ale tuto hodnotu můžete změnit.
  3. Pokud souhlasíte s podmínkami a ujednáními, zaškrtněte políčko Souhlasím s podmínkami a ujednáními uvedenými výše . Výběrem možnosti Koupit dokončíte nasazení šablony rychlého startu.

  4. Pokud chcete monitorovat nasazení, vyberte buď nasazení z ikony zvonku oznámení v horním navigačním panelu, nebo přejděte do skupiny prostředků na webu Azure Portal. V části Nastavení vyberte Nasazení a zvolte nasazení Microsoft.Template.

Poznámka:

Pokud vaše nasazení selže v polovině, budete muset před opětovným nasazením šablony rychlého startu 101-sql-vm-aglistener-setup ručně odebrat nově vytvořený naslouchací proces pomocí PowerShellu.

Odebrání naslouchacího procesu

Pokud později potřebujete odebrat naslouchací proces skupiny dostupnosti, který šablona nakonfigurovala, musíte projít rozšířením agenta SQL IaaS. Protože je naslouchací proces zaregistrovaný prostřednictvím rozšíření agenta SQL IaaS, stačí ho odstranit přes SQL Server Management Studio.

Nejlepší metodou je odstranění prostřednictvím rozšíření agenta SQL IaaS pomocí následujícího fragmentu kódu v PowerShellu. Tím odeberete metadata naslouchacího procesu skupiny dostupnosti z rozšíření agenta SQL IaaS. Zároveň fyzicky odstraní naslouchací proces ze skupiny dostupnosti.

# Remove the availability group listener
# example: Remove-AzResource -ResourceId '/subscriptions/a1a11a11-1a1a-aa11-aa11-1aa1a11aa11a/resourceGroups/SQLAG-RG/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/Cluster/availabilitygrouplisteners/aglistener' -Force
Remove-AzResource -ResourceId '/subscriptions/<SubscriptionID>/resourceGroups/<resource-group-name>/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/<cluster-name>/availabilitygrouplisteners/<listener-name>' -Force

Běžné chyby

Tato část popisuje některé známé problémy a jejich možné řešení.

Naslouchací proces skupiny dostupnosti pro skupinu dostupnosti Název<> skupiny dostupnosti již existuje. Vybraná skupina dostupnosti použitá v šabloně Rychlého startu Azure pro naslouchací proces skupiny dostupnosti už obsahuje naslouchací proces. Buď je fyzicky ve skupině dostupnosti, nebo jeho metadata zůstávají v rozšíření agenta SQL IaaS. Před opětovným nasazením šablony rychlého startu 101-sql-vm-aglistener-setup odeberte naslouchací proces pomocí PowerShellu.

Připojení ion funguje jenom z primární repliky. Toto chování pravděpodobně pochází z neúspěšného nasazení šablony 101-sql-vm-aglistener-setup, které opustilo konfiguraci interního nástroje pro vyrovnávání zatížení v nekonzistentním stavu. Ověřte, že back-endový fond obsahuje seznam skupin dostupnosti a že existují pravidla pro sondu stavu a pravidla vyrovnávání zatížení. Pokud něco chybí, konfigurace interního nástroje pro vyrovnávání zatížení je nekonzistentní stav.

Pokud chcete toto chování vyřešit, odeberte naslouchací proces pomocí PowerShellu, odstraňte interní nástroj pro vyrovnávání zatížení prostřednictvím webu Azure Portal a začněte znovu v kroku 3.

BadRequest – Tuto chybu může aktualizovat pouze seznam virtuálních počítačů SQL, pokud nasazujete šablonu instalace 101-sql-vm-aglistener-setup , pokud byl naslouchací proces odstraněn prostřednictvím aplikace SQL Server Management Studio (SSMS), ale nebyl odstraněn z rozšíření agenta SQL IaaS. Odstranění naslouchacího procesu prostřednictvím SSMS neodebere metadata naslouchacího procesu z rozšíření agenta SQL IaaS. Naslouchací proces musí být odstraněn z poskytovatele prostředků prostřednictvím PowerShellu.

Doménový účet neexistuje . Tato chyba může mít dvě příčiny. Zadaný účet domény neexistuje nebo chybí data hlavního názvu uživatele (UPN). Šablona nastavení 101-sql-vm-ag-setup očekává účet domény ve formuláři hlavního názvu uživatele (tj user@domain.com. ), ale některé účty domény ho můžou chybět. K tomu obvykle dochází v případě, že byl místní uživatel migrován jako první účet správce domény, když byl server povýšen na řadič domény nebo když byl uživatel vytvořen prostřednictvím PowerShellu.

Ověřte, že účet existuje. Pokud ano, možná narazíte na druhou situaci. Pokud ho chcete vyřešit, postupujte takto:

  1. Na řadiči domény otevřete okno Uživatelé a počítače služby Active Directory z možnosti Nástroje v Správce serveru.

  2. Výběrem možnosti Uživatelé v levém podokně přejděte na účet.

  3. Klikněte pravým tlačítkem myši na účet a vyberte Vlastnosti.

  4. Vyberte kartu Účet. Pokud je pole Přihlašovací jméno uživatele prázdné, jedná se o příčinu vaší chyby.

    Blank user account indicates missing UPN

  5. Vyplňte pole Přihlašovací jméno uživatele tak, aby odpovídalo jménu uživatele, a v rozevíracím seznamu vyberte správnou doménu.

  6. Výběrem možnosti Použít uložte změny a zavřete dialogové okno výběrem tlačítka OK.

Po provedení těchto změn zkuste šablonu Rychlého startu Azure nasadit ještě jednou.

Další kroky

Další informace najdete v následujících tématech: