Zálohování sdílené složky Azure pomocí PowerShellu

Tento článek popisuje, jak pomocí Azure PowerShell zálohovat sdílenou složku Azure Files prostřednictvím trezoru služby Azure Backup Recovery Services.

Tento článek vysvětluje, jak:

  • Nastavte PowerShell a zaregistrujte zprostředkovatele služby Recovery Services.
  • Vytvořte trezor služby Recovery Services.
  • Konfigurace zálohování sdílené složky Azure
  • Spusťte úlohu zálohování.

Než začnete

Nastavení PowerShellu

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Poznámka

Azure PowerShell v současné době nepodporuje zásady zálohování s hodinovým plánem. K využití této funkce použijte web Azure Portal. Další informace

PowerShell nastavte následujícím způsobem:

  1. Stáhněte si nejnovější verzi Azure PowerShell.

    Poznámka

    Minimální verze PowerShellu vyžadovaná pro zálohování sdílených složek Azure je Az.RecoveryServices 2.6.0. Použití nejnovější verze nebo alespoň minimální verze vám pomůže vyhnout se problémům se stávajícími skripty. Nainstalujte minimální verzi pomocí následujícího příkazu PowerShellu:

    Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
    
  2. Pomocí tohoto příkazu vyhledejte rutiny PowerShellu pro Azure Backup:

    Get-Command *azrecoveryservices*
    
  3. Projděte si aliasy a rutiny pro Azure Backup, Azure Site Recovery a trezor služby Recovery Services. Tady je příklad toho, co se může zobrazit. Nejedná se o úplný seznam rutin.

    Seznam rutin služby Recovery Services

  4. Přihlaste se ke svému účtu Azure pomocí connect-AzAccount.

  5. Na webové stránce, která se zobrazí, se zobrazí výzva k zadání přihlašovacích údajů k účtu.

    Případně můžete přihlašovací údaje účtu zahrnout jako parametr do rutiny Connect-AzAccount pomocí parametru -Credential.

    Pokud jste partner CSP, který pracuje jménem tenanta, zadejte zákazníka jako tenanta. Použijte ID tenanta nebo název primární domény tenanta. Příkladem je Connect-AzAccount -Tenant "fabrikam.com".

  6. Přidružte k účtu předplatné, které chcete použít, protože účet může mít několik předplatných:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. Pokud používáte Azure Backup poprvé, pomocí rutiny Register-AzResourceProvider zaregistrujte poskytovatele služeb Azure Recovery Services ve vašem předplatném:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  8. Ověřte, že se poskytovatelé úspěšně zaregistrovali:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. Ve výstupu příkazu ověřte, že RegistrationState se změní na Registered. Pokud ne, spusťte znovu rutinu Register-AzResourceProvider .

Vytvoření trezoru Služeb zotavení

Trezor služby Recovery Services je Resource Manager prostředek, takže ho musíte umístit do skupiny prostředků. Můžete použít existující skupinu prostředků nebo vytvořit skupinu prostředků pomocí rutiny New-AzResourceGroup . Když vytváříte skupinu prostředků, zadejte pro ni název a umístění.

Trezor služby Recovery Services vytvoříte takto:

  1. Pokud nemáte existující skupinu prostředků, vytvořte novou pomocí rutiny New-AzResourceGroup . V tomto příkladu vytvoříme skupinu prostředků v oblasti USA – západ:

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. K vytvoření trezoru použijte rutinu New-AzRecoveryServicesVault . Zadejte stejné umístění trezoru, které jste použili pro skupinu prostředků.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    

Zobrazení trezorů v předplatném

Pokud chcete zobrazit všechny trezory v předplatném, použijte rutinu Get-AzRecoveryServicesVault:

Get-AzRecoveryServicesVault

Výstup je podobný následujícímu. Všimněte si, že výstup poskytuje přidruženou skupinu prostředků a umístění.

