Pravidelné zálohování a obnovení v samostatné službě Service Fabric
Článek
Service Fabric je platforma pro vývoj a správu spolehlivých distribuovaných cloudových aplikací. Podporuje bezstavové i stavové mikroslužby. Stavové služby můžou uchovávat důležitá data nad rámec jedné žádosti nebo transakce. Pokud stavová služba přestane fungovat nebo ztratí data, může být potřeba ji obnovit z nedávné zálohy, aby mohla pokračovat v práci správně.
Service Fabric replikuje stav napříč několika uzly, aby se zajistilo, že je služba vysoce dostupná. I když jeden uzel v clusteru selže, bude služba dál dostupná. V některých případech je však stále žádoucí, aby data služby byla spolehlivá proti širším selháním.
Služba může například potřebovat zálohovat svá data, aby se chránila před následujícími scénáři:
Trvalá ztráta celého clusteru Service Fabric.
Trvalá ztráta většiny replik oddílu služby
Chyby správy, kdy se stát omylem odstraní nebo poškodí. Například správce s dostatečným oprávněním chybně odstraní službu.
Chyby ve službě, které způsobují poškození dat K tomu může dojít například v případě, že upgrade kódu služby začne zapisovat chybná data do spolehlivé kolekce. V takovém případě může být nutné vrátit kód i data do dřívějšího stavu.
Zpracování offline dat. Může být vhodné mít offline zpracování dat pro business intelligence, ke kterým dochází odděleně od služby, která generuje data.
Service Fabric poskytuje integrované rozhraní API pro zálohování a obnovení k určitému bodu v čase. Vývojáři aplikací můžou tato rozhraní API používat k pravidelnému zálohování stavu služby. Kromě toho, pokud správci služeb chtějí aktivovat zálohování mimo službu v určitém čase (například před upgradem aplikace), musí vývojáři zveřejnit zálohování (a obnovení) jako rozhraní API ze služby. Údržba záloh je vyšší než tato možnost. Můžete například chtít pořídit pět přírůstkových záloh každou půlhodinu a pak úplné zálohování. Po úplném zálohování můžete předchozí přírůstkové zálohy odstranit. Tento přístup vyžaduje další kód, který při vývoji aplikací vede k dalším nákladům.
Pravidelné zálohování dat aplikace je základní potřeba pro správu distribuované aplikace a ochrana před ztrátou dat nebo dlouhodobé ztráty dostupnosti služeb. Service Fabric poskytuje volitelnou službu zálohování a obnovení, která umožňuje nakonfigurovat pravidelné zálohování stavových spolehlivých služeb (včetně služeb actor), aniž byste museli psát další kód. Usnadňuje také obnovení dříve provedených záloh.
Service Fabric poskytuje sadu rozhraní API pro dosažení následujících funkcí souvisejících s funkcí pravidelného zálohování a obnovení:
Naplánujte pravidelné zálohování spolehlivých stavových služeb a Reliable Actors s podporou nahrávání záloh do (externích) umístění úložiště. Podporovaná umístění úložiště
Azure Storage
Sdílená složka (místní)
Vytvoření výčtu záloh
Aktivace neplánované zálohy oddílu
Obnovení oddílu pomocí předchozí zálohy
Dočasné pozastavení záloh
Správa uchovávání záloh (nadcházející)
Požadavky
Cluster Service Fabric s Fabric verze 6.4 nebo novější. Postup stažení požadovaného balíčku najdete v tomto článku .
Spolehlivá stavová aplikace Service Fabric sestavená pomocí sady Service Fabric SDK verze 3.0 nebo vyšší. Pro aplikace, které cílí na .NET Core 2.0, by měla být aplikace sestavena pomocí sady Service Fabric SDK verze 3.1 nebo novější.
Nainstalujte modul Microsoft.ServiceFabric.PowerShell.Http pro volání konfigurace.
Pokud je vaše verze PowerShellGet menší než 1.6.0, budete muset aktualizovat podporu příznaku -AllowPrerelease :
Install-Module -Name PowerShellGet -Force
Před provedením požadavku na konfiguraci pomocí modulu Microsoft.ServiceFabric.PowerShell.Http se ujistěte, že je cluster připojený pomocí Connect-SFCluster příkazu.
Nejprve musíte povolit službu zálohování a obnovení ve vašem clusteru. Získejte šablonu pro cluster, který chcete nasadit. Můžete použít ukázkové šablony. Povolte službu zálohování a obnovení pomocí následujících kroků:
Zkontrolujte, jestli apiversion je nastavená na 10-2017 konfigurační soubor clusteru, a pokud ne, aktualizujte ho, jak je znázorněno v následujícím fragmentu kódu:
Teď povolte službu zálohování a obnovení přidáním následující addonFeatures části do properties části, jak je znázorněno v následujícím fragmentu kódu:
Nakonfigurujte certifikát X.509 pro šifrování přihlašovacích údajů. To je důležité, abyste před uložením zajistili, že zadané přihlašovací údaje pro připojení k úložišti jsou zašifrované. Nakonfigurujte šifrovací certifikát přidáním následující BackupRestoreService části do fabricSettings části, jak je znázorněno v následujícím fragmentu kódu:
[Kryptografický otisk] musí nahradit platný kryptografický otisk certifikátu, který se má použít k šifrování.
Po aktualizaci konfiguračního souboru clusteru s předchozími změnami je použijte a nechte nasazení nebo upgrade dokončit. Po dokončení se služba zálohování a obnovení spustí ve vašem clusteru. Identifikátor URI této služby je fabric:/System/BackupRestoreService a služba může být umístěna v části systémová služba v Service Fabric Exploreru.
Povolení pravidelného zálohování pro spolehlivé stavové služby a Reliable Actors
Pojďme si projít kroky, jak povolit pravidelné zálohování pro spolehlivé stavové služby a Reliable Actors. Tyto kroky předpokládají:
Cluster je nakonfigurovaný se zálohováním a obnovením service_.
V clusteru se nasadí spolehlivá stavová služba. Pro účely této příručky pro rychlý start je fabric:/SampleApp identifikátor URI aplikace a identifikátor URI pro spolehlivou stavovou službu, která patří do této aplikace, je fabric:/SampleApp/MyStatefulService. Tato služba se nasadí s jedním oddílem a ID oddílu je 23aebc1e-e9ea-4e16-9d5c-e91a614fefa7.
Vytvoření zásady zálohování
Prvním krokem je vytvoření zásady zálohování. Tato zásada by měla zahrnovat plán zálohování, cílové úložiště pro zálohovaná data, název zásady, maximální povolený počet přírůstkových záloh před aktivací úplného zálohování a zásady uchovávání informací pro úložiště záloh.
Pro úložiště záloh vytvořte sdílenou složku a udělte oprávnění ReadWrite k této sdílené složce pro všechny počítače s uzly Service Fabric. Tento příklad předpokládá, že sdílená složka s názvem BackupStore je přítomna na StorageServer.
PowerShell s využitím modulu Microsoft.ServiceFabric.PowerShell.Http
V Service Fabric Exploreru přejděte na kartu Zálohování a vyberte Akce > Vytvořit zásadu zálohování.
Vyplňte informace. U samostatných clusterů by se měla vybrat sdílená složka FileShare.
Povolení pravidelného zálohování
Po definování zásady pro splnění požadavků aplikace na ochranu dat by se zásady zálohování měly přidružit k aplikaci. V závislosti na požadavku může být zásada zálohování přidružená k aplikaci, službě nebo oddílu.
PowerShell s využitím modulu Microsoft.ServiceFabric.PowerShell.Http
Spusťte následující skript PowerShellu pro vyvolání požadovaného rozhraní REST API pro přidružení zásady zálohování k názvu BackupPolicy1 vytvořenému v předchozím kroku s aplikací SampleApp.
Ujistěte se, že je v clusteru povolená služba BackupRestoreService.
Otevřete Service Fabric Explorer.
Vyberte aplikaci a přejděte do části Zálohování. Klikněte na akci zálohování.
Klikněte na Povolit nebo aktualizovat zálohování aplikací.
Nakonec vyberte požadovanou zásadu a vyberte Povolit zálohování.
Ověření fungování pravidelných záloh
Po povolení zálohování pro aplikaci se všechny oddíly patřící do spolehlivých stavových služeb a Reliable Actors v rámci aplikace začnou pravidelně zálohovat podle přidružených zásad zálohování.
Výpis záloh
Zálohy přidružené ke všem oddílům patřícím do spolehlivých stavových služeb a Reliable Actors aplikace je možné vytvořit výčet pomocí rozhraní GetBackups API. V závislosti na požadavku je možné zálohy vyčíslit pro aplikaci, službu nebo oddíl.
PowerShell s využitím modulu Microsoft.ServiceFabric.PowerShell.Http
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.