sql >> Databáze >  >> RDS >> PostgreSQL

Failover &Failback pro PostgreSQL v Microsoft Azure

Je docela běžné používat cloud k ukládání dat nebo jako možnost převzetí služeb při selhání v případě selhání hlavního serveru. Existuje několik poskytovatelů cloudu, kteří vám umožňují ukládat, spravovat, načítat a manipulovat s daty prostřednictvím cloudové platformy; přístupné přes internet. Každý poskytovatel cloudu má své vlastní nabídky produktů a jedinečné funkce, z nichž každý má jiné cenové modely.

Microsoft Azure je jedním z těchto poskytovatelů. V tomto blogu se podíváme na to, jaké funkce nabízí Microsoft Azure pro primární úložiště, jako web pro obnovu po havárii, a konkrétně se podíváme na to, jak zachází se smíšeným databázovým prostředím PostgreSQL.

Nasazení instance databáze PostgreSQL v Microsoft Azure

Před provedením tohoto úkolu se musíte rozhodnout, jak budete tuto instanci používat a který produkt Azure je pro vás nejlepší. Existují dva základní způsoby, jak nasadit instanci PostgreSQL v Microsoft Azure.

  1. Azure Database for PostgreSQL :Je spravovaná služba, kterou můžete použít ke spouštění, správě a škálování vysoce dostupných databází PostgreSQL v cloudu. Je k dispozici ve dvou možnostech nasazení:Single Server a Hyperscale.
  2. Virtuální stroj :Poskytuje na vyžádání, vysoce škálovatelnou, zabezpečenou, virtualizovanou infrastrukturu. Podporuje Ubuntu Server, RedHat Enterprise Linux, SUSE Linux Enterprise Server, CentOS, Debian a Windows Server a umožňuje vám vyvíjet, testovat, spouštět aplikace a rozšiřovat vaše datové centrum během několika sekund.

Pro tento blog se podíváme na to, jak můžeme vytvořit databázi Azure pro PostgreSQL a jak používat virtuální počítač Azure z portálu Microsoft Azure.

Nasazení Azure Database for PostgreSQL

Pokud přejdete na svůj Azure Portal -> Vytvořit prostředek -> Databáze -> Azure Database for PostgreSQL, budete si moci vybrat mezi Single Server nebo Hyperscale. Pro tento blog použijeme jediný server, protože možnost Hyperscale je v náhledu a zatím nenabízí smlouvu SLA.

Zde musíte přidat nějaké informace o vaší nové instanci PostgreSQL; jako je předplatné, název serveru, přihlašovací údaje uživatele a umístění. Můžete si také vybrat, kterou verzi PostgreSQL chcete použít (aktuálně jsou k dispozici verze 9.5, 9.6, 10 nebo 11) a virtuální hardware pro její spuštění (Compute + Storage).

Když určíte hardware, uvidíte odhadovanou cenu ve skutečnosti -čas. To je opravdu užitečné, abyste se příští měsíc vyhnuli velkému překvapení. Po tomto kroku stačí potvrdit konfiguraci prostředků a počkat několik minut, než Azure dokončí úlohu vytváření.

Když máte vytvořen nový zdroj, můžete přejít na Všechny zdroje a zobrazit dostupné možnosti zdrojů.

V možnostech vytvořených prostředků můžete přejít do části Replikace a povolit ji replikovat z hlavního serveru až na pět replik. Měli byste také zkontrolovat část Zabezpečení připojení a povolit nebo zakázat externí přístup. Chcete-li znát přístupové informace, musíte navštívit sekci s přehledem zdrojů.

$ psql -h pg1blog.postgres.database.azure.com -U [email protected] postgres

Password for user [email protected]:

psql (11.5, server 11.4)

SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)

Type "help" for help.

postgres=>

Převzetí selhání v Azure Database for PostgreSQL

Bohužel, automatické převzetí služeb při selhání mezi hlavním a replikovanými servery není k dispozici. Pokud však hlavní instanci odstraníte, Azure provede proces převzetí služeb při selhání, aby repliku povýšil automaticky.

Je zde možnost provést tuto úlohu převzetí služeb při selhání ručně, což vyžaduje zastavte repliku a nakonfigurujte nový koncový bod do vaší aplikace tak, aby ukazoval na nový hlavní server. Replika bude povýšena a odpojena od předlohy. Neexistuje způsob, jak znovu propojit tuto repliku s vaší předlohou.

Nasazení PostgreSQL na virtuálním počítači Azure

