Outil de restauration automatique Azure Site Recovery
Dans un environnement connecté, vous pouvez utiliser Azure Site Recovery pour protéger les machines virtuelles qui s’exécutent sur Azure Stack Hub. Cet article explique comment configurer l’environnement et comment Site Recovery contribue à la stratégie globale de récupération d’urgence et de continuité des activités pour ces charges de travail.
En cas de panne, l’opérateur Azure Stack Hub passe par la procédure de basculement une fois qu’Azure Stack Hub est de nouveau opérationnel, il passe par un processus de restauration automatique. La procédure de basculement est décrite dans cet article sur la récupération de site, mais le processus de restauration automatique implique quelques étapes manuelles :
- Arrêtez d’exécuter la machine virtuelle dans Azure.
- Téléchargez les disques durs virtuels (VHD).
- Chargez les VHD sur Azure Stack Hub.
- Recréez les machines virtuelles.
- Enfin, démarrez cette machine virtuelle s’exécutant sur Azure Stack Hub.
Étant donné que ce processus peut être source d’erreurs et fastidieux, nous avons créé des scripts pour accélérer et automatiser ce processus.
Remarque
L’outil Azure Site Recovery nécessite les modules Az d’Azure Stack Hub. Si vous exécutez les modules AzureRM d’Azure Stack Hub, vous devez mettre à niveau votre station de travail ou utiliser l’outil de restauration automatique Azure Site Recovery dans un environnement isolé avec les modules Az. Pour plus d’informations, consultez Installer le module PowerShell Az pour Azure Stack Hub.
Procédure de restauration automatique
Le processus de restauration automatique contient trois parties principales :
Copy-AzSiteRecoveryVmVHD :
- Arrête la machine virtuelles Azure.
- Prépare l’exportation du disque.
- Copie le disque via AzCopy ou StorageBlobCopy.
- Charge le disque sur un compte de stockage Azure Stack Hub.
Une fois le disque copié, deux scénarios sont traités par Prepare-AzSiteRecoveryVMFailBack :
- Azure Stack Hub d’origine a été récupéré. La machine virtuelle d’origine existe toujours et vous devez uniquement modifier ses VHD.
- En cas de sinistre, si les machines virtuelles d’origine sont perdues, vous devez recréer la machine virtuelle entière.
Cette procédure couvre les deux scénarios en créant le modèle et le fichier de paramètres requis.
Le déploiement réel du modèle Azure Resource Manager à l’aide du fichier de paramètres et le déploiement/la création de la machine virtuelle sur Azure Stack Hub.
Prérequis
Les conditions préalables suivantes sont requises pour effectuer la procédure de restauration automatique :
Copiez l’outil de restauration automatique Azure Site Recovery.
Importez le module FailbackTool.psm1 dans PowerShell.
Suivez la procédure décrite dans cet article pour installer le module Az for Azure Stack Hub.
(facultatif) Télécharger AzCopy version 10.
- La copie de l’objet blob à l’aide de AzCopy est plus rapide, mais nécessite un espace disque local supplémentaire pour stocker temporairement le fichier blob.
- Si AzCopy n’est pas utilisé, la copie du disque dur virtuel s’effectue à l’aide de AzStorageBlobCopy. Cela signifie qu’aucun stockage local n’est requis, mais le processus prend plus de temps.
Accès aux ressources sur le portail Microsoft Azure et accès pour créer ces ressources sur Azure Stack Hub.
Étape 1 : Copier un objet blob à partir d’Azure vers Azure Stack Hub
Appelez l’applet de commande PowerShell Copy-AzSiteRecoveryVmVHD pour arrêter la machine virtuelle Azure, téléchargez les VHD à partir d’Azure et chargez-les sur Azure Stack Hub. Par exemple :
$uris = Copy-AzSiteRecoveryVmVHD `
-SourceVM $vmOnAzure `
-TargetStorageAccountName "targetaccountName" `
-TargetStorageEndpoint "redmond.ext-v.masd.stbtest.microsoft.com" `
-TargetStorageAccountKey $accountKey `
-AzCopyPath "C:\azcopy_v10\azcopy.exe" `
-VhdLocalFolder "C:\tempfolder"
Tenez compte des points suivants :
Cet exemple utilise
$uris
pour contenir laSourceDiskVhdUris
valeur utilisée à l’étape 2.Le paramètre
-SourceVM
est un objet de machine virtuelle récupéré parGet-AzVM
.- Il s’agit de la machine virtuelle protégée d’Azure Stack Hub qui a été basculée sur Azure.
- Peu importe si la machine virtuelle est en cours d’exécution, car le script l’arrête. Toutefois, il est recommandé de l’arrêter explicitement et d’arrêter les services à l’intérieur de la machine virtuelle en conséquence.
Vous pouvez fournir une clé de compte (à l’aide de
TargetStorageAccountKey
) ou le jeton SAS (à l’aide deTargetStorageAccountSasToken
) du compte de stockage côté Azure Stack Hub. Le jeton SAS doit être créé au niveau du compte de stockage, avec au moins les autorisations suivantes :Vous pouvez fournir le point de terminaison de stockage, qui comprend la région et le nom de domaine complet (FQDN). par exemple,
regionname.azurestack.microsoft.com
, ou le nom d’environnement d’Azure Stack Hub, tel queAzureStackTenant
. Si le nom de l’environnement est utilisé, il doit être indiqué à l’aide de Get-AzEnvironment.Vous pouvez choisir d’utiliser AzCopy ou AzStorageBlobCopy pour copier le disque dur virtuel à partir d’Azure vers Azure Stack Hub. AzCopy est plus rapide, mais il doit d’abord télécharger les fichiers VHD dans un dossier local :
- Pour utiliser AzCopy, indiquez les paramètres
-AzCopyPath
et-VhdLocalFolder
(le chemin d’accès où les disques durs virtuels seront copiés). - Si l’espace local est insuffisant, vous pouvez choisir de copier le disque dur virtuel directement, sans AzCopy, en omettant les paramètres
-AzCopyPath
et-VhdLocalFolder
. Par défaut, cette commande utilise AzStorageBlobCopy pour copier directement sur le compte de stockage Azure Stack Hub.
- Pour utiliser AzCopy, indiquez les paramètres
Étape 2 : Générer des modèles Resource Manager
Une fois le disque copié, utilisez l’applet de commande Prepare-AzSiteRecoveryVMFailBack pour créer les $templateFile
et $parameterFile
requis pour déployer la machine virtuelle sur Azure Stack Hub :
$templateFile, $parameterFile = Prepare-AzSiteRecoveryVMFailBack `
-SourceContextName "PublicAzure" `
-SourceVM $vmOnAzure `
-SourceDiskVhdUris $uris `
-TargetResourceLocation "redmond" `
-ArmTemplateDestinationPath "C:\ARMtemplates" `
-TargetVM $vmOnHub `
-TargetContextName "AzureStack"
Tenez compte des points suivants :
Cet exemple utilise
-SourceDiskVhdUris
comme valeur de retour de l’étape 1 (à l’aide de$uris
).La nouvelle cmdlet prend en charge deux scénarios :
- En spécifiant
-TargetVM
, vous supposez que la machine virtuelle est active côté Azure Stack Hub et vous souhaitez remplacer ses disques par les derniers copiés à partir d’Azure. - Le script génère un modèle Resource Manager pour déployer cette machine virtuelle, puis supprime la machine virtuelle existante d’Azure Stack Hub.
Remarque
La suppression de la machine virtuelle Azure Stack Hub elle-même ne supprime pas les autres objets (comme VNET, groupe de ressources, groupes de sécurité réseau (NSG)). Elle supprime uniquement la ressource de machine virtuelle, puis le modèle est déployé avec le paramètre
-incremental
.- Si vous ne fournissez pas le paramètre
-TargetVM
, le script suppose que la machine virtuelle n’existe plus côté Azure Stack Hub, de sorte que le script crée un modèle Resource Manager pour déployer une machine virtuelle entièrement nouvelle.
- En spécifiant
Les fichiers de modèle Resource Manager générés sont placés sous
-ArmTemplateDestinationPath
et le chemin d’accès complet du fichier de modèle ou du fichier de paramètres est renvoyé.Si le paramètre
-TargetVM
est fourni, l’applet de commande supprime la machine virtuelle. vous pouvez donc passer aux étapes suivantes.
Étape 3 : Déployer le modèle Resource Manager
À ce stade, le disque dur virtuel est chargé sur Azure Stack Hub et le modèle Resource Manager et les fichiers de paramètres respectifs sont créés. Il vous reste à déployer la machine virtuelle sur Azure Stack Hub.
Dans certains scénarios, vous souhaiterez peut-être modifier ce modèle et ajouter, supprimer ou modifier certains noms ou ressources. Cela est autorisé, car vous pouvez modifier et ajuster le modèle en fonction des besoins.
Lorsque vous êtes prêt, et après avoir confirmé que les ressources du modèle Resource Manager sont conformes, vous pouvez appeler l’applet de commande New-AzResourceGroupDeployment pour déployer les ressources. Par exemple :
New-AzResourceGroupDeployment `
-Name "Failback" `
-ResourceGroupName "failbackrg" `
-TemplateFile $templateFile `
-TemplateParameterFile $parameterFile `
-Mode Incremental
Tenez compte des points suivants :
- Le paramètre
-ResourceGroupName
doit être un groupe de ressources existant. - Les paramètres
-TemplateFile
et-TemplateParameterFile
proviennent des valeurs renvoyées à l’étape 2.