Sdílet prostřednictvím


Principy pravidelné konfigurace zálohování v Azure Service Fabric

Konfigurace pravidelného zálohování spolehlivých stavových služeb nebo Reliable Actors se skládá z následujících kroků:

  1. Vytváření zásad zálohování: V tomto kroku se v závislosti na požadavcích vytvoří jedna nebo více zásad zálohování.

  2. Povolení zálohování: V tomto kroku přidružíte zásady zálohování vytvořené v kroku 1 k požadovaným entitám, aplikacím, službě nebo oddílu.

Vytvoření zásad zálohování

Zásady zálohování se skládají z následujících konfigurací:

  • Automatické obnovení při ztrátě dat: Určuje, jestli se má automatické obnovení aktivovat pomocí nejnovější dostupné zálohy v případě, že dojde k události ztráty dat v oddílu.

Poznámka:

Doporučuje se nenastavovat automatické obnovení v produkčních clusterech.

  • Maximální přírůstkové zálohování: Definuje maximální počet přírůstkových záloh, které se mají provést mezi dvěma úplnými zálohami. Maximální přírůstkové zálohování určuje horní limit. Úplné zálohování může být pořízeno před dokončením zadaného počtu přírůstkových záloh v jedné z následujících podmínek.

    1. Replika nikdy nezabrala úplnou zálohu, protože se stala primární.

    2. Některé záznamy protokolu od posledního zálohování byly zkráceny.

    3. Replika předala limit MaxAccumulatedBackupLogSizeInMB.

  • Plán zálohování: Čas nebo frekvence, při kterých se mají pravidelně zálohovat. Zálohování je možné naplánovat tak, aby se opakovaly v zadaném intervalu nebo v pevně stanoveném čase denně nebo týdně.

    1. Plán zálohování založený na frekvenci: Tento typ plánu by se měl použít, pokud je potřeba provést zálohování dat v pevných intervalech. Požadovaný časový interval mezi dvěma po sobě jdoucími zálohami je definován pomocí formátu ISO8601. Plán zálohování založený na frekvenci podporuje rozlišení intervalu až do minuty.

      {
          "ScheduleKind": "FrequencyBased",
          "Interval": "PT10M"
      }
      
    2. Časový plán zálohování: Tento typ plánu by se měl použít, pokud je potřeba provést zálohování dat v určitých časech dne nebo týdne. Typ frekvence plánu může být denní nebo týdenní.

      1. Denní plán zálohování podle času: Tento typ plánu by se měl použít, pokud je potřeba provést zálohování dat v konkrétních časech dne. Pokud to chcete zadat, nastavte ScheduleFrequencyType hodnotu Denně a nastavte RunTimes na seznam požadovaných časů během dne ve formátu ISO8601, bude datum zadané spolu s časem ignorováno. Například 0001-01-01T18:00:00 představuje 18:00 každý den a ignoruje část data 0001-01-01. Následující příklad znázorňuje konfiguraci pro aktivaci denního zálohování v 9:00 a 18:00 každý den.

        {
            "ScheduleKind": "TimeBased",
            "ScheduleFrequencyType": "Daily",
            "RunTimes": [
              "0001-01-01T09:00:00Z",
              "0001-01-01T18:00:00Z"
            ]
        }
        
      2. Týdenní časový plán zálohování: Tento typ plánu by se měl použít, pokud je potřeba provést zálohování dat v určitých časech dne. Pokud chcete tento parametr zadat, nastavte ScheduleFrequencyType na Hodnotu Týdně. Pokud RunDays je potřeba aktivovat zálohování a nastavit RunTimes na seznam požadovaných časů během dne ve formátu ISO8601, bude datum zadané spolu s časem ignorováno. Seznamdnůchchchch Následující příklad znázorňuje konfiguraci pro aktivaci denního zálohování v 9:00 a 16:00 během pondělí do pátku.

        {
            "ScheduleKind": "TimeBased",
            "ScheduleFrequencyType": "Weekly",
            "RunDays": [
               "Monday",
               "Tuesday",
               "Wednesday",
               "Thursday",
               "Friday"
            ],
            "RunTimes": [
              "0001-01-01T09:00:00Z",
              "0001-01-01T18:00:00Z"
            ]
        }
        
  • Úložiště záloh: Určuje umístění pro nahrání záloh. Úložištěm může být úložiště objektů blob Azure nebo sdílená složka.

    1. Úložiště objektů blob Azure se spravovanou identitou: Tento typ úložiště by se měl vybrat, pokud je potřeba ukládat vygenerované zálohy v Azure. Tento typ úložiště může používat samostatný i cloudový cluster. Popis pro tento typ úložiště vyžaduje Identifikátor BlobServiceUri a název kontejneru, ve kterém je potřeba nahrávat zálohy. Pokud kontejner se zadaným názvem není dostupný, vytvoří se během nahrávání zálohy. Nahraďte account-name názvem svého účtu úložiště.

      {
          "StorageKind": "ManagedIdentityAzureBlobStore",
          "FriendlyName": "AzureMI_storagesample",
          "BlobServiceUri": "https://<account-name>.blob.core.windows.net",
          "ContainerName": "backup-container",
          "ManagedIdentityType": "VMSS",
          "ManagedIdentityClientId": "<Client-Id of User-Assigned MI>" 
      }
      

      [POZNÁMKA] V případě více spravovaných identit přiřazených uživatelem nebo přiřazených k vašemu prostředku nebo přiřazených sami a UAMI použijte volitelný parametr ManagedIdentityClientId s ID uživatelem přiřazenou spravovanou identitu přiřazenou uživatelem. Jinak tento parametr nepotřebujeme.

      Postupujte podle kroků pro přiřazení spravované identity u prostředku Azure:

      1. Povolení spravované identity přiřazené systémem nebo přiřazené uživatelem ve službě VMSS – Konfigurace spravovaných identit ve škálovací sadě virtuálních počítačů

      2. Přiřazení role spravované identitě VMSS k účtu úložiště Přiřazení rolí Azure pomocí webu Azure Portal – Azure RBAC

        1. Role přispěvatele dat objektů blob služby Storage minimálně

      Další informace o spravované identitě

    2. Úložiště objektů blob Azure s připojovacím řetězcem: Tento typ úložiště by se měl vybrat, pokud je potřeba ukládat vygenerované zálohy v Azure. Tento typ úložiště může používat samostatný i cloudový cluster. Popis tohoto typu úložiště vyžaduje připojovací řetězec a název kontejneru, kde je potřeba nahrát zálohy. Pokud kontejner se zadaným názvem není dostupný, vytvoří se během nahrávání zálohy.

      {
          "StorageKind": "AzureBlobStore",
          "FriendlyName": "Azure_storagesample",
          "ConnectionString": "<Put your Azure blob store connection string here>",
          "ContainerName": "backup-container"
      }
      

      Poznámka:

      Služba obnovení zálohování nefunguje s připojovacím řetězcem úložiště Azure v1, protože přímý přístup k prostředku bez ověřování uživatele se nedoporučuje v produkčním prostředí.

    3. Sdílená složka: Tento typ úložiště by se měl vybrat pro samostatné clustery, pokud je potřeba ukládat zálohy dat místně. Popis pro tento typ úložiště vyžaduje cestu ke sdílené složce, kde je potřeba nahrávat zálohy. Přístup ke sdílené složce je možné nakonfigurovat pomocí jedné z následujících možností:

      1. Integrované ověřování systému Windows, kde je přístup ke sdílené složce poskytován všem počítačům patřícím do clusteru Service Fabric. V tomto případě nastavte následující pole pro konfiguraci úložiště zálohování založeného na sdílených složkách .

        {
            "StorageKind": "FileShare",
            "FriendlyName": "Sample_FileShare",
            "Path": "\\\\StorageServer\\BackupStore"
        }
        
      2. Ochrana sdílené složky pomocí uživatelského jména a hesla, kde se poskytuje přístup ke sdílené složce konkrétním uživatelům. Specifikace úložiště sdílených složek také poskytuje možnost zadat sekundární uživatelské jméno a sekundární heslo, aby bylo možné poskytnout záložní přihlašovací údaje v případě, že ověřování selže s primárním uživatelským jménem a primárním heslem. V tomto případě nastavte následující pole pro konfiguraci úložiště zálohování založeného na sdílených složkách .

        {
            "StorageKind": "FileShare",
            "FriendlyName": "Sample_FileShare",
            "Path": "\\\\StorageServer\\BackupStore",
            "PrimaryUserName": "backupaccount",
            "PrimaryPassword": "<Password for backupaccount>",
            "SecondaryUserName": "backupaccount2",
            "SecondaryPassword": "<Password for backupaccount2>"
        }
        

