Ctrl+Alt+Infra
← Tous les tutos
Tuto · Veeam + VMware

Sauvegarder ses VM avec les tags vSphere et Veeam

Plus besoin de modifier tes jobs Veeam à chaque nouvelle VM : tu poses un tag dans vCenter, et la VM est sauvegardée au prochain passage avec la bonne politique.

Niveau : intermédiaireLecture : 15 min

1.Le problème des jobs « classiques »

Dans un job Veeam, on choisit souvent les VM une par une, ou par conteneur : un hôte ESXi, un dossier, un datastore. Ça marche… jusqu'au jour où l'infrastructure bouge.

Ces deux derniers cas sont d'ailleurs cités par Veeam dans ses bonnes pratiques. Les tags règlent le problème : la sélection ne dépend plus de où se trouve la VM, mais de ce qu'elle est.

Avant : job sur un hôte ESXi Après : job sur un tag Job Veeam ESXi-01 ESXi-02 VM-APP01 VM-WEB01 VM-SQL01 DRS déplace VM-SQL01 avec vMotion… … elle n'est plus sauvegardée Job Veeam Backup-Or ESXi-01 ESXi-02 VM-APP01 ● VM-SQL01 ● La VM garde son tag où qu'elle soit Toujours sauvegardée
Un job basé sur l'emplacement perd les VM qui bougent. Un job basé sur un tag suit la VM partout dans le vCenter.

2.Un tag vSphere, c'est quoi ?

Un tag (tag, « balise » dans la console en français) est une étiquette que vCenter colle sur un objet de l'inventaire : une VM, un hôte, un datastore, un dossier… Chaque tag appartient à une catégorie.

NotionEn anglaisÀ quoi ça sert
CatégorieCategoryRegroupe des tags de même nature. Exemple : « Sauvegarde ».
TagTagLa valeur posée sur l'objet. Exemple : « Backup-Or ».
Balises par objetTags Per Object : One tag / Many tagsAvec « Une seule balise », vCenter empêche de poser deux tags de la même catégorie sur une VM. C'est ce qu'on veut pour la sauvegarde.
Types d'objets associablesAssociable Object TypesSur quoi on peut poser le tag. On limite à « Machine virtuelle » pour éviter les surprises (voir les pièges).
Bon à savoirLes tags sont stockés dans la base du vCenter, pas dans les fichiers de la VM. Il faut donc un vCenter : un ESXi seul ne gère pas les tags.
Catégorie « Sauvegarde » Une seule balise par VM Backup-Or Backup-Argent Backup-Bronze NoBackup SQL-PROD01 ERP-APP01 SRV-FICHIERS DC01, DC02 SRV-IMPRESSION GLPI, Centreon VM-TEST-* Templates Job Ortoutes les 4 h · 30 j+ GFS · copie immuable Job Argentchaque nuit · 14 j+ GFS mensuel Job Bronzechaque nuit · 7 j Aucun jobexclusion volontaire Chaque VM porte un seul tag de la catégorie, et chaque tag correspond à un job Veeam.
Le principe : une catégorie, un tag par niveau de service, un job Veeam par tag.

3.Concevoir sa politique de tags

Avant de cliquer, décide ce que chaque tag veut dire. Un bon nom de tag décrit le niveau de service, pas une technique : « Backup-Or » ou « Backup – RPO 4 h » plutôt que « Tag1 ».

TagPour quelles VMFréquence
RPO
Conservation
Retention
En plus
Backup-OrBases de données, ERP, applis critiquesToutes les 4 h30 jours + 12 mensuellesCopie hors site immuable, test SureBackup
Backup-ArgentServeurs de fichiers, contrôleurs de domaine, messagerieChaque nuit14 jours + 6 mensuellesCopie hors site
Backup-BronzeOutils internes, serveurs faciles à reconstruireChaque nuit7 jours–
NoBackupVM de test, VM jetables, templates––Exclusion volontaire et documentée
Pourquoi un tag « NoBackup » ?Pour distinguer « cette VM n'est pas sauvegardée parce qu'on l'a décidé » de « cette VM n'est pas sauvegardée parce qu'on l'a oubliée ». Toute VM sans aucun tag de la catégorie devient alors une anomalie à traiter.

4.Créer la catégorie et les tags

Dans le client vSphere

  1. Menu → Tags & Custom Attributes → onglet Categories → New.
  2. Nom : Sauvegarde. Tags Per Object : One tag. Associable Object Types : coche uniquement Virtual Machine.
  3. Onglet Tags → New, une fois pour chaque tag : Backup-Or, Backup-Argent, Backup-Bronze, NoBackup, dans la catégorie Sauvegarde.
