Tworzenie kopii zapasowej udziału plików platformy Azure przy użyciu programu PowerShell

W tym artykule opisano sposób używania Azure PowerShell do tworzenia kopii zapasowych udziału plików Azure Files za pośrednictwem magazynu usługi Azure Backup Recovery Services.

W tym artykule wyjaśniono, jak:

  • Skonfiguruj program PowerShell i zarejestruj dostawcę usług Recovery Services.
  • Utwórz magazyn usługi Recovery Services.
  • Konfigurowanie kopii zapasowej udziału plików platformy Azure.
  • Uruchom zadanie tworzenia kopii zapasowej.

Przed rozpoczęciem

  • Dowiedz się więcej o magazynach usługi Recovery Services.

  • Zapoznaj się z dokumentacją poleceń cmdlet az.RecoveryServices w bibliotece platformy Azure.

  • Przejrzyj następującą hierarchię obiektów programu PowerShell dla usług Recovery Services:

    Hierarchia obiektów usług Recovery Services

Konfigurowanie programu PowerShell

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Uwaga

Azure PowerShell obecnie nie obsługuje zasad tworzenia kopii zapasowych z godzinnym harmonogramem. Użyj witryny Azure Portal, aby skorzystać z tej funkcji. Dowiedz się więcej

Skonfiguruj program PowerShell w następujący sposób:

  1. Pobierz najnowszą wersję Azure PowerShell.

    Uwaga

    Minimalna wersja programu PowerShell wymagana do tworzenia kopii zapasowych udziałów plików platformy Azure to Az.RecoveryServices 2.6.0. Użycie najnowszej wersji lub co najmniej minimalnej wersji pomaga uniknąć problemów z istniejącymi skryptami. Zainstaluj minimalną wersję przy użyciu następującego polecenia programu PowerShell:

    Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
    
  2. Znajdź polecenia cmdlet programu PowerShell dla Azure Backup przy użyciu następującego polecenia:

    Get-Command *azrecoveryservices*
    
  3. Przejrzyj aliasy i polecenia cmdlet dla Azure Backup, usługi Azure Site Recovery i magazynu usługi Recovery Services. Oto przykład tego, co można zobaczyć. Nie jest to pełna lista poleceń cmdlet.

    Lista poleceń cmdlet usługi Recovery Services

  4. Zaloguj się do konta platformy Azure przy użyciu polecenia Connect-AzAccount.

  5. Na wyświetlonej stronie internetowej zostanie wyświetlony monit o wprowadzenie poświadczeń konta.

    Alternatywnie możesz dołączyć poświadczenia konta jako parametr w poleceniu cmdlet Connect-AzAccount przy użyciu -Credential.

    Jeśli jesteś partnerem CSP pracującym w imieniu dzierżawy, określ klienta jako dzierżawę. Użyj identyfikatora dzierżawy lub nazwy domeny podstawowej dzierżawy. Przykładem jest polecenie Connect-AzAccount -Tenant "fabrikam.com".

  6. Skojarz subskrypcję, której chcesz używać z kontem, ponieważ konto może mieć kilka subskrypcji:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. Jeśli używasz Azure Backup po raz pierwszy, użyj polecenia cmdlet Register-AzResourceProvider, aby zarejestrować dostawcę usług Azure Recovery Services w ramach subskrypcji:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  8. Sprawdź, czy dostawcy zarejestrowali się pomyślnie:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. W danych wyjściowych polecenia sprawdź, czy wartość RegistrationState zmienia się na Zarejestrowano. Jeśli tak nie jest, uruchom ponownie polecenie cmdlet Register-AzResourceProvider .

Tworzenie magazynu usługi Recovery Services

Magazyn usługi Recovery Services jest zasobem Resource Manager, więc należy umieścić go w grupie zasobów. Możesz użyć istniejącej grupy zasobów lub utworzyć grupę zasobów za pomocą polecenia cmdlet New-AzResourceGroup . Podczas tworzenia grupy zasobów określ jej nazwę i lokalizację.

Wykonaj następujące kroki, aby utworzyć magazyn usługi Recovery Services:

  1. Jeśli nie masz istniejącej grupy zasobów, utwórz nową za pomocą polecenia cmdlet New-AzResourceGroup . W tym przykładzie utworzymy grupę zasobów w regionie Zachodnie stany USA:

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. Użyj polecenia cmdlet New-AzRecoveryServicesVault , aby utworzyć magazyn. Określ tę samą lokalizację magazynu, który został użyty dla grupy zasobów.

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

