Wdrażanie kopii zapasowych systemu Windows Server/Windows Client na platformie Azure i zarządzanie nimi przy użyciu programu PowerShell

W tym artykule pokazano, jak za pomocą programu PowerShell skonfigurować usługę Azure Backup w systemie Windows Server lub kliencie systemu Windows oraz zarządzać kopiami zapasowymi i odzyskiwaniem.

Instalowanie programu Azure 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.

Aby rozpocząć, zainstaluj najnowszą wersję programu PowerShell.

Tworzenie magazynu usługi Recovery Services

Poniższe kroki prowadzą do utworzenia magazynu usługi Recovery Services. Magazyn usługi Recovery Services różni się od magazynu usługi Backup.

  1. Jeśli używasz usługi Azure Backup po raz pierwszy, musisz użyć polecenia cmdlet Register-AzResourceProvider , aby zarejestrować dostawcę usługi Azure Recovery Service w ramach subskrypcji.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. Magazyn usługi Recovery Services jest zasobem usługi Azure Resource Manager, więc musisz umieścić go w grupie zasobów. Możesz użyć istniejącej grupy zasobów lub utworzyć nową. Podczas tworzenia nowej grupy zasobów określ nazwę i lokalizację grupy zasobów.

    New-AzResourceGroup –Name "test-rg" –Location "WestUS"
    
  3. Użyj polecenia cmdlet New-AzRecoveryServicesVault, aby utworzyć nowy magazyn. Pamiętaj, aby określić tę samą lokalizację magazynu, która została użyta dla grupy zasobów.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "WestUS"
    
  4. Określ typ nadmiarowości magazynu do użycia. Możesz użyć magazynu lokalnie nadmiarowego (LRS), magazynu geograficznie nadmiarowego (GRS) lub magazynu strefowo nadmiarowego (ZRS). W poniższym przykładzie przedstawiono opcję -BackupStorageRedundancy dla funkcji testVault ustawioną na GeoRedundant.

    Napiwek

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

    $Vault1 = Get-AzRecoveryServicesVault –Name "testVault"
    Set-AzRecoveryServicesBackupProperties -Vault $Vault1 -BackupStorageRedundancy GeoRedundant
    

Wyświetlanie magazynów w subskrypcji

Użyj polecenia Get-AzRecoveryServicesVault , aby wyświetlić listę wszystkich magazynów w bieżącej subskrypcji. Możesz użyć tego polecenia, aby sprawdzić, czy utworzono nowy magazyn, lub sprawdzić, które magazyny są dostępne w subskrypcji.

Uruchom polecenie Get-AzRecoveryServicesVault i wszystkie magazyny w subskrypcji.

Get-AzRecoveryServicesVault
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

Uaktualnianie agenta MARS

Wersje agenta usług Microsoft Azure Recovery Services (MARS) poniżej wersji 2.0.9083.0 mają zależność od usługi Azure Access Control. Agent MARS jest również nazywany agentem usługi Azure Backup.

W 2018 r. firma Microsoft wycofała usługę Azure Access Control. Od 19 marca 2018 r. wszystkie wersje agenta MARS poniżej 2.0.9083.0 będą występować błędy tworzenia kopii zapasowych. Aby uniknąć lub rozwiązać problemy z tworzeniem kopii zapasowej, uaktualnij agenta MARS do najnowszej wersji. Aby zidentyfikować serwery wymagające uaktualnienia agenta MARS, wykonaj kroki opisane w temacie Uaktualnianie agenta usługi Microsoft Azure Recovery Services (MARS).

Agent MARS służy do tworzenia kopii zapasowych plików i folderów oraz danych stanu systemu na platformie Azure. Programy System Center DPM i Azure Backup Server używają agenta MARS do tworzenia kopii zapasowych danych na platformie Azure.

Instalowanie agenta usługi Azure Backup

Przed zainstalowaniem agenta usługi Azure Backup należy pobrać i przedstawić instalator w systemie Windows Server. Najnowszą wersję instalatora można pobrać z Centrum pobierania Microsoft lub na stronie Pulpit nawigacyjny magazynu usługi Recovery Services. Zapisz instalatora w łatwo dostępnej lokalizacji, takiej jak C:\Downloads\*.