Pokud přejdete na svůj Azure Portal -> Vytvořit prostředek -> Výpočet -> Virtuální počítač, otevře se sekce Vytvořit virtuální počítač, kde můžete zadat různé konfigurace pro svůj nový virtuální počítač Azure. .

Na základní kartě musíte zadat předplatné Azure, Oblast, Dostupnost možnosti, operační systém, velikost serveru, přístupové údaje (uživatelské jméno/heslo nebo klíč SSH) a příchozí pravidla brány firewall.

Na kartě disk musíte určit úložiště (typ a velikost) pro váš nový virtuální stroj. Typ disku může být Standardní HDD, Standardní SSD nebo Premium SSD. Poslední z nich se doporučuje pro vysoké zatížení IOPS.

Na kartě sítě můžete zadat virtuální síť, veřejnou IP adresu a povolené příchozí porty. Tento nový virtuální počítač můžete také přidat za ukončující řešení pro vyrovnávání zatížení Azure.

Na další kartě máme některé možnosti správy, jako je monitorování a zálohování .

A nakonec na kartě Upřesnit můžeme přidat rozšíření, cloud- init nebo hostitelské skupiny.

Po kontrole předchozí možnosti a jejím potvrzení budete mít svůj nový virtuální počítač vytvořený a přístupný z Azure Portal. V části Zdroj -> Přehled můžete vidět informace o přístupu k virtuálnímu počítači (veřejná/soukromá IP adresa).

Nyní k němu můžete přistupovat přes SSH a nainstalovat databázi PostgreSQL pomocí ClusterControl .

$ ssh 23.102.177.27

Last login: Mon Sep 23 21:33:27 2019

[[email protected] ~]$

Můžete zkontrolovat tento odkaz a zobrazit kroky k provedení implementace PostgreSQL pomocí ClusterControl.

Převzetí selhání PostgreSQL na virtuálním počítači Azure

Obnova po havárii je funkce virtuálního počítače v části Operace, která vám umožňuje replikovat vaše prostředí v jiné oblasti Azure. Chcete-li to povolit, musíte vybrat cílovou oblast. Na záložce Upřesnit můžete upravit podrobnosti konkrétního cíle; jako je virtuální síť, nastavení úložiště a nastavení replikace.

Když je povolena obnova po havárii, budete moci zkontrolovat stav replikace, otestujte proces převzetí služeb při selhání nebo jej ručně přepněte při selhání.

Toto povolení vám umožní mít možnost převzetí služeb při selhání v případě selhání. Toto však bude převzetí služeb při selhání pro celé prostředí a nejen pro databázovou službu.

Vylepšený proces převzetí služeb při selhání PostgreSQL pro Microsoft Azure

Jelikož máte přístup SSH, můžete tento proces převzetí služeb při selhání vylepšit importem virtuálního počítače (nebo dokonce nasazením databáze PostgreSQL) pomocí ClusterControl.

Pokud spravujete databázové uzly pomocí ClusterControl (a pokud je zapnutá možnost „Automatické obnovení“) v případě selhání hlavního serveru, ClusterControl povýší nejpokročilejšího podřízeného (pokud není na černé listině ) zvládnout a upozornit vás na problém. Automaticky také selže u zbytku podřízených, aby se replikovaly z nového mastera.

S ClusterControl můžete dokonce nasadit smíšené prostředí s některými uzly v cloudu a dalšími uzly na místě. Do své topologie můžete také přidat nástroje pro vyrovnávání zatížení, abyste zlepšili naše prostředí s vysokou dostupností. Více informací o tomto tématu naleznete zde.

Závěr

Azure má mnoho funkcí a produktů, které nabízejí řešení na podnikové úrovni. Během těchto testů jsem však zjistil, že hlavním problémem bylo to, že doba vytvoření a převzetí služeb při selhání byla pro potřeby většiny aplikací příliš dlouhá.

Pokud potřebujete rychlé převzetí služeb při selhání a obnovu, měli byste zlepšit dostupnost prostředí pomocí nástroje pro vyrovnávání zatížení nebo externího systému, jako je ClusterControl, abyste zkrátili prostoje. Pro podrobnější informace o spouštění PostgreSQL v Microsoft Azure se můžete podívat na náš podrobný blog.


  1. Jaký je nejúčinnější způsob, jak zkontrolovat, zda záznam v Oracle existuje?

  2. Co je pohled v Oracle?

  3. Unikání jednoduché uvozovky v PLSQL

  4. Jak provést DELETE Pass-Through Query v SQL Server