Poznámka:

Ujistěte se, že spolehlivost úložiště splňuje nebo překračuje požadavky na spolehlivost zálohovaných dat.

  • Zásady uchovávání informací: Určuje zásadu, která má uchovávat zálohy v nakonfigurovaném úložišti. Podporují se pouze základní zásady uchovávání informací.
    1. Základní zásady uchovávání informací: Tato zásada uchovávání informací umožňuje zajistit optimální využití úložiště odebráním záložních souborů, které už nejsou potřeba. RetentionDuration lze zadat, aby se nastavil časový rozsah, pro který je nutné uchovávat zálohy v úložišti. MinimumNumberOfBackups je volitelný parametr, který lze zadat, aby se zajistilo, že zadaný počet záloh je vždy zachován bez ohledu na hodnotu RetentionDuration. Následující příklad znázorňuje konfiguraci zachování záloh po dobu 10 dnů a neumožňuje, aby počet záloh byl nižší než 20.

      {
          "RetentionPolicyType": "Basic",
          "RetentionDuration": "P10D",
          "MinimumNumberOfBackups": 20
      }
      

Povolení pravidelného zálohování

Po definování zásad zálohování, které splňují požadavky na zálohování dat, by zásady zálohování měly být odpovídajícím způsobem přidruženy buď k aplikaci, nebo službě, nebo oddílu.