Wyświetlanie magazynów w subskrypcji

Aby wyświetlić wszystkie magazyny w subskrypcji, użyj polecenia Get-AzRecoveryServicesVault:

Get-AzRecoveryServicesVault

Dane wyjściowe są podobne do poniższych. Zwróć uwagę, że dane wyjściowe zawierają skojarzą grupę zasobów i lokalizację.

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

Ustawianie kontekstu magazynu

Zapisz obiekt magazynu w zmiennej i ustaw kontekst magazynu.

Wiele poleceń cmdlet Azure Backup wymaga obiektu magazynu usługi Recovery Services jako danych wejściowych, dlatego wygodnie jest przechowywać obiekt magazynu w zmiennej.

Kontekst magazynu to typ danych chronionych w magazynie. Ustaw go przy użyciu polecenia Set-AzRecoveryServicesVaultContext. Po ustawieniu kontekstu ma zastosowanie do wszystkich kolejnych poleceń cmdlet.

W poniższym przykładzie ustawiono kontekst magazynu dla magazynu testvault:

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

Pobieranie identyfikatora magazynu

Planujemy wycofać ustawienie kontekstu magazynu zgodnie z wytycznymi Azure PowerShell. Zamiast tego możesz przechowywać lub pobierać identyfikator magazynu i przekazywać go do odpowiednich poleceń. Jeśli nie ustawiono kontekstu magazynu lub chcesz określić polecenie do uruchomienia dla określonego magazynu, przekaż identyfikator magazynu do -vaultID wszystkich odpowiednich poleceń w następujący sposób:

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

Konfigurowanie zasad kopii zapasowych

Zasady tworzenia kopii zapasowych określają harmonogram tworzenia kopii zapasowych oraz czas przechowywania punktów odzyskiwania kopii zapasowej.

Zasady tworzenia kopii zapasowych są skojarzone z co najmniej jedną zasadą przechowywania. Zasady przechowywania określają czas przechowywania punktu odzyskiwania przed jego usunięciem. Kopie zapasowe można skonfigurować z przechowywaniem dziennym, tygodniowym, miesięcznym lub rocznym. W przypadku wielu zasad tworzenia kopii zapasowych można również skonfigurować przechowywanie godzinowe kopii zapasowych.

Wybierz typ zasad:

Oto kilka poleceń cmdlet dotyczących zasad tworzenia kopii zapasowych:

Domyślnie czas rozpoczęcia jest definiowany w obiekcie zasad harmonogramu. Użyj poniższego przykładu, aby zmienić godzinę rozpoczęcia na żądany czas rozpoczęcia. Żądany czas rozpoczęcia powinien być w uniwersalnym czasie koordynowanym (UTC). W przykładzie przyjęto założenie, że żądany czas rozpoczęcia to 01:00 CZASU UTC dla codziennych kopii zapasowych.

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

Ważne

Musisz podać czas rozpoczęcia tylko w 30-minutowych wielokrotnych. W poprzednim przykładzie może to być tylko "01:00:00" lub "02:30:00". Godzina rozpoczęcia nie może być "01:15:00".

W poniższym przykładzie są przechowywane zasady harmonogramu i zasady przechowywania w zmiennych. Następnie używa tych zmiennych jako parametrów dla nowych zasad (NewAFSPolicy). Zasady NewAFSPolicy codziennie tworzy kopię zapasową i przechowuje je przez 30 dni.

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

Dane wyjściowe będą podobne do następujących:

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

Włączanie kopii zapasowej

Po zdefiniowaniu zasad tworzenia kopii zapasowych można włączyć ochronę udziału plików platformy Azure przy użyciu zasad.

Pobieranie zasad kopii zapasowej

Pobierasz odpowiedni obiekt zasad przy użyciu polecenia Get-AzRecoveryServicesBackupProtectionPolicy. Użyj tego polecenia cmdlet, aby wyświetlić zasady skojarzone z typem obciążenia lub uzyskać określone zasady.

Pobieranie zasad dla typu obciążenia

Poniższy przykład pobiera zasady dla typu obciążenia AzureFiles:

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"

Dane wyjściowe będą podobne do następujących:

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

Uwaga

Strefa czasowa pola BackupTime w programie PowerShell jest w formacie UTC. Gdy czas tworzenia kopii zapasowej jest wyświetlany w Azure Portal, czas jest dostosowywany do lokalnej strefy czasowej.

