Udostępnij za pośrednictwem


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

W tym artykule opisano, jak używać programu Azure PowerShell do tworzenia kopii zapasowej udziału plików usługi Azure Files za pośrednictwem magazynu usługi Azure Backup Recovery Services.

W tym artykule opisano sposób wykonywania następujących czynności:

  • 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

Konfigurowanie PowerShell

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. 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

Program Azure PowerShell obecnie nie obsługuje zasad tworzenia kopii zapasowych z godzinowym 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ę programu 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 usługi Azure Backup przy użyciu tego polecenia:

    Get-Command *azrecoveryservices*
    
  3. Przejrzyj aliasy i polecenia cmdlet dla usługi Azure Backup, 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ład: 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 usługi 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 zmieni 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 usługi Resource Manager, dlatego należy umieścić go w grupie zasobów. Możesz użyć istniejącej grupy zasobów lub utworzyć grupę zasobów przy użyciu polecenia cmdlet New-AzResourceGroup . Podczas tworzenia grupy zasobów określ nazwę i lokalizację dla niej.

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. Należy pamiętać, ż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 usługi Azure Backup wymaga obiektu magazynu usługi Recovery Services jako danych wejściowych, więc wygodnie jest przechowywać obiekt magazynu w zmiennej.

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

Poniższy przykład ustawia kontekst magazynu dla programu testvault:

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

Pobieranie identyfikatora magazynu

Planujemy wycofać ustawienie kontekstu magazynu zgodnie z wytycznymi programu 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. Za pomocą wielu zasad tworzenia kopii zapasowych można również skonfigurować przechowywanie godzinowe kopii zapasowych.

Ważne

Następujące polecenia cmdlet są używane dla zasad kopii zapasowych:

  • Wyświetl domyślne przechowywanie zasad kopii zapasowych przy użyciu polecenia Get-AzRecoveryServicesBackupRetentionPolicyObject.
  • Wyświetl domyślny harmonogram zasad kopii zapasowych przy użyciu polecenia Get-AzRecoveryServicesBackupSchedulePolicyObject.
  • Utwórz nowe zasady tworzenia kopii zapasowych przy użyciu polecenia New-AzRecoveryServicesBackupProtectionPolicy. Podaj obiekty zasad harmonogramu i przechowywania jako dane wejściowe.

Aby utworzyć zasady tworzenia kopii zapasowych, które konfigurują wiele kopii zapasowych dziennie, wykonaj następujące kroki:

  1. Pobierz obiekt zasad harmonogramu przy użyciu poniższego polecenia cmdlet:

    $schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    $schPol
    
    

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

    ScheduleRunFrequency    : Hourly
    ScheduleRunDays         :
    ScheduleRunTimes        :
    ScheduleInterval        : 8
    ScheduleWindowStartTime : 12/22/2021 8:00:00 AM
    ScheduleWindowDuration  : 16
    ScheduleRunTimeZone     : India Standard Time
    
    
  2. Ustaw różne parametry harmonogramu zgodnie z potrzebami.

    $schpol.ScheduleInterval=4
    $schpol.ScheduleWindowDuration=12
    
    

    Poprzednia konfiguracja ułatwia zaplanowanie 4 kopii zapasowych dziennie w przedziale od 8:00 do 18:00 (8:00+12 godzin). Strefę czasową można również ustawić zgodnie z poniższym poleceniem cmdlet:

    $timeZone= $timeZone=Get-TimeZone -ListAvailable |Where-Object{$_.Id-match "Russia Time Zone 11"}
    $schPol.ScheduleRunTimeZone=$timeZone.Id
    

    Aby utworzyć zasady z harmonogramem dziennym, uruchom następujące polecenie cmdlet:

    $UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
    $UtcTime = $UtcTime.ToUniversalTime()
    $schpol.ScheduleRunTimes[0] = $UtcTime
    
  3. Pobierz obiekt zasad przechowywania przy użyciu następującego polecenia cmdlet:

    $retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    
  4. Ustaw wartości przechowywania zgodnie z wymaganiami.

    $retPol.DailySchedule.DurationCountInDays=15
    
  5. Utwórz nowe zasady tworzenia kopii zapasowych przy użyciu polecenia New-AzRecoveryServicesBackupProtectionPolicy.

    Obiekty zasad harmonogramu i przechowywania można przekazać wcześniej jako dane wejściowe.

    New-AzRecoveryServicesBackupProtectionPolicy -Name "FilesPolicytesting" -WorkloadType AzureFiles -RetentionPolicy $retpol -SchedulePolicy $schpol
    

    Dane wyjściowe zawierają konfigurację zasad:

    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
    
    

Włącz kopię zapasową

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

Pobieranie zasad kopii zapasowych

Odpowiedni obiekt zasad jest pobierany 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"

Wynik jest podobny do następującego:

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

Uwaga

Strefa czasowa pola BackupTime w programie PowerShell znajduje się w formacie UTC. Gdy czas tworzenia kopii zapasowej jest wyświetlany w witrynie 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 zasadami dailyafs:

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 i można utworzyć inny udział plików 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 zwróć uwagę na 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 , ta wersja zgłosi ostrzeżenie, aby przekazać nazwę 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. Uruchamianie kopii zapasowej 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