Poznámka:

Před povolením zálohování se ujistěte, že neprobíhá žádné upgrady aplikací.

Hierarchické šíření zásad zálohování

V Service Fabric je vztah mezi aplikacemi, službami a oddíly hierarchický, jak je vysvětleno v aplikačním modelu. Zásady zálohování můžou být přidružené k aplikaci, službě nebo oddílu v hierarchii. Zásady zálohování se hierarchicky šíří na další úroveň. Za předpokladu, že se vytvoří a přidružuje pouze jedna zásada zálohování k aplikaci, všechny stavové oddíly patřící do všech spolehlivých stavových služeb a Reliable Actors aplikace se zálohují pomocí zásad zálohování. Nebo pokud je zásada zálohování přidružená ke spolehlivé stavové službě, všechny její oddíly se zálohují pomocí zásad zálohování.

Přepsání zásad zálohování

Může se stát, že zálohování dat se stejným plánem zálohování vyžaduje pro všechny služby aplikace s výjimkou konkrétních služeb, u kterých je potřeba mít zálohování dat s využitím plánu vyšší frekvence nebo zálohování do jiného účtu úložiště nebo sdílené složky. Pro řešení takových scénářů poskytuje služba obnovení zálohování zařízení k přepsání šířených zásad ve službě a oboru oddílů. Pokud je zásada zálohování přidružená ke službě nebo oddílu, přepíše rozšířenou zásadu zálohování( pokud existuje).

Příklad

Tento příklad používá nastavení se dvěma aplikacemi, MyApp_A a MyApp_B. Aplikační MyApp_A obsahuje dvě spolehlivé stavové služby, SvcA1 a SvcA3 a jednu službu Reliable Actor Actor Actor A2. SvcA1 obsahuje tři oddíly, zatímco ActorA2 a SvcA3 obsahují dva oddíly. Aplikační MyApp_B obsahuje tři spolehlivé stavové služby, SvcB1, SvcB2 a SvcB3. _SvcB1 a SvcB2 obsahují dva oddíly, zatímco SvcB3 obsahuje tři oddíly.

Předpokládejme, že požadavky na zálohování dat těchto aplikací jsou následující:

  1. MyApp_A

    1. Vytvořte denní zálohu dat pro všechny oddíly všech spolehlivých stavových služeb a Reliable Actors patřících do aplikace. Nahrajte zálohovaná data do umístění BackupStore1.

    2. Jedna ze služeb, SvcA3, vyžaduje zálohování dat každou hodinu.

    3. Velikost dat v oddílu SvcA1_P2 je vyšší, než se čekalo , a zálohovaná data by se měla ukládat do jiného umístění úložiště BackupStore2.

  2. MyApp_B

    1. Vytvořte zálohu dat každou neděli v 8:00 pro všechny oddíly služby SvcB1 . Nahrajte zálohovaná data do umístění BackupStore1.

    2. Vytvořte zálohu dat každý den v 8:00 pro SvcB2_P1 oddílů. Nahrajte zálohovaná data do umístění BackupStore1.

