Sichern einer Azure-Dateifreigabe mithilfe von PowerShell
In diesem Artikel wird beschrieben, wie Sie mit Azure PowerShell und einem Recovery Services-Tresor von Azure Backup eine Azure Files-Dateifreigabe sichern.
In diesem Artikel wird Folgendes erläutert:
- Einrichten von PowerShell und Registrieren des Recovery Services-Anbieters
- Erstellen Sie einen Recovery Services-Tresor.
- Konfigurieren der Sicherung für eine Azure-Dateifreigabe
- Ausführen eines Sicherungsauftrags
Vorbereitung
Lesen Sie weitere Informationen zu Recovery Services-Tresoren.
Sehen Sie sich die Referenz zum Cmdlet Az.RecoveryServices in der Azure-Bibliothek an.
Sehen Sie sich die folgende PowerShell-Objekthierarchie für Recovery Services an:
Einrichten von PowerShell
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Hinweis
Azure PowerShell unterstützt derzeit keine Sicherungsrichtlinien mit Stundenplan. Bitte verwenden Sie Azure Portal, um diese Funktion zu nutzen. Weitere Informationen
Richten Sie PowerShell wie folgt ein:
Laden Sie die neueste Version von Azure PowerShell herunter.
Hinweis
Die erforderliche PowerShell-Mindestversion für die Sicherung von Azure-Dateifreigaben ist Az.RecoveryServices 2.6.0. Wenn Sie die neueste oder zumindest die Mindestversion nutzen, können Sie Probleme mit vorhandenen Skripts vermeiden. Installieren Sie die Mindestversion mit dem folgenden PowerShell-Befehl:
Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
Ermitteln Sie die PowerShell-Cmdlets für Azure Backup mit dem folgenden Befehl:
Get-Command *azrecoveryservices*
Sehen Sie sich die Aliase und Cmdlets für Azure Backup, Azure Site Recovery und den Recovery Services-Tresor an. Unten sehen Sie eine Beispielanzeige. Dies ist keine vollständige Liste der Cmdlets.
Melden Sie sich mithilfe von Connect-AzAccount bei Ihrem Azure-Konto an.
Auf der daraufhin angezeigten Webseite werden Sie aufgefordert, Ihre Kontoanmeldeinformationen einzugeben.
Alternativ können Sie Ihre Kontoanmeldeinformationen als Parameter im Cmdlet Connect-AzAccount mit -Credential angeben.
Wenn Sie als CSP-Partner für einen Mandanten tätig sind, geben Sie den Kunden als Mandanten an. Geben Sie dabei seine Mandanten-ID oder den primären Domänennamen des Mandanten an. Beispiel: Connect-AzAccount -Tenant "fabrikam.com" .
Da ein Konto mehrere Abonnements enthalten kann, müssen Sie das Abonnement, das Sie verwenden möchten, dem Konto zuordnen:
Select-AzSubscription -SubscriptionName $SubscriptionName
Falls Sie Azure Backup zum ersten Mal verwenden, registrieren Sie den Azure Recovery Services-Anbieter für Ihr Abonnement mithilfe des Cmdlets Register-AzResourceProvider:
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
Überprüfen Sie, ob die Anbieter erfolgreich registriert wurden:
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
Vergewissern Sie sich in der Befehlsausgabe, dass sich der Wert für RegistrationState in Registered ändert. Ist dies nicht der Fall, führen Sie das Cmdlet Register-AzResourceProvider erneut aus.
Erstellen eines Recovery Services-Tresors
Der Recovery Services-Tresor ist eine Resource Manager-Ressource. Deshalb müssen Sie ihn einer Ressourcengruppe hinzufügen. Sie können eine vorhandene Ressourcengruppe verwenden oder mit dem Cmdlet New-AzResourceGroup eine Ressourcengruppe erstellen. Wenn Sie eine Ressourcengruppe erstellen, geben Sie Name und Speicherort an.
Führen Sie die nachstehenden Schritte aus, um einen Recovery Services-Tresors zu erstellen:
Erstellen Sie mit New-AzResourceGroup eine neue Ressourcengruppe, wenn noch keine vorhanden ist. In diesem Beispiel wird eine Ressourcengruppe in der Region „USA, Westen“ erstellt:
New-AzResourceGroup -Name "test-rg" -Location "West US"
Verwenden Sie das Cmdlet New-AzRecoveryServicesVault zum Erstellen des Tresors. Geben Sie für den Tresor den Speicherort an, den Sie auch für die Ressourcengruppe ausgewählt haben.
New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
Anzeigen von Tresoren in einem Abonnement
Verwenden Sie Get-AzRecoveryServicesVault, um alle Tresore des Abonnements anzuzeigen:
Get-AzRecoveryServicesVault
Die Ausgabe sieht in etwa wie folgt aus: Beachten Sie, dass in der Ausgabe die zugeordnete Ressourcengruppe und der zugehörige Standort angegeben sind.
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
Festlegen des Tresorkontexts
Speichern Sie das Tresorobjekt in einer Variablen, und legen Sie den Tresorkontext fest.
Viele Azure Backup-Cmdlets erfordern das Recovery Services-Tresorobjekt als Eingabe. Daher ist es sinnvoll, das Tresorobjekt in einer Variablen zu speichern.
Der Tresorkontext ist der Datentyp, der im Tresor geschützt wird. Legen Sie ihn mit Set-AzRecoveryServicesVaultContext fest. Der festgelegte Kontext gilt für alle nachfolgenden Cmdlets.
Im folgenden Beispiel wird der Tresorkontext für testvault festgelegt:
Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext
Abrufen der Tresor-ID
Es ist geplant, die Tresorkontexteinstellung gemäß den Azure PowerShell-Richtlinien als veraltet zu kennzeichnen. Stattdessen können Sie die Tresor-ID speichern oder abrufen und an relevante Befehle übergeben. Wenn Sie den Tresorkontext nicht festgelegt haben oder den Befehl so angeben möchten, dass er für einen bestimmten Tresor ausgeführt wird, übergeben Sie die Tresor-ID wie folgt als -vaultID
an alle relevanten Befehle:
$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID
Konfigurieren einer Sicherungsrichtlinie
Eine Sicherungsrichtlinie gibt den Zeitplan für Sicherungen an und legt fest, wie lange Wiederherstellungspunkte der Sicherung beibehalten werden sollen.
Eine Sicherungsrichtlinie ist mindestens einer Aufbewahrungsrichtlinie zugeordnet. Eine Aufbewahrungsrichtlinie definiert, wie lange ein Wiederherstellungspunkt gespeichert werden soll, bevor er gelöscht wird. Sie können Sicherungen mit einer täglichen, wöchentlichen, monatlichen oder jährlichen Aufbewahrungsdauer konfigurieren. Mit der Richtlinie für mehrere Sicherungen können Sie auch die stündliche Aufbewahrung von Sicherungen konfigurieren.
Wichtig
Die folgenden Cmdlets werden für die Sicherungsrichtlinien verwendet:
- Zeigen Sie die standardmäßige Aufbewahrungsrichtlinie für die Sicherung mithilfe von
Get-AzRecoveryServicesBackupRetentionPolicyObject
an. - Zeigen Sie die standardmäßige Richtlinie für den Sicherungszeitplan mithilfe von
Get-AzRecoveryServicesBackupSchedulePolicyObject
an. - Erstellen Sie eine neue Sicherungsrichtlinie mithilfe von
New-AzRecoveryServicesBackupProtectionPolicy
. Geben Sie die Zeitplan- und Aufbewahrungsrichtlinienobjekte als Eingaben an.
Führen Sie die folgenden Schritte aus, um eine Sicherungsrichtlinie zu erstellen, die mehrere Sicherungen pro Tag konfiguriert:
Rufen Sie das Zeitplanrichtlinienobjekt mit dem folgenden Cmdlet ab:
$schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly $schPol
Die Ausgabe sieht in etwa wie folgt aus:
ScheduleRunFrequency : Hourly ScheduleRunDays : ScheduleRunTimes : ScheduleInterval : 8 ScheduleWindowStartTime : 12/22/2021 8:00:00 AM ScheduleWindowDuration : 16 ScheduleRunTimeZone : India Standard Time
Legen Sie die verschiedenen Parameter des Zeitplans nach Bedarf fest.
$schpol.ScheduleInterval=4 $schpol.ScheduleWindowDuration=12
Mit der vorherigen Konfiguration können Sie 4 Sicherungen pro Tag in einem Zeitfenster von 8 Uhr morgens bis 20 Uhr abends (8 Uhr + 12 Stunden) planen. Sie können mit dem folgenden Cmdlet außerdem die Zeitzone festlegen:
$timeZone= $timeZone=Get-TimeZone -ListAvailable |Where-Object{$_.Id-match "Russia Time Zone 11"} $schPol.ScheduleRunTimeZone=$timeZone.Id
Führen Sie das folgende Cmdlet aus, um eine Richtlinie mit einem täglichem Zeitplan neu zu erstellen:
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z" $UtcTime = $UtcTime.ToUniversalTime() $schpol.ScheduleRunTimes[0] = $UtcTime
Rufen Sie das Aufbewahrungsrichtlinienobjekt mit dem folgenden Cmdlet ab:
$retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
Legen Sie die Aufbewahrungswerte nach Bedarf fest.
$retPol.DailySchedule.DurationCountInDays=15
Erstellen Sie mit New-AzRecoveryServicesBackupProtectionPolicy eine neue Sicherungsrichtlinie.
Sie können die zuvor festgelegten Zeitplan- und Aufbewahrungsrichtlinienobjekte als Eingaben übergeben.
New-AzRecoveryServicesBackupProtectionPolicy -Name "FilesPolicytesting" -WorkloadType AzureFiles -RetentionPolicy $retpol -SchedulePolicy $schpol
Die Ausgabe zeigt die Richtlinienkonfiguration an:
Name WorkloadType BackupManagementType ScheduleFrequency BackupTime WindowStartTime Interval WindowDuration TimeZone (UTC) (Hours) ---- ------------ -------------------- ----------------- ------------ --------------- -------- -------------- -------- FilesPolicy testing AzureFiles AzureStorage Hourly 12/22/2021 8:00:00 AM 4 12 Russia Time Zone 11
Aktivieren der Sicherung
Nachdem Sie die Sicherungsrichtlinie definiert haben, können Sie den Schutz für die Azure-Dateifreigabe mithilfe der Richtlinie aktivieren.
Abrufen einer Sicherungsrichtlinie
Rufen Sie zuerst das entsprechende Richtlinienobjekt mit Get-AzRecoveryServicesBackupProtectionPolicy ab. Mit diesem Cmdlet können Sie die mit einem Workloadtyp verknüpften Richtlinien anzeigen oder eine bestimmte Richtlinie abrufen.
Abrufen einer Richtlinie für einen Workloadtyp
Im folgenden Beispiel werden Richtlinien für den Workloadtyp AzureFiles abgerufen:
Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"
Die Ausgabe sieht in etwa wie folgt aus:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
dailyafs AzureFiles AzureStorage 1/10/2018 12:30:00 AM
Hinweis
Die Zeitzone des Felds BackupTime in PowerShell ist UTC. Wenn der Zeitpunkt der Sicherung im Azure-Portal angezeigt wird, wird die Uhrzeit auf Ihre lokale Zeitzone eingestellt.
Abrufen einer bestimmten Richtlinie
Die folgende Richtlinie ruft die Sicherungsrichtlinie mit dem Namen dailyafs ab:
$afsPol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"
Aktivieren des Schutzes und Anwenden der Richtlinie
Aktivieren Sie den Schutz mit Enable-AzRecoveryServicesBackupProtection. Nachdem die Richtlinie dem Tresor zugeordnet wurde, werden Sicherungen entsprechend dem Richtlinienzeitplan ausgelöst.
Im folgenden Beispiel wird der Schutz für die Azure-Dateifreigabe testAzureFS im Speicherkonto testStorageAcct mit der Richtlinie dailyafs aktiviert:
Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol
Der Befehl wartet, bis der Auftrag zum Konfigurieren des Schutzes abgeschlossen ist, und liefert eine Ausgabe ähnlich dem folgenden Beispiel:
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
Weitere Informationen zum Abrufen einer Liste von Dateifreigaben für ein Speicherkonto finden Sie in diesem Artikel.
Wichtiger Hinweis: Bestimmen von Sicherungselementen
In diesem Abschnitt wird eine wichtige Änderung bei Sicherungen von Azure-Dateifreigaben in Vorbereitung auf die allgemeine Verfügbarkeit dargelegt.
Wenn Sie eine Sicherung für Azure-Dateifreigaben aktivieren, gibt der Benutzer dem Kunden einen Dateifreigabenamen als Entitätsnamen an. Daraufhin wird ein Sicherungselement erstellt. Der Name des Sicherungselements ist ein eindeutiger Bezeichner, den der Azure Backup-Dienst erstellt. Der Bezeichner ist in der Regel ein benutzerfreundlicher Name. Doch für das Szenario des vorläufigen Löschens, bei dem eine Dateifreigabe gelöscht und eine andere Freigabe mit dem gleichen Namen erstellt werden kann, ist der eindeutige Bezeichner einer Azure-Dateifreigabe nun eine ID.
Um die eindeutige ID jedes Elements zu ermitteln, führen Sie den Befehl Get-AzRecoveryServicesBackupItem mit den entsprechenden Filtern für backupManagementType und WorkloadType aus, um alle relevanten Elemente abzurufen. Beobachten Sie dann das Namensfeld im zurückgegebenen PowerShell-Objekt bzw. in der PowerShell-Antwort.
Es wird immer empfohlen, Elemente aufzulisten und dann ihren eindeutigen Namen aus dem Feld „Name“ in der Antwort abzurufen. Verwenden Sie diesen Wert, um die Elemente mit dem Parameter Name zu filtern. Verwenden Sie andernfalls den Parameter FriendlyName, um das Element mit seiner ID abzurufen.
Wichtig
Stellen Sie sicher, dass PowerShell auf die Mindestversion (Az.RecoveryServices 2.6.0) für Sicherungen von Azure-Dateifreigaben aktualisiert wird. Bei dieser Version ist der Filter FriendlyName für den Befehl Get-AzRecoveryServicesBackupItem verfügbar.
Übergeben Sie den Namen der Azure-Dateifreigabe an den Parameter friendlyName. Wenn Sie den Namen der Dateifreigabe an den Parameter Name übergeben, löst diese Version die Warnung aus, dass dieser Name an den Parameter friendlyName übergeben werden muss.
Wenn Sie diese Mindestversion nicht installieren, kann dies zu Fehlern bei vorhandenen Skripts führen. Installieren Sie die Mindestversion von PowerShell mit dem folgenden Befehl:
Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
Auslösen einer bedarfsgesteuerten Sicherung
Verwenden Sie Backup-AzRecoveryServicesBackupItem, um eine bedarfsgesteuerte Sicherung für eine geschützte Azure-Dateifreigabe auszuführen:
- Rufen Sie mit Get-AzRecoveryServicesBackupContainer das Speicherkonto aus dem Container im Tresor ab, in dem sich die Sicherungsdaten befinden.
- Zum Starten eines Sicherungsauftrags rufen Sie mit Get-AzRecoveryServicesBackupItem Informationen zu der Azure-Dateifreigabe ab.
- Führen Sie mit Backup-AzRecoveryServicesBackupItem eine bedarfsgesteuerte Sicherung aus.
Führen Sie die bedarfsgesteuerte Sicherung wie folgt aus:
$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job = Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem
Der Befehl gibt einen Auftrag mit einer ID zur Nachverfolgung zurück, wie im folgenden Beispiel gezeigt wird:
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
Momentaufnahmen von Azure-Dateifreigaben werden verwendet, während die Sicherungen erstellt werden. Normalerweise ist der Auftrag beendet, wenn der Befehl diese Ausgabe zurückgibt.
Nächste Schritte
- Informieren Sie sich über das Sichern von Azure-Dateifreigaben im Azure-Portal.
- Informationen zum Planen von Sicherungen mit einem Azure Automation-Runbook finden Sie im Beispielskript auf GitHub.