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
Přečtěte si další informace o trezorech služby Recovery Services.
Projděte si referenční informace k rutinám Az.RecoveryServices v knihovně Azure.
Projděte si následující hierarchii objektů PowerShellu pro službu Recovery Services:
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:
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
Pomocí tohoto příkazu vyhledejte rutiny PowerShellu pro Azure Backup:
Get-Command *azrecoveryservices*
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.
Přihlaste se ke svému účtu Azure pomocí connect-AzAccount.
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".
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
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"
Ověřte, že se poskytovatelé úspěšně zaregistrovali:
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
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:
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"
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í:
- Výchozí uchovávání zásad zálohování můžete zobrazit pomocí rutiny Get-AzRecoveryServicesBackupRetentionPolicyObject.
- Pomocí rutiny Get-AzRecoveryServicesBackupSchedulePolicyObject zobrazte výchozí plán zásad zálohování.
- Vytvořte novou zásadu zálohování pomocí rutiny New-AzRecoveryServicesBackupProtectionPolicy. Jako vstup zadáte objekty plánu a zásad uchovávání informací.
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í:
- Načtěte účet úložiště z kontejneru v trezoru, který obsahuje zálohovaná data, pomocí rutiny Get-AzRecoveryServicesBackupContainer.
- Pokud chcete spustit úlohu zálohování, získejte informace o sdílené složce Azure pomocí rutiny Get-AzRecoveryServicesBackupItem.
- 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
- Přečtěte si o zálohování Azure Files v Azure Portal.
- Informace o použití runbooku Azure Automation k plánování zálohování najdete v ukázkovém skriptu na GitHubu.