Pokud chcete tyto požadavky na zálohování dat vyřešit, vytvoří se zásady zálohování BP_1 do BP_5 a zálohování se povolí následujícím způsobem.

  1. MyApp_A

    1. Vytvořte zásady zálohování BP_1 s plánem zálohování založeným na frekvenci, kde je frekvence nastavená na 24 hodin. a úložiště zálohování nakonfigurované pro použití úložiště BackupStore1. Tuto zásadu povolte pro MyApp_A aplikací pomocí povolení rozhraní API služby Application Backup. Tato akce umožňuje zálohování dat pomocí zásad zálohování BP_1 pro všechny oddíly spolehlivých stavových služeb a Reliable Actors patřících do aplikačních MyApp_A.

    2. Vytvořte zásady zálohování, BP_2 s plánem zálohování založeným na frekvenci, kde je frekvence nastavená na 1 hodina. a úložiště zálohování nakonfigurované pro použití úložiště BackupStore1. Tuto zásadu povolte pro službu SvcA3 pomocí povolení rozhraní API služby Backup . Tato akce přepíše šířenou zásadu BP_1 explicitně povolenou zásadou zálohování BP_2 pro všechny oddíly služby SvcA3 , což vede k zálohování dat pomocí zásad zálohování BP_2 pro tyto oddíly.

    3. Vytvořte zásady zálohování, BP_3 s plánem zálohování založeným na frekvenci, kde je frekvence nastavená na 24 hodin. a úložiště zálohování nakonfigurované pro použití úložiště BackupStore2. Tuto zásadu povolte pro SvcA1_P2 oddílů pomocí povolení rozhraní API pro zálohování oddílů. Tato akce přepíše šíření zásad BP_1 explicitně povolenými BP_3 zásad zálohování pro SvcA1_P2 oddílů.

  2. MyApp_B

    1. Vytvořte zásadu zálohování, BP_4 s časovým plánem zálohování, kde je typ frekvence plánu nastavený na týdenní, dny spuštění se nastaví na neděli a časy spuštění se nastaví na 8:00. Úložiště zálohování nakonfigurované pro použití úložiště BackupStore1. Tuto zásadu povolte pro službu SvcB1 pomocí povolení rozhraní API služby Backup . Tato akce umožňuje zálohování dat pomocí zásad zálohování BP_4 pro všechny oddíly služby SvcB1.

    2. Vytvořte zásady zálohování, BP_5 s časovým plánem zálohování, ve kterém je typ frekvence plánu nastavený na denní a běhu je nastavený na 8:00. Úložiště zálohování nakonfigurované pro použití úložiště BackupStore1. Tuto zásadu povolte pro SvcB2_P1 oddílů pomocí povolení rozhraní API pro zálohování oddílů. Tato akce umožňuje zálohování dat pomocí zásad zálohování BP_5 pro SvcB2_P1 oddílů.

Následující diagram znázorňuje explicitně povolené zásady zálohování a šířené zásady zálohování.

Hierarchie aplikací Service Fabric

Zákaz zálohování

Zásady zálohování je možné zakázat, když není potřeba zálohovat data. Zásady zálohování povolené v aplikaci je možné zakázat pouze ve stejné aplikaci pomocí zakázat rozhraní API zálohování aplikací, zásady zálohování povolené ve službě ve stejné službě pomocí zakázání rozhraní API zálohování služby a zásady zálohování povolené v oddílu se dají zakázat ve stejném oddílu pomocí zakázat rozhraní API pro zálohování oddílů.

  • Zakázání zásad zálohování pro aplikaci zastaví všechny pravidelné zálohování dat v důsledku šíření zásad zálohování do oddílů spolehlivé stavové služby nebo oddílů Reliable Actor.

  • Zakázání zásad zálohování pro službu zastaví všechny pravidelné zálohování dat v důsledku šíření této zásady zálohování do oddílů služby.

  • Zakázání zásad zálohování pro oddíl zastaví pravidelné zálohování dat kvůli zásadám zálohování v oddílu.

  • Při zakazování zálohování pro entitu (application,service/partition) CleanBackup je možné nastavit na hodnotu true , aby se odstranily všechny zálohy v nakonfigurovaném úložišti.

    {
        "CleanBackup": true 
    }
    

Poznámka:

Před zakázáním zálohování se ujistěte, že neprobíhá žádné upgrady aplikací.

Pozastavení a obnovení zálohování

V některých situacích může být požadováno dočasné pozastavení pravidelného zálohování dat. V takových situacích se v závislosti na požadavku může rozhraní API zálohování pozastavit v aplikaci, službě nebo oddílu. Pravidelné pozastavení zálohování je tranzitivní přes podstrom hierarchie aplikace z bodu, který se používá.

Jakmile bude potřeba pozastavení, můžete pravidelné zálohování dat obnovit pomocí příslušného rozhraní API pro obnovení záloh. Pravidelné zálohování musí být obnoveno ve stejné aplikaci, službě nebo oddílu , ve kterém byla pozastavena.

Rozdíl mezi pozastavením a zakázáním záloh

