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
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:
Konfigurowanie PowerShell
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. 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:
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
Znajdź polecenia cmdlet programu PowerShell dla usługi Azure Backup przy użyciu tego polecenia:
Get-Command *azrecoveryservices*
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.
Zaloguj się do konta platformy Azure przy użyciu polecenia Connect-AzAccount.
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".
Skojarz subskrypcję, której chcesz używać z kontem, ponieważ konto może mieć kilka subskrypcji:
Select-AzSubscription -SubscriptionName $SubscriptionName
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"
Sprawdź, czy dostawcy zarejestrowali się pomyślnie:
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
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:
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"
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.
Wybierz typ zasad:
Poniżej przedstawiono kilka poleceń cmdlet dotyczących zasad tworzenia kopii zapasowych:
- Wyświetl domyślne przechowywanie zasad kopii zapasowych przy użyciu polecenia Get-AzRecoveryServicesBackupRetentionPolicyObject.
- Wyświetl domyślny harmonogram zasad tworzenia kopii zapasowych przy użyciu polecenia Get-AzRecoveryServicesBackupSchedulePolicyObject.
- Utwórz nowe zasady tworzenia kopii zapasowych przy użyciu polecenia New-AzRecoveryServicesBackupProtectionPolicy. Obiekty zasad harmonogramu i przechowywania są wprowadzane jako dane wejściowe.
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). NewAFSPolicy tworzy kopię zapasową codziennie i przechowuje ją przez 30 dni.
$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureFiles"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol
Wynik jest podobny do następującego:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
NewAFSPolicy AzureFiles AzureStorage 10/24/2019 1:30:00 AM
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:
- Pobierz konto magazynu z kontenera w magazynie, który przechowuje dane kopii zapasowej przy użyciu polecenia Get-AzRecoveryServicesBackupContainer.
- Aby uruchomić zadanie tworzenia kopii zapasowej, uzyskaj informacje o udziale plików platformy Azure przy użyciu polecenia Get-AzRecoveryServicesBackupItem.
- 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
- Dowiedz się więcej o tworzeniu kopii zapasowych usługi Azure Files w witrynie Azure Portal.
- Aby zaplanować tworzenie kopii zapasowych, zapoznaj się z przykładowym skryptem w witrynie GitHub , aby użyć elementu Runbook usługi Azure Automation.