Create Category vSphere Client
Category NameSauvegarde
DescriptionPolitique de sauvegarde Veeam
Tags Per ObjectOne tagMany tags
Associable Object TypesVirtual MachineFolderHostDatastore
CancelCreate

Ou en PowerCLI, en 2 lignes

# Catégorie : un seul tag de sauvegarde par VM, uniquement sur des VM
New-TagCategory -Name "Sauvegarde" -Cardinality Single -EntityType VirtualMachine -Description "Politique de sauvegarde Veeam"
"Backup-Or", "Backup-Argent", "Backup-Bronze", "NoBackup" | ForEach-Object { New-Tag -Name $_ -Category "Sauvegarde" }

5.Poser les tags sur les VM

À l'unité : clic droit sur la VM → Tags & Custom Attributes → Assign Tag → choisis le tag. Pour un parc existant, PowerCLI va beaucoup plus vite :

# Récupérer les tags une fois
$Or     = Get-Tag -Name "Backup-Or"     -Category "Sauvegarde"
$Argent = Get-Tag -Name "Backup-Argent" -Category "Sauvegarde"

# Toutes les VM dont le nom commence par SQL
Get-VM -Name "SQL*" | New-TagAssignment -Tag $Or

# Toutes les VM d'un dossier
Get-Folder -Name "Infrastructure" | Get-VM | New-TagAssignment -Tag $Argent

# Changer le niveau d'une VM : retirer l'ancien tag, poser le nouveau
Get-TagAssignment -Entity "ERP-APP01" -Category "Sauvegarde" | Remove-TagAssignment -Confirm:$false
New-TagAssignment -Entity (Get-VM "ERP-APP01") -Tag $Or

# Combien de VM par tag ?
Get-TagAssignment -Category "Sauvegarde" | Group-Object { $_.Tag.Name } | Select-Object Name, Count
Pose le tag sur la VM, pas sur le dossierSi tu tagues un dossier, un hôte ou un cluster, Veeam considère que toutes les VM qu'il contient portent ce tag. C'est pour ça qu'on a limité la catégorie au type « Virtual Machine ».

6.Construire les jobs Veeam

  1. Le vCenter doit être ajouté dans Veeam (Inventory → Add Server → VMware vSphere), pas les ESXi un par un. Son nom complet (FQDN) doit se résoudre en DNS dans les deux sens depuis le serveur Veeam.
  2. Crée le job : Home → Backup Job → Virtual machine → VMware vSphere, nomme-le Job-Backup-Or.
  3. À l'étape Virtual Machines, clique sur Add. En haut de la fenêtre, change de vue avec le bouton VMs and Tags.
  4. Déplie le vCenter puis la catégorie Sauvegarde, sélectionne Backup-Or et valide avec Add.
  5. Règle le reste du job selon la politique (rétention, GFS, planification, copie). Répète pour Argent et Bronze.
Add Objects Veeam Backup & Replication
Hosts and ClustersVMs and TemplatesDatastores and VMsVMs and TagsTags combination
▾ vcenter.domaine.local
  ▾ Sauvegarde
     Backup-Or
     Backup-Argent
     Backup-Bronze
     NoBackup
Vue « VMs and Tags » : un seul tag par sélection. Vue « Tags combination » : plusieurs tags, seules les VM qui les portent tous sont prises.
CancelAdd

Ce qui se passe à chaque lancement

1 Nouvelle VMcréée par l'équipeou par un script 2 Tag poséBackup-Or 3 Le job démarreVeeam demande au vCenter« qui porte Backup-Or ? » 4 VM sauvegardéesans avoir touchéau job Veeam La liste des VM est recalculée à chaque exécution du job.
Une fois les jobs créés, protéger une nouvelle VM se résume à lui poser le bon tag.

Aller plus loin : la combinaison de tags

Avec la vue Tags combination, un job ne prend que les VM qui portent tous les tags choisis. Exemple : une deuxième catégorie « Application » avec un tag SQL. Le job Backup-Or + SQL active la sauvegarde des journaux de transactions, et le job Backup-Or classique exclut le tag SQL. Chaque VM est bien traitée une seule fois, avec les bonnes options.

7.Le filet de sécurité : ne jamais laisser une VM sans tag

C'est le point faible de la méthode : une VM sans tag n'est dans aucun job, et rien ne le signale. Il faut donc deux protections.

