Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure Site Recovery contribuisce alla tua strategia di continuità aziendale e disaster recovery (BCDR) orchestrando replica, failover e recupero di macchine virtuali Azure (VM), VM on-premises e server fisici.
Questo articolo descrive come utilizzare Windows PowerShell, insieme a Azure Resource Manager, per replicare Hyper-V VM in Azure. L'esempio usato in questo articolo mostra come replicare una singola VM che gira su un host Hyper-V, per Azure.
Note
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo Az PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Azure PowerShell
Azure PowerShell fornisce cmdlet per gestire Azure usando Windows PowerShell. I cmdlet PowerShell di Site Recovery, disponibili con Azure PowerShell for Azure Resource Manager, ti aiutano a proteggere e recuperare i tuoi server in Azure.
Non è necessario essere esperti di PowerShell per usare questo articolo, ma bisogna comprendere concetti di base, come moduli, cmdlet e sessioni. Per maggiori informazioni, consulta la Documentazione PowerShell e l'uso di Azure PowerShell con Azure Resource Manager.
Note
I partner Microsoft nel programma Cloud Solution Provider (CSP) possono configurare e gestire la protezione dei server dei clienti ai rispettivi abbonamenti CSP (abbonamenti tenitari).
Prima di iniziare
Assicurati di avere questi prerequisiti:
- Un account Microsoft Azure. È possibile iniziare con una versione di valutazione gratuita. Inoltre, puoi leggere informazioni sui prezzi di Azure Site Recovery Manager.
- Azure PowerShell. Per informazioni su questa versione e su come installarla, consulta Installa Azure PowerShell.
Inoltre, l'esempio specifico descritto in questo articolo prevede i seguenti prerequisiti:
- Un host Hyper-V che esegue Windows Server 2012 R2 o Microsoft Hyper-V Server 2012 R2 contenente una o più VM. Hyper-V server dovrebbero essere collegati a Internet, direttamente o tramite un proxy.
- Le VM che vuoi replicare dovrebbero rispettare questi prerequisiti.
Passo 1: Accedi al tuo account Azure
Apri una console PowerShell ed esegui questo comando per accedere al tuo account Azure. Il cmdlet apre una pagina web che ti chiede le credenziali dell'account:
Connect-AzAccount.- In alternativa, puoi includere le credenziali del tuo account come parametro nel
Connect-AzAccountcmdlet, usando il parametro Credential . - Se si è un partner CSP che lavora per conto di un tenant, specificare il cliente come tenant usando il proprio tenantID o il nome di dominio primario del tenant. Ad esempio:
Connect-AzAccount -Tenant "fabrikam.com"
- In alternativa, puoi includere le credenziali del tuo account come parametro nel
Associare la sottoscrizione che si vuole usare all'account perché un account può avere molte sottoscrizioni:
Set-AzContext -Subscription $SubscriptionNameVerifica che il tuo abbonamento sia registrato per utilizzare i provider Azure per Recovery Services e Site Recovery, utilizzando questi comandi:
Get-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServicesVerifica che nell'output del comando, il Stato di Registrazione sia impostato su Registrato, puoi procedere al Passo 2. In caso contrario, dovresti registrare il provider mancante nel tuo abbonamento, eseguendo questi comandi:
Register-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServicesVerifica che i Provider si siano registrati correttamente, utilizzando i seguenti comandi:
Get-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
Passo 2: Preparare il caveau
Crea un gruppo di risorse Azure Resource Manager in cui creare il vault, oppure usa un gruppo di risorse esistente. Crea un nuovo gruppo di risorse come segue. La
$ResourceGroupNamevariabile contiene il nome del gruppo di risorse che si vuole creare, mentre la variabile $Geo contiene la regione Azure in cui creare il gruppo di risorse (ad esempio, "Brazil South").New-AzResourceGroup -Name $ResourceGroupName -Location $GeoPer ottenere un elenco dei gruppi di risorse nel tuo abbonamento, esegui il
Get-AzResourceGroupcmdlet.Crea un nuovo vault Azure Recovery Services come segue:
$vault = New-AzRecoveryServicesVault -Name <string> -ResourceGroupName <string> -Location <string>
Puoi recuperare una lista dei vault esistenti con il Get-AzRecoveryServicesVault cmdlet.
Passo 3: Impostare il contesto del vault dei Servizi di Recupero
Imposta il contesto della cassaforte come segue:
Set-AzRecoveryServicesAsrVaultContext -Vault $vault
Passo 4: Crea un sito Hyper-V
Crea un nuovo sito Hyper-V come segue:
$sitename = "MySite" #Specify site friendly name New-AzRecoveryServicesAsrFabric -Type HyperVSite -Name $sitenameQuesto cmdlet avvia un lavoro Site Recovery per creare il sito e restituisce un oggetto di lavoro Site Recovery. Aspetta che il lavoro venga completato e verifica che sia stato completato con successo.
Usa il
Get-AzRecoveryServicesAsrJobcmdlet per recuperare l'oggetto del lavoro e controlla lo stato attuale del lavoro.Genera e scarica una chiave di registrazione per il sito, come segue:
$SiteIdentifier = Get-AzRecoveryServicesAsrFabric -Name $sitename | Select-Object -ExpandProperty SiteIdentifier $path = Get-AzRecoveryServicesVaultSettingsFile -Vault $vault -SiteIdentifier $SiteIdentifier -SiteFriendlyName $sitenameCopia la chiave scaricata sull'host Hyper-V. Ti serve la chiave per registrare il Hyper-V host sul sito.
Passo 5: Installa il Fornitore e l'agente
Scarica l'installatore per l'ultima versione del Provider da Microsoft.
Esegui l'installer sull'host Hyper-V.
Al termine dell'installazione si prosegue fino al passaggio di registrazione.
Quando richiesto, fornisci la chiave scaricata e completa la registrazione dell'host Hyper-V.
Verifica che l'host Hyper-V sia registrato sul sito come segue:
$server = Get-AzRecoveryServicesAsrFabric -Name $siteName | Get-AzRecoveryServicesAsrServicesProvider -FriendlyName $server-friendlyname
Se stai gestendo un server core Hyper-V, scarica il file di configurazione e segui questi passaggi:
Estrarre i file da AzureSiteRecoveryProvider.exe a una directory locale eseguendo questo comando:
AzureSiteRecoveryProvider.exe /x:. /qEsegui questo comando:
.\setupdr.exe /iI risultati sono registrati su %ProgramData%\ASRLogs\DRASetupWizard.log.
Registrare il server eseguendo questo comando:
cd C:\Program Files\Microsoft Azure Site Recovery Provider\DRConfigurator.exe" /r /Friendlyname "FriendlyName of the Server" /Credentials "path to where the credential file is saved"
Passo 6: Crea una politica di replicazione
Prima di iniziare, l'account di archiviazione specificato dovrebbe trovarsi nella stessa regione Azure del vault e avere la geo-replicazione attivata.
Crea una politica di replica come segue:
$ReplicationFrequencyInSeconds = "300"; #options are 30,300,900 $PolicyName = “replicapolicy” $Recoverypoints = 6 #specify the number of recovery points $storageaccountID = Get-AzStorageAccount -Name "mystorea" -ResourceGroupName "MyRG" | Select-Object -ExpandProperty Id $PolicyResult = New-AzRecoveryServicesAsrPolicy -Name $PolicyName -ReplicationProvider “HyperVReplicaAzure” -ReplicationFrequencyInSeconds $ReplicationFrequencyInSeconds -NumberOfRecoveryPointsToRetain $Recoverypoints -ApplicationConsistentSnapshotFrequencyInHours 1 -RecoveryAzureStorageAccountId $storageaccountIDControlla il lavoro restituito per assicurarti che la creazione della policy di replica abbia successo.
Recupera il contenitore di protezione corrispondente al sito, come segue:
$protectionContainer = Get-AzRecoveryServicesAsrProtectionContainerAssocia il contenitore di protezione alla policy di replicazione, come segue:
$Policy = Get-AzRecoveryServicesAsrPolicy -FriendlyName $PolicyName $associationJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name $mappingName -Policy $Policy -PrimaryProtectionContainer $protectionContainer[0]Aspetta che il lavoro dell'associazione si concluda con successo.
Recupera la mappatura del contenitore di protezione.
$ProtectionContainerMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $protectionContainer
Passo 7: Abilita la protezione delle VM
Recupera l'elemento protettibile che corrisponde alla VM che vuoi proteggere, come segue:
$VMFriendlyName = "Fabrikam-app" #Name of the VM $ProtectableItem = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyNameProteggere la macchina virtuale. Se la VM che stai proteggendo ha più di un disco collegato, specifica il disco del sistema operativo usando il parametro OSDiskName .
$OSType = "Windows" # "Windows" or "Linux" $DRjob = New-AzRecoveryServicesAsrReplicationProtectedItem -ProtectableItem $VM -Name $VM.Name -ProtectionContainerMapping $ProtectionContainerMapping -RecoveryAzureStorageAccountId $StorageAccountID -OSDiskName $OSDiskNameList[$i] -OS $OSType -RecoveryResourceGroupId $ResourceGroupIDPer far sì che Azure Site Recovery crei dischi gestiti per la VM replicata in Azure, usa il seguente comando:
$DRjob = New-AzRecoveryServicesAsrReplicationProtectedItem -ProtectableItem $VM -Name $VM.Name -ProtectionContainerMapping $ProtectionContainerMapping -LogStorageAccountId $StorageAccountId -OSDiskName $OSDiskNameList[$i] -OS $OSType -RecoveryResourceGroupId $ResourceGroupID -Size "Standard_D4s_v3" -UseManagedDisksForReplication $true -UseManagedDisk $trueNote
Per utilizzare Azure Managed Disks per la VM replicata, specificare sia
-UseManagedDisksForReplication $trueche-UseManagedDisk $true. L'account di archiviazione specificato da-LogStorageAccountIdè utilizzato per i log di replicazione, mentre i dischi replicati in Azure sono creati come dischi gestiti.Attendere che le macchine virtuali raggiungano uno stato protetto dopo la replica iniziale. Questo può richiedere tempo, a seconda di fattori come la quantità di dati da replicare e la larghezza di banda disponibile a monte verso Azure. Quando è presente uno stato protetto, lo Stato del lavoro e la Descrizione dello Stato vengono aggiornati come segue:
PS C:\> $DRjob = Get-AzRecoveryServicesAsrJob -Job $DRjob PS C:\> $DRjob | Select-Object -ExpandProperty State Succeeded PS C:\> $DRjob | Select-Object -ExpandProperty StateDescription CompletedAggiornare le proprietà di recupero (come la dimensione del ruolo della VM) e la rete Azure a cui collegare la scheda di rete della VM dopo il failover.
PS C:\> $nw1 = Get-AzVirtualNetwork -Name "FailoverNw" -ResourceGroupName "MyRG" PS C:\> $VMFriendlyName = "Fabrikam-App" PS C:\> $rpi = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName PS C:\> $UpdateJob = Set-AzRecoveryServicesAsrReplicationProtectedItem -InputObject $rpi -PrimaryNic $VM.NicDetailsList[0].NicId -RecoveryNetworkId $nw1.Id -RecoveryNicSubnetName $nw1.Subnets[0].Name PS C:\> $UpdateJob = Get-AzRecoveryServicesAsrJob -Job $UpdateJob PS C:\> $UpdateJob | Select-Object -ExpandProperty state PS C:\> Get-AzRecoveryServicesAsrJob -Job $job | Select-Object -ExpandProperty state Succeeded
Note
Se desideri replicare dischi gestiti abilitati a CMK in Azure, esegui i seguenti passaggi utilizzando Az PowerShell 3.3.0 in su:
- Abilita il failover ai dischi gestiti aggiornando le proprietà della VM
- Usa il
Get-AzRecoveryServicesAsrReplicationProtectedItemcmdlet per recuperare l'ID disco per ogni disco dell'elemento protetto - Crea un oggetto dizionario usando
New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]"cmdlet per contenere la mappatura dell'ID disco al set di crittografia disco. Questi set di crittografia disco devono essere pre-creati da te nella regione di destinazione. - Aggiorna le proprietà della VM usando
Set-AzRecoveryServicesAsrReplicationProtectedItemcmdlet passando l'oggetto dizionario nel parametro DiskIdToDiskEncryptionSetMap .
Passaggio 8: Eseguire un failover di prova
Esegui un failover di test come segue:
$nw = Get-AzVirtualNetwork -Name "TestFailoverNw" -ResourceGroupName "MyRG" #Specify Azure vnet name and resource group $rpi = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName $TFjob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $VM -Direction PrimaryToRecovery -AzureVMNetworkId $nw.IdVerifica che la VM di test sia stata creata in Azure. Il lavoro di failover del test viene sospeso dopo aver creato la VM di test in Azure.
Per pulire e completare il failover del test, esegui:
$TFjob = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $rpi -Comment "TFO done"
Passaggi successivi
Scopri di più su Azure Site Recovery con i cmdlet PowerShell di Azure Resource Manager.