Pobieranie określonych zasad

Następujące zasady pobierają zasady kopii zapasowej o nazwie dailyafs:

$afsPol =  Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"

Włączanie ochrony i stosowanie zasad

Włącz ochronę za pomocą polecenia Enable-AzRecoveryServicesBackupProtection. Po skojarzeniu zasad z magazynem kopie zapasowe są wyzwalane zgodnie z harmonogramem zasad.

Poniższy przykład umożliwia ochronę testu udziału plików platformy AzureAzureFS w testach konta magazynuTestStorageAcct z dziennymi zasadami:

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

Polecenie czeka na zakończenie zadania konfigurowania ochrony i daje dane wyjściowe podobne do następującego przykładu:

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

Aby uzyskać więcej informacji na temat pobierania listy udziałów plików dla konta magazynu, zobacz ten artykuł.

Ważne powiadomienie: Identyfikacja elementu kopii zapasowej

W tej sekcji opisano ważną zmianę kopii zapasowych udziałów plików platformy Azure w ramach przygotowań do ogólnej dostępności.

Podczas włączania kopii zapasowej udziałów plików platformy Azure użytkownik nadaje klientowi nazwę udziału plików jako nazwę jednostki, a element kopii zapasowej jest tworzony. Nazwa elementu kopii zapasowej jest unikatowym identyfikatorem tworzonym przez usługę Azure Backup. Zazwyczaj identyfikator jest przyjazną dla użytkownika nazwą. Jednak w celu obsługi scenariusza usuwania nietrwałego, w którym można usunąć udział plików, a inny udział plików można utworzyć o tej samej nazwie, unikatowa tożsamość udziału plików platformy Azure jest teraz identyfikatorem.

Aby poznać unikatowy identyfikator każdego elementu, uruchom polecenie Get-AzRecoveryServicesBackupItem z odpowiednimi filtrami dla elementu backupManagementType i WorkloadType, aby pobrać wszystkie odpowiednie elementy. Następnie zaobserwuj pole nazwy w zwróconym obiekcie/odpowiedzi programu PowerShell.

Zalecamy wyświetlenie listy elementów, a następnie pobranie ich unikatowej nazwy z pola nazwy w odpowiedzi. Użyj tej wartości, aby filtrować elementy za pomocą parametru Name . W przeciwnym razie użyj parametru FriendlyName , aby pobrać element z jego identyfikatorem.

Ważne

Upewnij się, że program PowerShell został uaktualniony do minimalnej wersji (Az.RecoveryServices 2.6.0) dla kopii zapasowych udziałów plików platformy Azure. W tej wersji filtr FriendlyName jest dostępny dla polecenia Get-AzRecoveryServicesBackupItem .

Przekaż nazwę udziału plików platformy Azure do parametru FriendlyName . Jeśli przekażesz nazwę udziału plików do parametru Name , w tej wersji zostanie wyświetlone ostrzeżenie o przekazaniu nazwy do parametru FriendlyName .

Brak instalowania minimalnej wersji może spowodować niepowodzenie istniejących skryptów. Zainstaluj minimalną wersję programu PowerShell przy użyciu następującego polecenia:

Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0

Wyzwalanie kopii zapasowej na żądanie

Użyj polecenia Backup-AzRecoveryServicesBackupItem , aby uruchomić kopię zapasową na żądanie dla chronionego udziału plików platformy Azure:

  1. Pobierz konto magazynu z kontenera w magazynie, który przechowuje dane kopii zapasowej przy użyciu polecenia Get-AzRecoveryServicesBackupContainer.
  2. Aby uruchomić zadanie tworzenia kopii zapasowej, uzyskaj informacje o udziale plików platformy Azure przy użyciu polecenia Get-AzRecoveryServicesBackupItem.
  3. Uruchom kopię zapasową na żądanie przy użyciu polecenia Backup-AzRecoveryServicesBackupItem.

Uruchom kopię zapasową na żądanie w następujący sposób:

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

Polecenie zwraca zadanie z identyfikatorem do śledzenia, jak pokazano w poniższym przykładzie:

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

Migawki udziału plików platformy Azure są używane podczas tworzenia kopii zapasowych. Zazwyczaj zadanie kończy się po upływie czasu, gdy polecenie zwróci te dane wyjściowe.

Następne kroki