Protection 1 : un job « attrape-tout »

Crée un job Job-Filet-Securite qui sélectionne le cluster (ou le datacenter) entier, et ajoute en Exclusions les quatre tags de la catégorie Sauvegarde. Toute VM oubliée est alors sauvegardée avec une politique par défaut, en attendant qu'on lui pose le bon tag. Si ce job sauvegarde quelque chose, c'est qu'il y a une VM à classer.

Protection 2 : un contrôle quotidien

# VM qui n'ont aucun tag de la catégorie Sauvegarde
$Taguees = (Get-TagAssignment -Category "Sauvegarde").Entity.Name
Get-VM | Where-Object { $Taguees -notcontains $_.Name } |
    Select-Object Name, Folder, PowerState, @{ n = 'Cree'; e = { $_.ExtensionData.Config.CreateDate } } |
    Sort-Object Name | Format-Table -AutoSize

Planifie ce script chaque matin et envoie le résultat par mail, ou crée un service de supervision Centreon qui passe en alerte dès qu'une VM sort de la liste. Veeam ONE propose aussi des rapports sur les VM non protégées.

8.Intérêts et inconvénients

Les intérêts

  • Automatique : une VM taguée entre dans le job au prochain lancement, sans modifier le job.
  • Indépendant de l'emplacement : vMotion, DRS, Storage vMotion ou changement de dossier ne sortent plus une VM de sa sauvegarde.
  • Lisible : le niveau de service est visible directement sur la VM dans vCenter.
  • Délégable : une équipe applicative peut choisir le niveau de ses VM sans accès à Veeam.
  • Automatisable : le tag peut être posé à la création de la VM (script, Terraform, outil de provisionnement) ou par Veeam ONE Business View.
  • Moins de jobs : un job par niveau de service, au lieu d'un job par application ou par serveur.

Les inconvénients

  • Oubli silencieux : une VM sans tag n'est pas sauvegardée, et rien ne le signale sans filet de sécurité.
  • Erreur de tag = mauvaise politique : une base critique taguée « Bronze » n'est gardée que 7 jours.
  • Héritage : un tag posé sur un dossier ou un hôte s'applique, pour Veeam, à toutes les VM qu'il contient.
  • Doubles sauvegardes : une VM qui correspond à deux jobs (deux catégories différentes, par exemple) est sauvegardée deux fois.
  • Dépendance au vCenter : les tags vivent dans sa base. vCenter arrêté au lancement du job, réinstallé sans sauvegarde, ou VM déplacée vers un autre vCenter : la sélection est perdue.
  • Moins visible dans Veeam : le job affiche un tag, pas la liste des VM. Il faut consulter les rapports de session.
  • Réglages communs : toutes les VM d'un tag ont les mêmes options de job. Une VM aux besoins particuliers demande son propre tag ou une combinaison.
  • Sécurité : qui peut modifier un tag peut sortir une VM de la sauvegarde. Il faut limiter ce droit.

9.Les pièges en images

1 La VM oubliée VM-NOUVELLE aucun tag dans aucun job Parade : job attrape-tout + contrôle quotidien 2 Le dossier tagué Dossier « Test » Bronze VM-TEST01 SQL-PROD01 (Or) sauvegardée par 2 jobs Parade : catégorie limitée au type « Virtual Machine » 3 Le vCenter perdu vCenterréinstallé à neuf tags disparus, jobs vides Parade : sauvegarde du vCenter + export des tags (CSV)
Les trois situations qui font perdre une sauvegarde sans erreur visible dans Veeam.

Pour le piège 3, active la sauvegarde du vCenter (sauvegarde par fichiers depuis l'interface VAMI, sur le port 5480), et exporte régulièrement les affectations de tags :

Get-TagAssignment -Category "Sauvegarde" |
    Select-Object @{ n = 'VM'; e = { $_.Entity.Name } }, @{ n = 'Tag'; e = { $_.Tag.Name } } |
    Export-Csv -Path "C:\Scripts\tags-sauvegarde.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
Côté droitsLimite la possibilité de poser ou retirer des tags (privilèges vSphere Tagging) aux personnes qui en ont besoin, et garde une trace de qui modifie les tags. Le compte de service de Veeam, lui, doit seulement pouvoir les lire.

10.Checklist de mise en place

En résuméLes tags transforment la sauvegarde en politique : on décide une fois du niveau de service, et chaque VM le suit partout. Le prix à payer, c'est la discipline : sans filet de sécurité, une VM sans tag est une VM sans sauvegarde.