Alternatywnie użyj programu PowerShell, aby pobrać program do pobierania:

$MarsAURL = 'https://aka.ms/Azurebackup_Agent'
$WC = New-Object System.Net.WebClient
$WC.DownloadFile($MarsAURL,'C:\downloads\MARSAgentInstaller.exe')
C:\Downloads\MARSAgentInstaller.exe /q

Aby zainstalować agenta, uruchom następujące polecenie w konsoli programu PowerShell z podwyższonym poziomem uprawnień:

MARSAgentInstaller.exe /q

Spowoduje to zainstalowanie agenta z wszystkimi opcjami domyślnymi. Instalacja trwa kilka minut w tle. Jeśli nie określisz /nu opcji, okno Windows Update zostanie otwarte na końcu instalacji, aby sprawdzić dostępność aktualizacji. Po zainstalowaniu agent zostanie wyświetlony na liście zainstalowanych programów.

Aby wyświetlić listę zainstalowanych programów, przejdź do pozycji Panel sterowania> Programy>i funkcje.

Agent installed

Opcje instalacji

Aby wyświetlić wszystkie opcje dostępne za pośrednictwem wiersza polecenia, użyj następującego polecenia:

MARSAgentInstaller.exe /?

Dostępne opcje obejmują:

Opcja Details Wartość domyślna
/q Instalacja cicha -
/p:"location" Ścieżka do folderu instalacyjnego agenta usługi Azure Backup. C:\Program Files\Microsoft Azure Recovery Services Agent
/s:"location" Ścieżka do folderu pamięci podręcznej agenta usługi Azure Backup. C:\Program Files\Microsoft Azure Recovery Services Agent\Scratch
/m Wyrażanie zgody na usługę Microsoft Update -
/Nu Nie sprawdzaj dostępności aktualizacji po zakończeniu instalacji -
/d Odinstalowuje agenta usług Microsoft Azure Recovery Services -
/Ph Adres hosta serwera proxy -
/po Numer portu hosta serwera proxy -
/Pu Nazwa użytkownika hosta serwera proxy -
/Pw Hasło serwera proxy -

Rejestrowanie komputera klienckiego z systemem Windows Server lub Windows w magazynie usługi Recovery Services

Po utworzeniu magazynu usługi Recovery Services pobierz najnowszego agenta i poświadczenia magazynu i zapisz je w dogodnej lokalizacji, takiej jak C:\Downloads.

$CredsPath = "C:\downloads"
$CredsFilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $Vault1 -Path $CredsPath

Rejestrowanie przy użyciu modułu Az programu PowerShell

Uwaga

Usterka dotycząca generowania certyfikatu magazynu została usunięta w wersji Az 3.5.0. Użyj polecenia Az w wersji 3.5.0 lub nowszej, aby pobrać certyfikat magazynu.

W najnowszym module Az programu PowerShell ze względu na ograniczenia platformy źródłowej pobieranie poświadczeń magazynu wymaga certyfikatu z podpisem własnym. W poniższym przykładzie pokazano, jak podać certyfikat z podpisem własnym i pobrać poświadczenia magazynu.

$dt = $(Get-Date).ToString("M-d-yyyy")
$cert = New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -FriendlyName 'test-vaultcredentials' -subject "Windows Azure Tools" -KeyExportPolicy Exportable -NotAfter $(Get-Date).AddHours(48) -NotBefore $(Get-Date).AddHours(-24) -KeyProtection None -KeyUsage None -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2") -Provider "Microsoft Enhanced Cryptographic Provider v1.0"
$certficate = [convert]::ToBase64String($cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pfx))
$CredsFilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $Vault -Path $CredsPath -Certificate $certficate

Na komputerze klienckim z systemem Windows Server lub Windows uruchom polecenie cmdlet Start-OBRegistration , aby zarejestrować maszynę w magazynie. To i inne polecenia cmdlet używane do tworzenia kopii zapasowej pochodzą z modułu MSONLINE, który agent MARSInstaller został dodany w ramach procesu instalacji.