Name              : Contoso-vault
ID                : /subscriptions/1234
Type              : Microsoft.RecoveryServices/vaults
Location          : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId    : 1234-567f-8910-abc
Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties

Nastavení kontextu trezoru

Uložte objekt trezoru do proměnné a nastavte kontext trezoru.

Mnoho rutin Azure Backup vyžaduje jako vstup objekt trezoru služby Recovery Services, takže je vhodné uložit objekt trezoru do proměnné.

Kontext trezoru představuje typ chráněných dat v trezoru. Nastavte ho pomocí rutiny Set-AzRecoveryServicesVaultContext. Jakmile je kontext nastavený, platí pro všechny následné rutiny.

Následující příklad nastaví kontext trezoru pro testvault:

Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext

Načtení ID trezoru

V souladu s pokyny pro Azure PowerShell plánujeme nastavení kontextu trezoru přestat používat. Místo toho můžete uložit nebo načíst ID trezoru a předat ho příslušným příkazům. Pokud jste nenastavili kontext trezoru nebo chcete zadat příkaz, který se má spustit pro určitý trezor, předejte ID trezoru jako -vaultID všechny relevantní příkazy následujícím způsobem:

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID

Konfigurace zásad zálohování

Zásady zálohování určují plán zálohování a dobu uchovávání bodů obnovení.

Zásady zálohování jsou přidružené alespoň k jedné zásadě uchovávání informací. Zásady uchovávání informací definují, jak dlouho se bod obnovení uchovává, než se odstraní. Zálohování můžete nakonfigurovat s denním, týdenním, měsíčním nebo ročním uchováváním. Pomocí zásad více záloh můžete také nakonfigurovat uchovávání záloh po hodinách.

Zvolte typ zásady:

Tady je několik rutin pro zásady zálohování:

Ve výchozím nastavení je počáteční čas definován v objektu zásad plánu. Pomocí následujícího příkladu změňte čas spuštění na požadovaný čas spuštění. Požadovaný čas zahájení by měl být ve standardu UTC (Universal Coordinated Time). V příkladu se předpokládá, že požadovaný čas zahájení denních záloh je 01:00 UTC.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime

Důležité

Počáteční čas musíte zadat pouze v 30minutových násobcích. V předchozím příkladu to může být pouze "01:00:00" nebo "02:30:00". Počáteční čas nemůže být "01:15:00".

Následující příklad ukládá zásady plánu a zásady uchovávání informací v proměnných. Tyto proměnné pak použije jako parametry pro novou zásadu (NewAFSPolicy). NewAFSPolicy vytváří denní zálohu a uchovává ji po dobu 30 dnů.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureFiles"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol

Výstup je podobný tomuto:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewAFSPolicy           AzureFiles            AzureStorage              10/24/2019 1:30:00 AM

Povolení zálohování

Po definování zásad zálohování můžete povolit ochranu sdílené složky Azure pomocí těchto zásad.

Načtení zásad zálohování

Příslušný objekt zásad načtete pomocí rutiny Get-AzRecoveryServicesBackupProtectionPolicy. Pomocí této rutiny můžete zobrazit zásady přidružené k typu úlohy nebo získat konkrétní zásadu.

Načtení zásad pro typ úlohy

Následující příklad načte zásady pro typ úlohy AzureFiles:

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"

Výstup je podobný tomuto:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
dailyafs             AzureFiles         AzureStorage         1/10/2018 12:30:00 AM

Poznámka

Časové pásmo pole BackupTime v PowerShellu je v UTC. Když se čas zálohování zobrazí v Azure Portal, upraví se podle vašeho místního časového pásma.

Načtení konkrétní zásady

Následující zásada načte zásady zálohování s názvem dailyafs:

$afsPol =  Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"

Povolení ochrany a použití zásad

Povolte ochranu pomocí rutiny Enable-AzRecoveryServicesBackupProtection. Po přidružení zásady k trezoru se zálohování aktivuje v souladu s plánem zásad.

