Udostępnij za pośrednictwem


Tworzenie kopii zapasowej usługi Azure Files przy użyciu programu Azure PowerShell

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

Wymagania wstępne

Przed utworzeniem kopii zapasowej usługi Azure Files upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Dowiedz się więcej o skrytkach usługi odzyskiwania danych 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ługi Recovery Services

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 zastosować tę funkcję. 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 zapasowej usługi Azure Files to Az.RecoveryServices 2.6.0. Najnowsza wersja lub co najmniej minimalna wersja 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 pojawia się prośba 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żawcy, określ klienta jako dzierżawcę. Użyj identyfikatora najemcy lub nazwy domeny podstawowej najemcy. 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 zmienia się na Zarejestrowano. Jeśli tak nie jest, uruchom ponownie polecenie cmdlet Register-AzResourceProvider .

Utwórz skarbiec dla 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ług Recovery Services:

  1. Utwórz nową grupę zasobów przy użyciu polecenia cmdlet New-AzResourceGroup , jeśli nie masz istniejącej grupy zasobów. W tym przykładzie tworzymy grupę zasobów w regionie Zachodnich Stanów Zjednoczonych.

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

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

Zobacz skarbce w ramach subskrypcji

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

Get-AzRecoveryServicesVault

Dane wyjściowe są podobne do poniższych. Dane wyjściowe zawierają powiązaną 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

Ustaw kontekst sejfu

Zapisz obiekt skarbca w zmiennej i ustaw kontekst skarbca.

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 raz ustawiony kontekst ma zastosowanie do wszystkich kolejnych poleceń cmdlet.

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

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

Pobierz identyfikator skarbca

Planujemy wycofać ustawienie kontekstu Key Vault zgodnie z wytycznymi Azure PowerShell. Zamiast tego możesz przechowywać lub pobierać identyfikator sejfu i przekazywać go do odpowiednich poleceń. Jeśli nie ustawiono kontekstu magazynu lub chcesz określić polecenie do uruchomienia dla konkretnego magazynu, przekaż identyfikator magazynu jako -vaultID do 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. 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 w przypadku zasad kopii zapasowych:

  • Wyświetl domyślne zasady przechowywania kopii zapasowych przy użyciu polecenia Get-AzRecoveryServicesBackupRetentionPolicyObject.
  • Wyświetl domyślne zasady harmonogramu tworzenia 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.

Wybierz warstwę kopii zapasowej:

Aby utworzyć politykę tworzenia kopii zapasowych, która ustala wiele kopii zapasowych dziennie dla kopii zapasowej składającej się z migawek Azure Files, uruchom następujące polecenia cmdlet w PowerShell:

  1. Pobierz obiekt zasad harmonogramu.

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

    Przykładowe dane wyjściowe:

    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ć politykę z harmonogramem dziennym, wykonaj następujące 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.

    Jako dane wejściowe można przekazać obiekty zasad harmonogramu i przechowywania, które ustawiono wcześniej.

    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ę usługi Azure Files przy użyciu zasad.

Pobierz politykę kopii zapasowej

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

Pobierz politykę dla typu obciążenia

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

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"

Przykładowe dane wyjściowe:

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.

Pobierz określoną zasadę

Następująca polityka pobiera politykę 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 połączeniu polityki z magazynem, kopie zapasowe są wyzwalane zgodnie z harmonogramem polityki.

Poniższy przykład włącza ochronę dla usługi Azure Files testAzureFS w koncie magazynu testStorageAcct, z polityką 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 plikowych dla konta magazynowego, zobacz ten artykuł.

Ważne powiadomienie: Identyfikacja elementu kopii zapasowej

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

W momencie włączenia kopii zapasowej dla usługi Azure Files użytkownik otrzymuje nazwę udziału plików jako nazwę jednostki, a następnie tworzony jest element kopii zapasowej. Nazwa elementu kopii zapasowej jest unikatowym identyfikatorem tworzonym przez usługę Azure Backup. Zazwyczaj identyfikator jest przyjazną dla użytkownika nazwą. Aby obsłużyć scenariusze miękkiego usuwania, w których udział plikowy jest usuwany i tworzony jest nowy o tej samej nazwie, usługa Azure Files używa teraz unikatowego identyfikatora.

Aby poznać unikatowy identyfikator każdego elementu, uruchom polecenie Get-AzRecoveryServicesBackupItem z odpowiednimi filtrami dla 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 usługi Azure Files. W tej wersji filtr FriendlyName jest dostępny dla polecenia Get-AzRecoveryServicesBackupItem.

Przekaż nazwę usługi Azure Files 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

Aby uruchomić kopię zapasową na żądanie dla chronionej usługi Azure Files, użyj polecenia cmdlet Backup-AzRecoveryServicesBackupItem :

  1. Pobierz konto magazynu z kontenera w sejfie, który przechowuje dane kopii zapasowej, używając polecenia Get-AzRecoveryServicesBackupContainer.
  2. Uruchom zadanie tworzenia kopii zapasowej, uzyskaj informacje o usłudze Azure Files 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, który można śledzić, jak widać 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 usługi Azure Files 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