Instalator agenta nie aktualizuje zmiennej $Env:PSModulePath. Oznacza to, że automatyczne ładowanie modułu kończy się niepowodzeniem. Aby rozwiązać ten problem, możesz wykonać następujące czynności:

$Env:PSModulePath += ';C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules'

Alternatywnie możesz ręcznie załadować moduł w skrycie w następujący sposób:

Import-Module -Name 'C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules\MSOnlineBackup'

Po załadowaniu poleceń cmdlet usługi Online Backup należy zarejestrować poświadczenia magazynu:

Start-OBRegistration -VaultCredentials $CredsFilename.FilePath -Confirm:$false
CertThumbprint      : 7a2ef2caa2e74b6ed1222a5e89288ddad438df2
SubscriptionID      : ef4ab577-c2c0-43e4-af80-af49f485f3d1
ServiceResourceName : testvault
Region              : WestUS
Machine registration succeeded.

Ważne

Nie używaj ścieżek względnych, aby określić plik poświadczeń magazynu. Musisz podać ścieżkę bezwzględną jako dane wejściowe polecenia cmdlet.

Ustawienia sieci

Gdy łączność maszyny z systemem Windows z Internetem odbywa się za pośrednictwem serwera proxy, ustawienia serwera proxy mogą być również udostępniane agentowi. W tym przykładzie nie ma serwera proxy, więc jawnie usuwamy wszelkie informacje związane z serwerem proxy.

Użycie przepustowości można również kontrolować za pomocą opcji work hour bandwidth i non-work hour bandwidth dla danego zestawu dni tygodnia.

Ustawianie szczegółów serwera proxy i przepustowości odbywa się przy użyciu polecenia cmdlet Set-OBMachineSetting :

Set-OBMachineSetting -NoProxy
Server properties updated successfully.
Set-OBMachineSetting -NoThrottle
Server properties updated successfully.

Ustawienia szyfrowania

Dane kopii zapasowej wysyłane do usługi Azure Backup są szyfrowane w celu ochrony poufności danych. Hasło szyfrowania to "hasło", które umożliwia odszyfrowywanie danych w momencie przywracania.

Musisz wygenerować numer PIN zabezpieczeń, wybierając pozycję Generuj w obszarze Ustawienia> Właściwości>numeru PIN zabezpieczeń w sekcji Magazyn usługi Recovery Services w witrynie Azure Portal.

Uwaga

Numer PIN zabezpieczeń można wygenerować tylko za pośrednictwem witryny Azure Portal.

Następnie użyj tego polecenia w generatedPIN poleceniu :

$PassPhrase = ConvertTo-SecureString -String "Complex!123_STRING" -AsPlainText -Force
Set-OBMachineSetting -EncryptionPassPhrase $PassPhrase -SecurityPin "<generatedPIN>"
Server properties updated successfully

Ważne

Po ustawieniu należy zachować bezpieczne informacje o hasłach i zabezpieczyć je. Nie można przywrócić danych z platformy Azure bez tego hasła.

Tworzenie kopii zapasowych plików i folderów

Wszystkie kopie zapasowe z serwerów z systemem Windows i klientów do usługi Azure Backup podlegają zasadom. Zasady obejmują trzy części:

  • Harmonogram tworzenia kopii zapasowych, który określa, kiedy należy wykonać i zsynchronizować kopie zapasowe z usługą.
  • Harmonogram przechowywania określający czas przechowywania punktów odzyskiwania na platformie Azure.
  • Specyfikacja dołączania/wykluczania plików, która określa, czego należy wykonać kopię zapasową.

W tym dokumencie, ponieważ automatyzujemy tworzenie kopii zapasowych, zakładamy, że nic nie zostało skonfigurowane. Zaczynamy od utworzenia nowych zasad tworzenia kopii zapasowych przy użyciu polecenia cmdlet New-OBPolicy .

$NewPolicy = New-OBPolicy

W tej chwili zasady są puste, a inne polecenia cmdlet są potrzebne do zdefiniowania elementów, które zostaną dołączone lub wykluczone, gdy zostaną uruchomione kopie zapasowe i gdzie będą przechowywane kopie zapasowe.