Následující příklad povolí ochranu pro test sdílené složky Azure AzureFS v účtu úložiště testStorageAcct pomocí zásad dailyafs:

Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol

Příkaz počká na dokončení úlohy configure-protection a zobrazí výstup podobný následujícímu příkladu:

WorkloadName       Operation            Status                 StartTime                                                                                                         EndTime                   JobID
------------             ---------            ------               ---------                                  -------                   -----
testAzureFS       ConfigureBackup      Completed            11/12/2018 2:15:26 PM     11/12/2018 2:16:11 PM     ec7d4f1d-40bd-46a4-9edb-3193c41f6bf6

Další informace o tom, jak získat seznam sdílených složek pro účet úložiště, najdete v tomto článku.

Důležité upozornění: Identifikace zálohované položky

Tato část popisuje důležitou změnu v zálohování sdílených složek Azure v rámci přípravy na obecnou dostupnost.

Při povolování zálohování sdílených složek Azure uživatel zadá zákazníkovi název sdílené složky jako název entity a vytvoří se zálohovaná položka. Název zálohované položky je jedinečný identifikátor, který vytvoří služba Azure Backup. Identifikátor je obvykle popisný název. Abychom ale zvládli scénář obnovitelného odstranění, kdy je možné odstranit sdílenou složku a vytvořit jinou sdílenou složku se stejným názvem, jedinečná identita sdílené složky Azure je teď ID.

Pokud chcete zjistit jedinečné ID jednotlivých položek, spusťte příkaz Get-AzRecoveryServicesBackupItem s příslušnými filtry pro backupManagementType a WorkloadType , abyste získali všechny relevantní položky. Pak se podívejte na pole s názvem ve vráceném objektu nebo odpovědi PowerShellu.

Doporučujeme vypsat položky a pak načíst jejich jedinečný název z pole názvu v odpovědi. Tuto hodnotu použijte k filtrování položek pomocí parametru Name . V opačném případě použijte parametr FriendlyName k načtení položky s jejím ID.

Důležité

Ujistěte se, že je PowerShell upgradovaný na minimální verzi (Az.RecoveryServices 2.6.0) pro zálohy sdílených složek Azure. V této verzi je filtr FriendlyName k dispozici pro příkaz Get-AzRecoveryServicesBackupItem .

Předejte název sdílené složky Azure parametru FriendlyName . Pokud předáte název sdílené složky parametru Name , tato verze vyvolá upozornění, že se název předá parametru FriendlyName .

Nenainstalování minimální verze může způsobit selhání existujících skriptů. Nainstalujte minimální verzi PowerShellu pomocí následujícího příkazu:

Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0

Aktivace zálohování na vyžádání

Pomocí backup-AzRecoveryServicesBackupItem spusťte zálohování chráněné sdílené složky Azure na vyžádání:

  1. Načtěte účet úložiště z kontejneru v trezoru, který obsahuje zálohovaná data, pomocí rutiny Get-AzRecoveryServicesBackupContainer.
  2. Pokud chcete spustit úlohu zálohování, získejte informace o sdílené složce Azure pomocí rutiny Get-AzRecoveryServicesBackupItem.
  3. Spusťte zálohování na vyžádání pomocí rutiny Backup-AzRecoveryServicesBackupItem.

Spusťte zálohování na vyžádání následujícím způsobem:

$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job =  Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem

Příkaz vrátí úlohu s ID, která se má sledovat, jak je znázorněno v následujícím příkladu:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
testAzureFS       Backup               Completed            11/12/2018 2:42:07 PM     11/12/2018 2:42:11 PM     8bdfe3ab-9bf7-4be6-83d6-37ff1ca13ab6

Snímky sdílených složek Azure se používají při vytváření záloh. Úloha se obvykle dokončí v době, kdy příkaz vrátí tento výstup.

Další kroky