Zakázat zálohování by se mělo použít, když už zálohování není nutné pro konkrétní aplikaci, službu nebo oddíl. Jeden může vyvolat zákaz žádosti o zálohování spolu s čistým parametrem zálohování na hodnotu true, což by znamenalo, že se odstraní i všechny existující zálohy. Pozastavení se ale použije ve scénářích, kdy jeden chce dočasně vypnout zálohy, jako když se místní disk zaplní nebo selhává zálohování kvůli známému problému se sítí atd.

Zakázání lze vyvolat pouze na úrovni, která byla dříve povolena pro zálohování explicitně, ale pozastavení lze použít na jakékoli úrovni, která je aktuálně povolena pro zálohování buď přímo, nebo prostřednictvím dědičnosti nebo hierarchie. Pokud je například zálohování povolené na úrovni aplikace, může vyvolat zákaz pouze na úrovni aplikace, ale pozastavení lze vyvolat v aplikaci, jakékoli službě nebo oddílu v této aplikaci.

Automatické obnovení při ztrátě dat

Oddíl služby může kvůli neočekávaným selháním přijít o data. Například disk pro dva ze tří replik pro oddíl (včetně primární repliky) se poškodí nebo vymaže.

Když Service Fabric zjistí, že je oddíl ve ztrátě dat, vyvolá OnDataLossAsync v oddílu metodu rozhraní a očekává, že oddíl provede požadovanou akci, aby přišla o ztrátu dat. V takovém případě platí, že pokud je v oddílu AutoRestoreOnDataLoss nastavena true platná zásada zálohování, aktivuje se obnovení automaticky pomocí nejnovější dostupné zálohy pro tento oddíl.

Poznámka:

Doporučuje se nenastavovat automatické obnovení v produkčních clusterech.

Získání konfigurace zálohování

K dispozici jsou samostatná rozhraní API pro získání informací o konfiguraci zálohování v oboru aplikace, služby a oddílu . Získejte informace o konfiguraci zálohování aplikací, získejte konfigurační informace o službě Backup a získejte informace o konfiguraci zálohování oddílů v uvedeném pořadí. Tato rozhraní API vrací hlavně příslušné zásady zálohování, obor, ve kterém se zásady zálohování použijí, a podrobnosti o pozastavení zálohování. Následuje stručný popis vrácených výsledků těchto rozhraní API.

  • Informace o konfiguraci zálohování aplikací: poskytují podrobnosti o zásadách zálohování použitých v aplikaci a všechny přepsané zásady ve službách a oddílech patřících do aplikace. Obsahuje také informace o pozastavení aplikace a jejích služeb a oddíly.

  • Informace o konfiguraci zálohování služeb: poskytují podrobnosti o efektivních zásadách zálohování ve službě a rozsahu, ve kterém se tato zásada použila, a všechny přepsané zásady ve svých oddílech. Obsahuje také informace o pozastavení služby a jejích oddílů.

  • Informace o konfiguraci zálohování oddílů: poskytují podrobnosti o efektivních zásadách zálohování v oddílu a rozsahu, ve kterém se tato zásada použila. Obsahuje také informace o pozastavení oddílů.

Výpis dostupných záloh

Dostupné zálohy je možné uvést pomocí rozhraní API získat seznam záloh. Výsledkem volání rozhraní API jsou položky informací o zálohování související se všemi zálohami dostupnými v úložišti zálohování, které jsou nakonfigurované v příslušných zásadách zálohování. Pro výpis dostupných záloh, které patří do aplikace, služby nebo oddílu, jsou k dispozici různé varianty tohoto rozhraní API. Tato rozhraní API podporují získání nejnovější dostupné zálohy všech příslušných oddílů nebo filtrování záloh na základě data zahájení a koncového data.

Tato rozhraní API také podporují stránkování výsledků, pokud je parametr MaxResults nastavený na nenulové kladné celé číslo, vrátí rozhraní API maximální počet zálohovaných položek MaxResults . V případě, že jsou k dispozici více záložních informací než hodnota MaxResults , vrátí se token pro pokračování. Platný parametr tokenu pokračování lze použít k získání další sady výsledků. Pokud se do dalšího volání rozhraní API předá platná hodnota tokenu pokračování, vrátí rozhraní API další sadu výsledků. Při vrácení všech dostupných výsledků se do odpovědi nezahrne žádný token pro pokračování.

Níže najdete stručné informace o podporovaných variantách.

  • Získat seznam záloh aplikací: Vrátí seznam záloh dostupných pro každý oddíl patřící dané aplikaci Service Fabric.

  • Získání seznamu zálohování služeb: Vrátí seznam záloh dostupných pro každý oddíl, který patří dané službě Service Fabric.

  • Získání seznamu zálohování oddílů: Vrátí seznam záloh dostupných pro zadaný oddíl.

Další kroky