Konfigurowanie harmonogramu tworzenia kopii zapasowych

Pierwszy z trzech części zasad to harmonogram tworzenia kopii zapasowych, który jest tworzony przy użyciu polecenia cmdlet New-OBSchedule . Harmonogram tworzenia kopii zapasowych określa, kiedy należy tworzyć kopie zapasowe. Podczas tworzenia harmonogramu należy określić dwa parametry wejściowe:

  • Dni tygodnia , w których powinna zostać uruchomiona kopia zapasowa. Zadanie tworzenia kopii zapasowej można uruchomić tylko jeden dzień lub każdy dzień tygodnia lub dowolną kombinację między nimi.
  • Czasy dnia , w których powinna zostać uruchomiona kopia zapasowa. Możesz zdefiniować maksymalnie trzy różne czasy dnia, gdy kopia zapasowa zostanie wyzwolona.

Na przykład można skonfigurować zasady tworzenia kopii zapasowych, które są uruchamiane o godzinie 16:00 co sobotę i niedzielę.

$Schedule = New-OBSchedule -DaysOfWeek Saturday, Sunday -TimesOfDay 16:00

Harmonogram tworzenia kopii zapasowych musi być skojarzony z zasadami i można to osiągnąć za pomocą polecenia cmdlet Set-OBSchedule .

Set-OBSchedule -Policy $NewPolicy -Schedule $Schedule
BackupSchedule : 4:00 PM Saturday, Sunday, Every 1 week(s) DsList : PolicyName : RetentionPolicy : State : New PolicyState : Valid

Konfigurowanie zasad przechowywania

Zasady przechowywania określają czas przechowywania punktów odzyskiwania utworzonych na podstawie zadań tworzenia kopii zapasowej. Podczas tworzenia nowych zasad przechowywania przy użyciu polecenia cmdlet New-OBRetentionPolicy można określić liczbę dni przechowywania punktów odzyskiwania kopii zapasowej w usłudze Azure Backup. W poniższym przykładzie ustawiono zasady przechowywania z siedmiu dni.

$RetentionPolicy = New-OBRetentionPolicy -RetentionDays 7

Zasady przechowywania muszą być skojarzone z głównymi zasadami przy użyciu polecenia cmdlet Set-OBRetentionPolicy:

Set-OBRetentionPolicy -Policy $NewPolicy -RetentionPolicy $RetentionPolicy
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          :
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid

Dołączanie i wykluczanie plików do utworzenia kopii zapasowej

Obiekt OBFileSpec definiuje pliki, które mają zostać dołączone i wykluczone w kopii zapasowej. Jest to zestaw reguł, które mają zakres chronionych plików i folderów na maszynie. Możesz mieć dowolną liczbę reguł dołączania lub wykluczania plików i skojarzyć je z zasadami. Podczas tworzenia nowego obiektu OBFileSpec można wykonywać następujące czynności:

  • Określ pliki i foldery, które mają być dołączone
  • Określanie plików i folderów do wykluczenia
  • Określ cykliczną kopię zapasową danych w folderze (lub) niezależnie od tego, czy należy utworzyć kopię zapasową tylko plików najwyższego poziomu w określonym folderze.

Ten ostatni jest osiągany przy użyciu flagi -NonRecursive w poleceniu New-OBFileSpec.

W poniższym przykładzie utworzymy kopię zapasową woluminu C: i D: oraz wykluczymy pliki binarne systemu operacyjnego w folderze systemu Windows i wszystkie foldery tymczasowe. W tym celu utworzymy dwie specyfikacje plików przy użyciu polecenia cmdlet New-OBFileSpec — jeden do włączenia i jeden do wykluczenia. Po utworzeniu specyfikacji plików są one skojarzone z zasadami przy użyciu polecenia cmdlet Add-OBFileSpec .

