Sauvegarder un partage de fichiers Azure en utilisant PowerShell
Cet article explique comment utiliser Azure PowerShell pour sauvegarder un partage de fichiers Azure Files à l’aide d’un coffre Recovery Services de Sauvegarde Azure.
Cet article explique comment :
- Configurer PowerShell et inscrire le fournisseur Recovery Services.
- Créez un coffre Recovery Services.
- Configurer la sauvegarde d’un partage de fichiers Azure.
- Exécuter un travail de sauvegarde.
Avant de commencer
En savoir plus sur les coffres Recovery Services.
Passez en revue la référence sur la cmdlet dans la bibliothèque Azure.
Passez en revue la hiérarchie des objets PowerShell suivante pour Recovery Services :
Configurer PowerShell
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Notes
Azure Powershell ne prend pas en charge les stratégies de sauvegarde avec une planification toutes les heures. Utilisez le portail Azure pour tirer parti de cette fonctionnalité. En savoir plus
Configurez PowerShell comme suit :
Téléchargez la dernière version d’Azure PowerShell.
Notes
La version PowerShell minimale requise pour la sauvegarde du partage de fichiers Azure est Az.RecoveryServices 2.6.0. L’utilisation de la version la plus récente, ou au moins de la version minimale, vous permet d’éviter les problèmes liés aux scripts existants. Installez la version minimale à l’aide de la commande PowerShell suivante :
Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
Recherchez les cmdlets PowerShell pour Sauvegarde Azure à l'aide de cette commande :
Get-Command *azrecoveryservices*
Passez en revue les alias et cmdlets pour Sauvegarde Azure, Azure Site Recovery et le coffre Recovery Services. Voici un exemple de résultat possible. Il ne s’agit pas d’une liste complète des cmdlets.
Connectez-vous à votre compte Azure à l’aide de Connect-AzAccount.
Sur la page web qui s’affiche, vous êtes invité à entrer les informations d’identification de votre compte.
Vous pouvez également inclure les informations d’identification de votre compte en tant que paramètre dans la cmdlet Connect-AzAccount à l'aide de -Credential.
Si vous êtes partenaire CSP travaillant pour le compte d’un locataire, spécifiez le client en tant que locataire. Utilisez son ID locataire ou son nom de domaine principal. Par exemple Connect-AzAccount -Tenant « fabrikam.com » .
Associez l’abonnement que vous souhaitez utiliser avec le compte, car un compte peut compter plusieurs abonnements :
Select-AzSubscription -SubscriptionName $SubscriptionName
Si vous utilisez le service Sauvegarde Azure pour la première fois, utilisez la cmdlet Register-AzResourceProvider afin d'associer le fournisseur Azure Recovery Service à votre abonnement :
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
Vérifiez que les fournisseurs ont été correctement inscrits :
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
Dans la sortie de commande, vérifiez que RegistrationState a maintenant la valeur Inscrit. Si ce n’est pas ce cas, réexécutez la cmdlet Register-AzResourceProvider.
Créer un coffre Recovery Services
Le coffre Recovery Services étant une ressource Resource Manager, vous devez le placer dans un groupe de ressources. Vous pouvez utiliser un groupe de ressources existant ou en créer un à l'aide de la cmdlet New-AzResourceGroup. Lorsque vous créez un groupe de ressources, spécifiez son nom et son emplacement.
Pour créer un coffre Recovery Services, procédez comme suit :
Si vous n’avez pas de groupe de ressources, créez-en un à l'aide de la cmdlet New-AzResourceGroup. Dans l’exemple suivant, nous créons un groupe de ressources dans la région USA Ouest.
New-AzResourceGroup -Name "test-rg" -Location "West US"
Utilisez la cmdlet New-AzRecoveryServicesVault pour créer le coffre. Pour le coffre, spécifiez le même emplacement que celui utilisé pour le groupe de ressources.
New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
Afficher les coffres dans un abonnement
Pour afficher tous les coffres de l'abonnement, utilisez Get-AzRecoveryServicesVault :
Get-AzRecoveryServicesVault
Le résultat ressemble à ce qui suit. Notez que la sortie fournit le groupe de ressources et l’emplacement associés.
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
Définir le contexte du coffre
Stockez l’objet de coffre dans une variable et définissez le contexte du coffre.
Étant donné que de nombreuses cmdlets Sauvegarde Azure exigent l’objet de coffre Recovery Services en tant qu’entrée, il est judicieux de le stocker dans une variable.
Le contexte du coffre spécifie le type de données protégées dans le coffre. Définissez-le à l'aide de Set-AzRecoveryServicesVaultContext. Une fois le contexte défini, il s’applique à toutes les cmdlets suivantes.
L’exemple suivant définit le contexte pour le coffre testvault :
Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext
Récupérer l’ID de coffre
Conformément aux instructions d’Azure PowerShell, nous envisageons de déprécier la définition du contexte de coffre. À la place, vous pouvez stocker ou récupérer l’ID du coffre et le transmettre aux commandes appropriées. Si vous n’avez pas défini le contexte du coffre ou si vous souhaitez spécifier la commande à exécuter pour un coffre donné, transmettez l’ID du coffre sous la forme -vaultID
dans toutes les commandes concernées :
$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID
Configurer une stratégie de sauvegarde
Une stratégie de sauvegarde spécifie la planification des sauvegardes et la durée de conservation des points de récupération de sauvegarde.
Une stratégie de sauvegarde est associée à au moins une stratégie de rétention. Une stratégie de rétention définit la durée de conservation d’un point de restauration avant sa suppression. Vous pouvez configurer des sauvegardes avec une rétention quotidienne, hebdomadaire, mensuelle ou annuelle. Avec plusieurs stratégies de sauvegarde, vous pouvez également configurer la rétention horaire des sauvegardes.
Important
Les cmdlets suivantes sont utilisées pour les stratégies de sauvegarde :
- Visualisez la rétention de la stratégie de sauvegarde par défaut en utilisant
Get-AzRecoveryServicesBackupRetentionPolicyObject
. - Visualisez la planification de la stratégie de sauvegarde par défaut en utilisant
Get-AzRecoveryServicesBackupSchedulePolicyObject
. - Créez une stratégie de sauvegarde en utilisant
New-AzRecoveryServicesBackupProtectionPolicy
. Fournissez les objets de stratégie de planification et de rétention en tant qu’entrées.
Pour créer une stratégie de sauvegarde qui configure plusieurs sauvegardes par jour, procédez comme suit :
Récupérez l’objet de stratégie de planification à l’aide de la cmdlet suivante :
$schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly $schPol
Le résultat ressemble à ce qui suit :
ScheduleRunFrequency : Hourly ScheduleRunDays : ScheduleRunTimes : ScheduleInterval : 8 ScheduleWindowStartTime : 12/22/2021 8:00:00 AM ScheduleWindowDuration : 16 ScheduleRunTimeZone : India Standard Time
Définissez les différents paramètres de la planification selon vos besoins.
$schpol.ScheduleInterval=4 $schpol.ScheduleWindowDuration=12
La configuration précédente vous aide à planifier 4 sauvegardes par jour dans une fenêtre de 8h00 – 20h00 (8h00 + 12 heures). Vous pouvez également définir le fuseau horaire comme indiqué dans la cmdlet suivante :
$timeZone= $timeZone=Get-TimeZone -ListAvailable |Where-Object{$_.Id-match "Russia Time Zone 11"} $schPol.ScheduleRunTimeZone=$timeZone.Id
Pour créer une stratégie avec une planification quotidienne, exécutez la cmdlet suivante :
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z" $UtcTime = $UtcTime.ToUniversalTime() $schpol.ScheduleRunTimes[0] = $UtcTime
Récupérez l’objet de stratégie de rétention à l’aide de la cmdlet suivante :
$retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
Définissez les valeurs de rétention selon vos besoins.
$retPol.DailySchedule.DurationCountInDays=15
Créez une nouvelle stratégie de sauvegarde à l'aide de New-AzRecoveryServicesBackupProtectionPolicy.
Vous pouvez transmettre les objets de stratégie de planification et de rétention définis précédemment sous la forme d’entrées.
New-AzRecoveryServicesBackupProtectionPolicy -Name "FilesPolicytesting" -WorkloadType AzureFiles -RetentionPolicy $retpol -SchedulePolicy $schpol
Le résultat affiche la configuration de la stratégie :
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
Activer la sauvegarde
Après avoir défini la stratégie de sauvegarde, vous pouvez l’utiliser pour activer la protection du partage de fichiers Azure.
Récupérer une stratégie de sauvegarde
Récupérez l’objet de stratégie approprié à l'aide de Get-AzRecoveryServicesBackupProtectionPolicy. Utilisez cette cmdlet pour afficher les stratégies associées à un type de charge de travail ou pour obtenir une stratégie spécifique.
Récupérer une stratégie pour un type de charge de travail
L’exemple suivant permet de récupérer des stratégies pour le type de charge de travail AzureFiles :
Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"
Le résultat ressemble à ce qui suit :
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
dailyafs AzureFiles AzureStorage 1/10/2018 12:30:00 AM
Notes
Le fuseau horaire du champ BackupTime dans PowerShell se présente au format UTC. Lorsque l’heure de sauvegarde s’affiche dans le portail Azure, elle est alignée sur votre fuseau horaire.
Récupérer une stratégie spécifique
La stratégie suivante récupère la stratégie de sauvegarde intitulée dailyafs :
$afsPol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"
Activer la protection et appliquer la stratégie
Activez la protection à l'aide de Enable-AzRecoveryServicesBackupProtection. Une fois la stratégie associée au coffre, les sauvegardes sont déclenchées conformément à la planification de la stratégie.
L’exemple suivant active la protection du partage de fichiers Azure testAzureFS dans le compte de stockage testStorageAcct, avec la stratégie dailyafs :
Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol
La commande attend que le travail de configuration de la protection soit terminé et produit une sortie similaire à celle illustrée dans l'exemple suivant :
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
Pour plus d’informations sur l’obtention d’une liste de partages de fichiers pour un compte de stockage, consultez cet article.
Remarque importante : Identification de l’élément de sauvegarde
Cette section décrit un changement important en termes de sauvegardes de partages de fichiers Azure pour préparer la mise à la disposition générale.
Lors de l’activation d'une sauvegarde pour partages de fichiers Azure, l’utilisateur fournit un nom de partage de fichiers du client comme nom d’entité ; un élément de sauvegarde est alors créé. Le nom de l’élément de sauvegarde est un identificateur unique créé par le service Sauvegarde Azure. En général, l’identificateur correspond à un nom convivial. Cependant, pour gérer le scénario des suppressions réversibles, où un partage de fichiers peut être supprimé et un autre partage de fichiers créé avec le même nom, l’identité unique d'un partage de fichiers Azure correspond désormais à un ID.
Pour connaître l’ID unique de chaque élément, exécutez la commande Get-AzRecoveryServicesBackupItem avec les filtres appropriés pour backupManagementType et WorkloadType afin d'obtenir tous les éléments pertinents. Observez ensuite le champ de nom dans la réponse/l’objet PowerShell retourné.
Nous vous recommandons de lister les éléments, puis de récupérer leur nom unique dans le champ de nom de la réponse. Utilisez cette valeur pour filtrer les éléments avec le paramètre Name. Sinon, utilisez le paramètre FriendlyName pour récupérer l’élément avec son ID.
Important
Assurez-vous que PowerShell est mis à niveau vers la version minimale (Az. RecoveryServices 2.6.0) pour les sauvegardes des partages de fichiers Azure. Avec cette version, le filtre FriendlyName est disponible pour la commande Get-AzRecoveryServicesBackupItem.
Passez le nom du partage de fichiers Azure au paramètre FriendlyName. Si vous passez le nom du partage de fichiers Azure au paramètre Name, cette version génère un avertissement indiquant de passer ce nom au paramètre FriendlyName.
Si vous n’installez pas cette version minimale, vous risquez de provoquer un échec des scripts existants. Installez la version minimale de PowerShell à l'aide de la commande suivante :
Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
Déclencher une sauvegarde à la demande
Utilisez Backup-AzRecoveryServicesBackupItem pour exécuter une sauvegarde à la demande pour un partage de fichiers Azure protégé :
- Récupérez le compte de stockage auprès du conteneur dans le coffre qui contient vos données de sauvegarde à l'aide de Get-AzRecoveryServicesBackupContainer.
- Pour démarrer un travail de sauvegarde, obtenez des informations sur le partage de fichiers Azure à l'aide de Get-AzRecoveryServicesBackupItem.
- Exécutez une sauvegarde à la demande à l'aide de Backup-AzRecoveryServicesBackupItem.
Exécutez la sauvegarde à la demande comme suit :
$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job = Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem
La commande retourne un travail avec un ID à suivre, comme indiqué dans l’exemple suivant :
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
Les instantanés de partage de fichiers Azure sont utilisés lors des sauvegardes. Le travail est généralement terminé au moment où la commande retourne cette sortie.
Étapes suivantes
- Apprenez-en davantage sur la sauvegarde Azure Files dans le portail Azure.
- Reportez-vous à l’exemple de script sur GitHub pour utiliser un runbook Azure Automation afin de planifier des sauvegardes.