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.
- Une VM ajoutée à la main : chaque nouvelle VM oblige à modifier le job. Un oubli, et elle n'est jamais sauvegardée.
- Un job sur un hôte ESXi : DRS déplace une VM sur un autre hôte avec vMotion, et elle sort du job sans prévenir.
- Un job sur un datastore : une VM dont les disques sont sur deux datastores, présents dans deux jobs, est sauvegardée deux fois.
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.
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.
| Notion | En anglais | À quoi ça sert |
|---|---|---|
| Catégorie | Category | Regroupe des tags de même nature. Exemple : « Sauvegarde ». |
| Tag | Tag | La valeur posée sur l'objet. Exemple : « Backup-Or ». |
| Balises par objet | Tags Per Object : One tag / Many tags | Avec « 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 associables | Associable Object Types | Sur quoi on peut poser le tag. On limite à « Machine virtuelle » pour éviter les surprises (voir les pièges). |
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 ».
| Tag | Pour quelles VM | Fréquence RPO | Conservation Retention | En plus |
|---|---|---|---|---|
| Backup-Or | Bases de données, ERP, applis critiques | Toutes les 4 h | 30 jours + 12 mensuelles | Copie hors site immuable, test SureBackup |
| Backup-Argent | Serveurs de fichiers, contrôleurs de domaine, messagerie | Chaque nuit | 14 jours + 6 mensuelles | Copie hors site |
| Backup-Bronze | Outils internes, serveurs faciles à reconstruire | Chaque nuit | 7 jours | – |
| NoBackup | VM de test, VM jetables, templates | – | – | Exclusion volontaire et documentée |
4.Créer la catégorie et les tags
Dans le client vSphere
- Menu → Tags & Custom Attributes → onglet Categories → New.
- Nom :
Sauvegarde. Tags Per Object : One tag. Associable Object Types : coche uniquement Virtual Machine. - Onglet Tags → New, une fois pour chaque tag :
Backup-Or,Backup-Argent,Backup-Bronze,NoBackup, dans la catégorie Sauvegarde.
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
6.Construire les jobs Veeam
- 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.
- Crée le job : Home → Backup Job → Virtual machine → VMware vSphere, nomme-le
Job-Backup-Or. - À l'étape Virtual Machines, clique sur Add. En haut de la fenêtre, change de vue avec le bouton VMs and Tags.
- Déplie le vCenter puis la catégorie
Sauvegarde, sélectionneBackup-Oret valide avec Add. - Règle le reste du job selon la politique (rétention, GFS, planification, copie). Répète pour Argent et Bronze.
▾ Sauvegarde
Backup-Or
Backup-Argent
Backup-Bronze
NoBackup
Ce qui se passe à chaque lancement
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
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
10.Checklist de mise en place
- Les niveaux de service sont définis : fréquence, conservation, copie, et quelles VM vont où.
- La catégorie « Sauvegarde » est créée en « One tag », uniquement pour les Virtual Machines.
- Les tags Or, Argent, Bronze et NoBackup sont créés.
- Toutes les VM existantes ont un tag (le script de contrôle ne renvoie rien).
- Le vCenter est ajouté dans Veeam et se résout en DNS dans les deux sens.
- Un job par tag est créé, sélectionné dans la vue « VMs and Tags ».
- Le job attrape-tout est en place, avec les 4 tags en exclusion.
- Le contrôle quotidien des VM sans tag est planifié (mail ou Centreon).
- Le vCenter est sauvegardé, et les tags sont exportés régulièrement.
- Les droits de modification des tags sont limités.
- La procédure de création d'une VM inclut l'étape « poser le tag de sauvegarde ».