$Inclusions = New-OBFileSpec -FileSpec @("C:\", "D:\")
$Exclusions = New-OBFileSpec -FileSpec @("C:\windows", "C:\temp") -Exclude
Add-OBFileSpec -Policy $NewPolicy -FileSpec $Inclusions
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          : {DataSource
                  DatasourceId:0
                  Name:C:\
                  FileSpec:FileSpec
                  FileSpec:C:\
                  IsExclude:False
                  IsRecursive:True

                  , DataSource
                  DatasourceId:0
                  Name:D:\
                  FileSpec:FileSpec
                  FileSpec:D:\
                  IsExclude:False
                  IsRecursive:True

                  }
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid
Add-OBFileSpec -Policy $NewPolicy -FileSpec $Exclusions
BackupSchedule  : 4:00 PM
                  Saturday, Sunday,
                  Every 1 week(s)
DsList          : {DataSource
                  DatasourceId:0
                  Name:C:\
                  FileSpec:FileSpec
                  FileSpec:C:\
                  IsExclude:False
                  IsRecursive:True
                  ,FileSpec
                  FileSpec:C:\windows
                  IsExclude:True
                  IsRecursive:True
                  ,FileSpec
                  FileSpec:C:\temp
                  IsExclude:True
                  IsRecursive:True

                  , DataSource
                  DatasourceId:0
                  Name:D:\
                  FileSpec:FileSpec
                  FileSpec:D:\
                  IsExclude:False
                  IsRecursive:True

                  }
PolicyName      :
RetentionPolicy : Retention Days : 7

                  WeeklyLTRSchedule :
                  Weekly schedule is not set

                  MonthlyLTRSchedule :
                  Monthly schedule is not set

                  YearlyLTRSchedule :
                  Yearly schedule is not set

State           : New
PolicyState     : Valid

Stosowanie zasad

Teraz obiekt zasad został ukończony i ma skojarzony harmonogram tworzenia kopii zapasowych, zasady przechowywania oraz listę dołączania/wykluczania plików. Te zasady można teraz zobowiązać do użycia przez usługę Azure Backup. Przed zastosowaniem nowo utworzonych zasad upewnij się, że nie ma żadnych istniejących zasad kopii zapasowych skojarzonych z serwerem przy użyciu polecenia cmdlet Remove-OBPolicy . Usunięcie zasad spowoduje wyświetlenie monitu o potwierdzenie. Aby pominąć potwierdzenie, użyj -Confirm:$false flagi z poleceniem cmdlet .

Uwaga

Jeśli podczas uruchamiania polecenia cmdlet zostanie wyświetlony monit o ustawienie numeru PIN zabezpieczeń, zobacz sekcję Metoda 1.

Get-OBPolicy | Remove-OBPolicy
Microsoft Azure Backup Are you sure you want to remove this backup policy? This will delete all the backed up data. [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

Zatwierdzanie obiektu zasad odbywa się przy użyciu polecenia cmdlet Set-OBPolicy . Spowoduje to również wyświetlenie monitu o potwierdzenie. Aby pominąć potwierdzenie, użyj -Confirm:$false flagi z poleceniem cmdlet .

Set-OBPolicy -Policy $NewPolicy
Microsoft Azure Backup Do you want to save this backup policy ? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
BackupSchedule : 4:00 PM Saturday, Sunday, Every 1 week(s)
DsList : {DataSource
         DatasourceId:4508156004108672185
         Name:C:\
         FileSpec:FileSpec
         FileSpec:C:\
         IsExclude:False
         IsRecursive:True,

         FileSpec
         FileSpec:C:\windows
         IsExclude:True
         IsRecursive:True,

         FileSpec
         FileSpec:C:\temp
         IsExclude:True
         IsRecursive:True,

         DataSource
         DatasourceId:4508156005178868542
         Name:D:\
         FileSpec:FileSpec
         FileSpec:D:\
         IsExclude:False
         IsRecursive:True
    }
PolicyName : c2eb6568-8a06-49f4-a20e-3019ae411bac
RetentionPolicy : Retention Days : 7
              WeeklyLTRSchedule :
              Weekly schedule is not set

              MonthlyLTRSchedule :
              Monthly schedule is not set

              YearlyLTRSchedule :
              Yearly schedule is not set
State : Existing PolicyState : Valid

Szczegóły istniejących zasad tworzenia kopii zapasowych można wyświetlić przy użyciu polecenia cmdlet Get-OBPolicy . Dalsze przechodzenie do szczegółów można przejść do szczegółów przy użyciu polecenia cmdlet Get-OBSchedule dla harmonogramu tworzenia kopii zapasowych i polecenia cmdlet Get-OBRetentionPolicy dla zasad przechowywania

Get-OBPolicy | Get-OBSchedule
SchedulePolicyName : 71944081-9950-4f7e-841d-32f0a0a1359a
ScheduleRunDays : {Saturday, Sunday}
ScheduleRunTimes : {16:00:00}
State : Existing
Get-OBPolicy | Get-OBRetentionPolicy
RetentionDays : 7
RetentionPolicyName : ca3574ec-8331-46fd-a605-c01743a5265e
State : Existing
Get-OBPolicy | Get-OBFileSpec
FileName : *
FilePath : \?\Volume{b835d359-a1dd-11e2-be72-2016d8d89f0f}\
FileSpec : D:\
IsExclude : False
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\
FileSpec : C:\
IsExclude : False
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\windows
FileSpec : C:\windows
IsExclude : True
IsRecursive : True

FileName : *
FilePath : \?\Volume{cdd41007-a22f-11e2-be6c-806e6f6e6963}\temp
FileSpec : C:\temp
IsExclude : True
IsRecursive : True

Wykonywanie kopii zapasowej na żądanie

Po ustawieniu zasad tworzenia kopii zapasowych kopie zapasowe będą wykonywane zgodnie z harmonogramem. Wyzwalanie kopii zapasowej na żądanie jest również możliwe przy użyciu polecenia cmdlet Start-OBBackup :

Get-OBPolicy | Start-OBBackup
Initializing
Taking snapshot of volumes...
Preparing storage...
Generating backup metadata information and preparing the metadata VHD...
Data transfer is in progress. It might take longer since it is the first backup and all data needs to be transferred...
Data transfer completed and all backed up data is in the cloud. Verifying data integrity...
Data transfer completed
In progress...
Job completed.
The backup operation completed successfully.

Tworzenie kopii zapasowej stanu systemu Windows Server w agencie MARS

W tej sekcji opisano polecenie programu PowerShell służące do konfigurowania stanu systemu w agencie MARS

Zaplanuj

$sched = New-OBSchedule -DaysOfWeek Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday -TimesOfDay 2:00

Okres przetrzymywania

$rtn = New-OBRetentionPolicy -RetentionDays 32 -RetentionWeeklyPolicy -RetentionWeeks 13 -WeekDaysOfWeek Sunday -WeekTimesOfDay 2:00  -RetentionMonthlyPolicy -RetentionMonths 13 -MonthDaysOfMonth 1 -MonthTimesOfDay 2:00

Konfigurowanie harmonogramu i przechowywania

New-OBPolicy | Add-OBSystemState |  Set-OBRetentionPolicy -RetentionPolicy $rtn | Set-OBSchedule -Schedule $sched | Set-OBSystemStatePolicy

Weryfikowanie zasad

Get-OBSystemStatePolicy

Przywracanie danych z usługi Azure Backup

Ta sekcja przeprowadzi Cię przez kroki automatyzacji odzyskiwania danych z usługi Azure Backup. W tym celu należy wykonać następujące czynności:

  1. Wybierz wolumin źródłowy
  2. Wybieranie punktu kopii zapasowej do przywrócenia
  3. Określanie elementu do przywrócenia
  4. Wyzwalanie procesu przywracania

Wybieranie woluminu źródłowego

Aby przywrócić element z usługi Azure Backup, należy najpierw zidentyfikować źródło elementu. Ponieważ wykonujemy polecenia w kontekście klienta systemu Windows Server lub Windows, maszyna jest już identyfikowana. Następnym krokiem identyfikacji źródła jest zidentyfikowanie woluminu zawierającego go. Listę woluminów lub źródeł kopii zapasowej z tej maszyny można pobrać, wykonując polecenie cmdlet Get-OBRecoverableSource . To polecenie zwraca tablicę wszystkich źródeł, których kopia zapasowa pochodzi z tego serwera/klienta.

$Source = Get-OBRecoverableSource
$Source
FriendlyName : C:\
RecoverySourceName : C:\
ServerName : myserver.microsoft.com

FriendlyName : D:\
RecoverySourceName : D:\
ServerName : myserver.microsoft.com

Wybieranie punktu kopii zapasowej, z którego ma być przywracane

Aby pobrać listę punktów kopii zapasowej, wykonaj polecenie cmdlet Get-OBRecoverableItem z odpowiednimi parametrami. W naszym przykładzie wybierzemy najnowszy punkt kopii zapasowej dla woluminu źródłowego C: i użyjemy go do odzyskania określonego pliku.

$Rps = Get-OBRecoverableItem $Source[0]
$Rps

IsDir                : False
ItemNameFriendly     : C:\
ItemNameGuid         : \\?\Volume{297cbf7a-0000-0000-0000-401f00000000}\
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : C:\
PointInTime          : 10/17/2019 7:52:13 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime :

IsDir                : False
ItemNameFriendly     : C:\
ItemNameGuid         : \\?\Volume{297cbf7a-0000-0000-0000-401f00000000}\
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : C:\
PointInTime          : 10/16/2019 7:00:19 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime :

Obiekt $Rps jest tablicą punktów kopii zapasowych. Pierwszy element jest ostatnim punktem, a element Nth jest najstarszym punktem. Aby wybrać najnowszy punkt, użyjemy polecenia $Rps[0].

Określanie elementu do przywrócenia

Aby przywrócić określony plik, określ nazwę pliku względem woluminu głównego. Aby na przykład pobrać plik C:\Test\Cat.job, wykonaj następujące polecenie.

$Item = New-OBRecoverableItem $Rps[0] "Test\cat.jpg" $FALSE
$Item
IsDir                : False
ItemNameFriendly     : C:\Test\cat.jpg
ItemNameGuid         :
LocalMountPoint      : C:\
MountPointName       : C:\
Name                 : cat.jpg
PointInTime          : 10/17/2019 7:52:13 PM
ServerName           : myserver.microsoft.com
ItemSize             :
ItemLastModifiedTime : 21-Jun-14 6:43:02 AM

Wyzwalanie procesu przywracania

Aby wyzwolić proces przywracania, najpierw musimy określić opcje odzyskiwania. Można to zrobić za pomocą polecenia cmdlet New-OBRecoveryOption . W tym przykładzie załóżmy, że chcemy przywrócić pliki do folderu C:\temp. Załóżmy również, że chcemy pominąć pliki, które już istnieją w folderze docelowym C:\temp. Aby utworzyć taką opcję odzyskiwania, użyj następującego polecenia:

$RecoveryOption = New-OBRecoveryOption -DestinationPath "C:\temp" -OverwriteType Skip

Teraz wyzwól proces przywracania przy użyciu polecenia Start-OBRecovery wybranego $Item z danych wyjściowych Get-OBRecoverableItem polecenia cmdlet:

Start-OBRecovery -RecoverableItem $Item -RecoveryOption $RecoveryOption
Estimating size of backup items...
Estimating size of backup items...
Estimating size of backup items...
Estimating size of backup items...
Job completed.
The recovery operation completed successfully.

Przywracanie między regionami

Przywracanie między regionami (CRR) umożliwia przywrócenie danych kopii zapasowej MARS z regionu pomocniczego, który jest sparowanym regionem platformy Azure. Dzięki temu można przeprowadzać próbne inspekcji i zgodności oraz odzyskiwać dane podczas niedostępności regionu podstawowego na platformie Azure w przypadku awarii.

Przywracanie oryginalnego serwera

Jeśli wykonujesz przywracanie dla oryginalnego serwera z regionu pomocniczego (przywracanie między regionami), użyj flagi UseSecondaryRegion podczas pobierania OBRecoverableSource obiektu.

$sources = Get-OBRecoverableSource -UseSecondaryRegion
$RP = Get-OBRecoverableItem -Source $sources[0]
$RO = New-OBRecoveryOption -DestinationPath $RecoveryPath -OverwriteType Overwrite
Start-OBRecovery -RecoverableItem $RP -RecoveryOption $RO -Async | ConvertTo-Json

Przywracanie alternatywnego serwera

Jeśli wykonujesz przywracanie dla alternatywnego serwera z regionu pomocniczego (przywracanie między regionami), pobierz plik poświadczeń magazynu regionu pomocniczego z witryny Azure Portal i przekaż poświadczenia magazynu regionu pomocniczego do przywrócenia.

$serverName = ‘myserver.mycompany.com’
$secVaultCred = “C:\Users\myuser\Downloads\myvault_Mon Jul 17 2023.VaultCredentials”
$passphrase = ‘Default Passphrase’
$alternateServers = Get-OBAlternateBackupServer -VaultCredentials $secVaultCred
$altServer = $alternateServers[2] | Where-Object {$_.ServerName -Like $serverName}
$pwd = ConvertTo-SecureString -String $passphrase -AsPlainText -Force
$sources = Get-OBRecoverableSource $altServer
$RP = Get-OBRecoverableItem -Source $sources[0]
$RO = New-OBRecoveryOption
Start-OBRecoveryMount -RecoverableItem $RP -RecoveryOption $RO -EncryptionPassphrase $pwd  -Async | ConvertTo-Json 

Odinstalowywanie agenta usługi Azure Backup

Odinstalowanie agenta usługi Azure Backup można wykonać za pomocą następującego polecenia:

.\MARSAgentInstaller.exe /d /q

Odinstalowanie plików binarnych agenta z maszyny ma pewne konsekwencje, które należy wziąć pod uwagę:

  • Usuwa filtr plików z maszyny, a śledzenie zmian zostało zatrzymane.
  • Wszystkie informacje o zasadach są usuwane z komputera, ale informacje o zasadach są nadal przechowywane w usłudze.
  • Wszystkie harmonogramy tworzenia kopii zapasowych są usuwane i nie są wykonywane żadne dalsze kopie zapasowe.

Jednak dane przechowywane na platformie Azure pozostają i są przechowywane zgodnie z konfiguracją zasad przechowywania przez Użytkownika. Starsze punkty są automatycznie przestarzałe.

Zarządzanie zdalne

Wszystkie zarządzanie agentem, zasadami i źródłami danych usługi Azure Backup można wykonywać zdalnie za pomocą programu PowerShell. Maszyna, która będzie zarządzana zdalnie, musi być przygotowana poprawnie.

Domyślnie usługa WinRM jest skonfigurowana do ręcznego uruchamiania. Typ uruchamiania musi być ustawiony na Wartość Automatyczna , a usługa powinna zostać uruchomiona. Aby sprawdzić, czy usługa WinRM jest uruchomiona, wartość właściwości Status powinna mieć wartość Uruchomiono.

Get-Service -Name WinRM
Status   Name               DisplayName
------   ----               -----------
Running  winrm              Windows Remote Management (WS-Manag...

Program PowerShell należy skonfigurować do komunikacji zdalnej.

Enable-PSRemoting -Force
WinRM is already set up to receive requests on this computer.
WinRM has been updated for remote management.
WinRM firewall exception enabled.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force

Komputer można teraz zarządzać zdalnie — począwszy od instalacji agenta. Na przykład poniższy skrypt kopiuje agenta na maszynę zdalną i instaluje go.

$DLoc = "\\REMOTESERVER01\c$\Windows\Temp"
$Agent = "\\REMOTESERVER01\c$\Windows\Temp\MARSAgentInstaller.exe"
$Args = "/q"
Copy-Item "C:\Downloads\MARSAgentInstaller.exe" -Destination $DLoc -Force

$Session = New-PSSession -ComputerName REMOTESERVER01
Invoke-Command -Session $Session -Script { param($D, $A) Start-Process -FilePath $D $A -Wait } -ArgumentList $Agent, $Args

Następne kroki

Aby uzyskać więcej informacji na temat usługi Azure Backup dla systemu Windows Server/klienta: