🛠 Outils IT
🛠 78 outils 📚 32 docs
🤖 Assistant

Veeam Backup & Replication

1. Installation

1.1 Prérequis matériels et logiciels

Avant d'installer Veeam Backup & Replication, vérifiez que votre serveur respecte les prérequis suivants :

  • OS supporté : Windows Server 2019, 2022 ou 2025 (64 bits). Windows 10/11 Pro pour les environnements lab.
  • CPU : Minimum 4 cores. Recommandé : 1 core par 10 jobs concurrents.
  • RAM : Minimum 4 Go. Recommandé : 4 Go + 500 Mo par job concurrent.
  • Disque : 5 Go minimum pour l'installation. Le catalogue guest file system index peut atteindre plusieurs dizaines de Go.
  • .NET Framework : .NET 4.7.2 ou supérieur (installé automatiquement).
  • SQL Server : PostgreSQL (par défaut depuis v12), SQL Server Express (inclus) ou SQL Server Standard/Enterprise.
  • Navigateur : Pour la console web Veeam Backup Enterprise Manager (optionnel).
Attention : Ne pas installer Veeam Backup & Replication sur un contrôleur de domaine Active Directory. Installez-le sur un serveur dédié membre du domaine ou en workgroup.

1.2 Téléchargement et licence

Rendez-vous sur https://www.veeam.com/downloads.html pour télécharger l'ISO d'installation. Deux types de licences sont disponibles :

  • Community Edition (gratuit) : Limite à 10 workloads (VM, serveurs physiques ou stations). Toutes les fonctionnalités sont incluses. Idéal pour les petites infrastructures et les labs.
  • Licences payantes :
    • VUL (Veeam Universal License) : Par workload, portable entre toutes les plateformes (VMware, Hyper-V, cloud, physique). C'est le modèle recommandé.
    • Per-socket : Ancien modèle, licencié par socket CPU de l'hôte. Toujours disponible pour les renouvellements.
Info : La Community Edition est la version complète sans limitation de fonctionnalités, uniquement limitée en nombre de workloads. Parfait pour démarrer.

1.3 Installation pas à pas

  1. Montez l'ISO Veeam et lancez Setup.exe
  2. Cliquez sur "Install Veeam Backup & Replication"
  3. Acceptez le contrat de licence
  4. Entrez la clé de licence ou choisissez "Install in the Community Edition mode"
  5. Sélectionnez les composants à installer :
    • Veeam Backup & Replication (obligatoire)
    • Veeam Backup Catalog (pour l'indexation des fichiers guest)
    • Veeam Backup & Replication Console
  6. Vérifiez les prérequis manquants. L'installeur propose de les installer automatiquement.
  7. Configurez le compte de service :
    • LOCAL SYSTEM : Option simple, convient pour la majorité des cas.
    • Compte de domaine dédié : Recommandé en production pour un contrôle granulaire des permissions.
  8. Configurez la base de données :
    • PostgreSQL (recommandé) : Installé localement par défaut.
    • SQL Server Express : Limité à 10 Go. Pour les gros environnements, utilisez SQL Server Standard.
    • SQL Server distant : Spécifiez le serveur et l'instance.
  9. Configurez le dossier de cache vPower NFS (pour Instant VM Recovery). Défaut : C:\ProgramData\Veeam\Backup\NfsDatastore
  10. Vérifiez le récapitulatif et lancez l'installation
Tip : Pour une installation silencieuse (unattended), utilisez la ligne de commande suivante :
msiexec /i "VeeamBackup.msi" /qn ACCEPTEULA="yes" VBR_LICENSE_FILE="C:\license.lic" VBR_SERVICE_USER="DOMAIN\svc-veeam" VBR_SERVICE_PASSWORD="P@ssw0rd" VBR_SQLSERVER_ENGINE="PostgreSQL"

1.4 Configuration post-installation

Après l'installation, ouvrez la console Veeam Backup & Replication et effectuez les configurations initiales :

  1. Vérifiez la licence : Menu Main Menu > License
  2. Configurez les notifications email : Main Menu > General Options > E-mail Settings
  3. Configurez le serveur SMTP et l'adresse de notification
  4. Ajustez les paramètres réseau : Main Menu > General Options > Network
  5. Configurez les règles de trafic réseau (throttling) si nécessaire

1.5 Mise à jour de Veeam

Les mises à jour sont distribuées sous forme de patchs cumulatifs. Pour mettre à jour :

  1. Téléchargez le dernier patch depuis le portail Veeam
  2. Arrêtez tous les jobs en cours
  3. Exécutez l'installeur du patch
  4. Le serveur Veeam met à jour automatiquement les composants distants (proxies, repositories)
Attention : Effectuez toujours une sauvegarde de la base de données de configuration Veeam avant une mise à jour. Menu Main Menu > Configuration Backup.

2. Architecture et composants

2.1 Composants principaux

L'architecture Veeam repose sur plusieurs composants clés :

Backup Server

Le cœur de l'infrastructure Veeam. C'est le serveur de management qui coordonne tous les jobs, gère la base de données de configuration et contrôle les composants distants. Il héberge également le service Veeam Backup Service (port TCP 9392).

Backup Proxy

Le composant de transport des données. Le proxy récupère les données depuis l'infrastructure de virtualisation et les transmet au repository. Modes de transport disponibles :

  • Direct storage access : Accès direct au stockage SAN (FC/iSCSI). Le plus performant.
  • Virtual appliance (HotAdd) : Le proxy est une VM, les disques de la VM source sont montés en hot-add. Recommandé pour vSAN et NFS.
  • Network (NBD/NBDSSL) : Les données transitent via le réseau de management ESXi. Mode de repli, le plus lent.

Backup Repository

Le stockage où sont enregistrées les sauvegardes. Peut être un serveur Windows, Linux, un partage SMB/NFS, un appliance de déduplication ou un stockage objet (S3, Azure Blob).

WAN Accelerator

Optimise le transfert de données entre sites distants pour les Backup Copy Jobs et les jobs de réplication. Utilise la déduplication globale, la compression et le caching.

Mount Server

Serveur utilisé pour monter les fichiers de sauvegarde lors des restaurations granulaires (fichiers individuels, items Exchange/SQL/AD). Par défaut, le Backup Server est aussi Mount Server.

Guest Interaction Proxy

Coordonne le traitement application-aware (troncature des logs SQL/Exchange, scripts pré/post sauvegarde) à l'intérieur des VM via les VMware Tools ou les services Hyper-V Integration.

2.2 Ports réseau requis

Les ports suivants doivent être ouverts dans votre firewall :

Backup Server

# Ports du Backup Server
TCP 9392  : Veeam Backup Service (console <-> serveur)
TCP 9393  : Veeam Backup Service (API RESTful)
TCP 9401  : Veeam Catalog Service
TCP 6160  : Veeam Installer Service (déploiement composants)
TCP 6162  : Veeam Data Mover (transport données)
TCP 2500-3300 : Plage dynamique pour le transport de données
TCP 49152-65535 : Plage dynamique RPC

Vers VMware vCenter / ESXi

TCP 443   : vCenter Server API (SDK)
TCP 443   : ESXi management (SOAP)
TCP 902   : ESXi I/O (NBD/NBDSSL transport)
TCP 6162  : Veeam Data Mover sur le proxy

Vers Hyper-V

TCP 445   : SMB (transfert données)
TCP 5985  : WinRM (HTTP)
TCP 5986  : WinRM (HTTPS)
TCP 6160  : Veeam Installer Service
TCP 6162  : Veeam Data Mover
Info : La liste complète des ports est disponible dans la documentation Veeam : https://helpcenter.veeam.com/docs/backup/vsphere/used_ports.html

2.3 Dimensionnement

Règles de dimensionnement pour un environnement de production :

  • Proxy : 1 core CPU + 2 Go RAM par task concurrente. Prévoir 1 task par disque VM sauvé simultanément.
  • Repository : 1 core CPU + 4 Go RAM par task concurrente. Prévoir 1 task par VM sauvée simultanément sur ce repository.
  • Espace disque : Calculez avec le Veeam Sizing Calculator. En général, prévoir 1,5x à 2x la taille des données source (avec dédup + compression).
  • WAN Accelerator : Prévoir 10 Go de cache disque par To de données source.
Tip : Utilisez le Veeam Best Practice Guide disponible sur https://bp.veeam.com pour un dimensionnement détaillé adapté à votre environnement.

3. Ajout d'infrastructure

3.1 Ajouter un vCenter Server

Pour ajouter un serveur VMware vCenter à Veeam :

  1. Ouvrez la console Veeam > Backup Infrastructure > Managed Servers
  2. Cliquez sur "Add Server" > "VMware vSphere" > "vCenter Server"
  3. Entrez le FQDN ou l'IP du vCenter (ex : vcenter.domain.local)
  4. Spécifiez les credentials (compte avec les permissions nécessaires)
  5. Veeam se connecte et découvre automatiquement tous les hôtes ESXi et les VM
Info : Le compte vCenter utilisé doit avoir au minimum les permissions suivantes : Datastore (Allocate space, Browse, Low level file operations), Network (Assign network), Resource (Assign VM to resource pool), Virtual Machine (toutes les permissions de Snapshot management, Guest operations, Interaction, Provisioning).

3.2 Ajouter un hôte ESXi standalone

Si vous n'avez pas de vCenter, vous pouvez ajouter un hôte ESXi directement :

  1. Backup Infrastructure > Managed Servers > "Add Server"
  2. Sélectionnez "VMware vSphere" > "ESXi host"
  3. Entrez l'IP ou le FQDN de l'hôte ESXi
  4. Fournissez les credentials root ou un compte à privilèges suffisants
Attention : En mode ESXi standalone (sans vCenter), certaines fonctionnalités sont limitées : pas de vMotion, pas de gestion centralisée, nombre limité de snapshots concurrents.

3.3 Ajouter un hôte Hyper-V

Veeam supporte également Microsoft Hyper-V :

  1. Backup Infrastructure > Managed Servers > "Add Server"
  2. Sélectionnez "Microsoft Hyper-V"
  3. Choisissez le type :
    • Standalone host : Serveur Hyper-V individuel
    • Cluster : Cluster Hyper-V (découvre tous les nœuds)
    • SCVMM : Via System Center Virtual Machine Manager
  4. Fournissez les credentials d'un compte administrateur local ou de domaine

3.4 Ajouter des serveurs physiques

Pour protéger des serveurs physiques Windows ou Linux, utilisez les Agents Veeam (voir section 8). La découverte se fait via :

  • Protection Groups : Définissez des groupes par Active Directory, plage IP ou CSV
  • Individual servers : Ajout manuel d'un serveur avec ses credentials

3.5 Gestion des credentials

Veeam stocke les credentials de manière centralisée et chiffrée dans sa base de données :

  1. Accédez à Main Menu > Manage Credentials
  2. Cliquez sur "Add" pour créer de nouveaux credentials
  3. Types supportés :
    • Standard account : Utilisateur/mot de passe classique
    • Linux private key : Authentification SSH par clé privée
    • Linux single-use credentials : Pour les environnements à sécurité renforcée
Tip : Créez des comptes de service dédiés pour Veeam avec le minimum de permissions requises. Évitez d'utiliser le compte Domain Admin.

4. Jobs de sauvegarde VM

4.1 Création d'un job de sauvegarde

Pour créer un nouveau job de sauvegarde de VM :

  1. Dans la console Veeam, allez dans "Home" > "Backup Job" > "VMware vSphere" (ou Hyper-V)
  2. Donnez un nom au job (ex : Backup-VM-Production-Daily)
  3. Ajoutez les VM ou containers (folder, resource pool, tag, datastore) à sauvegarder
  4. Choisissez le repository de destination
  5. Configurez les options avancées (voir ci-dessous)
  6. Définissez la planification

4.2 Modes de sauvegarde

Veeam propose plusieurs modes de sauvegarde :

  • Incremental (recommandé) : Seuls les blocs modifiés depuis la dernière sauvegarde sont copiés. Rapide et économe en espace.
  • Reverse Incremental : Le fichier Full est toujours à jour. Les points de restauration antérieurs sont stockés en reverse delta. Lent mais offre un restore instantané du dernier point.

Changed Block Tracking (CBT)

Le CBT est une fonctionnalité VMware/Hyper-V qui permet à Veeam d'identifier rapidement les blocs modifiés sans scanner tout le disque. Cela accélère considérablement les sauvegardes incrémentales.

# Vérifier l'état CBT d'une VM (PowerCLI)
Get-VM -Name "SRV-WEB01" | Get-View | Select Name, @{N='CBT';E={$_.Config.ChangeTrackingEnabled}}

# Activer le CBT manuellement (PowerCLI)
$vm = Get-VM -Name "SRV-WEB01"
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.changeTrackingEnabled = $true
$vm.ExtensionData.ReconfigVM_Task($spec)
Info : Veeam active automatiquement le CBT lors de la première sauvegarde si celui-ci est désactivé sur la VM.

4.3 Synthetic Full Backup

Au lieu de relire toutes les données depuis la source, Veeam synthétise un fichier Full à partir des sauvegardes incrémentales existantes. Avantages :

  • Pas d'impact sur la production (pas de lecture source)
  • Crée un nouveau point Full à partir des données déjà présentes dans le repository
  • Idéal pour les fenêtres de sauvegarde courtes

Configuration : Dans le job, onglet "Storage" > "Advanced" > cochez "Create synthetic full backups periodically" et choisissez le jour (ex : samedi).

4.4 Active Full Backup

Une sauvegarde Full classique qui relit toutes les données depuis la source. Plus longue mais crée un point de restauration indépendant. Recommandé périodiquement (ex : mensuel) pour garantir l'intégrité.

Configuration : Onglet "Storage" > "Advanced" > cochez "Create active full backups periodically".

4.5 Rétention

La rétention définit combien de points de restauration sont conservés :

  • Par nombre de points (défaut : 7) : Veeam conserve les N derniers points de restauration.
  • Par nombre de jours : Conserve les points des N derniers jours.
Attention : La rétention ne s'applique qu'après une exécution réussie du job. Si un job échoue pendant 5 jours, les anciens points ne sont pas supprimés.

4.6 Options avancées du job

Application-Aware Processing (AAIP)

Garantit la cohérence applicative des sauvegardes en utilisant VSS (Volume Shadow Copy) :

  • Tronque les logs de transaction (SQL Server, Exchange, Oracle)
  • Assure la cohérence des bases de données
  • Configuration : Onglet "Guest Processing" > cochez "Enable application-aware processing"

Guest File System Indexing

Crée un index du système de fichiers guest pour permettre la recherche et la restauration rapide de fichiers individuels :

  • Augmente légèrement le temps de sauvegarde
  • Stocke l'index dans le catalogue Veeam
  • Configuration : Onglet "Guest Processing" > cochez "Enable guest file system indexing"

Exclusions de disques

Excluez certains disques VM de la sauvegarde (ex : disque de swap, disque de données temporaires) :

  • Réduit la taille des sauvegardes et le temps d'exécution
  • Configuration : Sélectionnez la VM dans le job > "Edit" > "Exclusions"

4.7 Planification

Exemples de planifications courantes :

  • Quotidien : Tous les jours à 22h00 (incrémental)
  • Synthetic Full hebdomadaire : Samedi à 02h00
  • Active Full mensuel : 1er du mois à 01h00
  • Fenêtre de sauvegarde : Définir une fenêtre autorisée (ex : 20h-06h) pour éviter les impacts en heures ouvrées
Tip : Utilisez le paramètre "Retry failed VM processing" (3 tentatives par défaut) pour gérer les échecs transitoires (snapshot locké, réseau temporairement indisponible).

5. Backup Copy Job

5.1 Principe

Un Backup Copy Job copie les sauvegardes existantes vers un second repository (local ou distant). C'est la pièce maîtresse de la règle 3-2-1 :

  • Fonctionne de manière asynchrone par rapport au job de sauvegarde principal
  • Lit les données depuis le repository source (pas depuis la production)
  • Supporte les WAN Accelerators pour les copies inter-sites
  • Supporte la rétention GFS

5.2 Création d'un Backup Copy Job

  1. Menu "Home" > "Backup Copy" > "VMware vSphere"
  2. Nommez le job (ex : BCopy-Production-DR-Site)
  3. Choisissez le mode de copie :
    • Immediate copy : Copie dès qu'un nouveau point de restauration est créé
    • Periodic copy : Copie à intervalles définis
  4. Sélectionnez les jobs ou les VM sources
  5. Choisissez le repository cible
  6. Configurez la rétention (voir GFS ci-dessous)

5.3 Rétention GFS (Grandfather-Father-Son)

Le schéma GFS permet de conserver des points de restauration à long terme :

  • Daily (Son) : Conserve les N derniers points journaliers
  • Weekly (Father) : Conserve un point par semaine (ex : celui du vendredi)
  • Monthly (Grandfather) : Conserve un point par mois (ex : le 1er de chaque mois)
  • Yearly : Conserve un point par an (ex : le 1er janvier)

Exemple de rétention GFS typique :

# Rétention GFS recommandée
Daily   : 7 points   (1 semaine de points journaliers)
Weekly  : 4 points   (1 mois de points hebdomadaires)
Monthly : 12 points  (1 an de points mensuels)
Yearly  : 3 points   (3 ans de points annuels)
Tip : La rétention GFS est particulièrement utile pour répondre aux exigences réglementaires de conservation des données (RGPD, conformité financière).

5.4 Immutabilité

L'immutabilité empêche la modification ou la suppression des sauvegardes pendant une période définie. Deux approches :

  • Linux Hardened Repository : Utilise les attributs immutables du système de fichiers Linux (chattr +i). Veeam définit automatiquement l'immutabilité.
  • Object Storage (S3 Object Lock) : Utilise le verrouillage natif S3 en mode Compliance ou Governance.
Attention : L'immutabilité sur un Hardened Repository nécessite un serveur Linux avec un compte non-root pour le service Veeam. Le compte root ne doit pas être utilisé par Veeam pour éviter le contournement de l'immutabilité.

6. Réplication

6.1 Principe de la réplication

La réplication crée et maintient une copie (replica) d'une VM sur un hôte de destination. Le replica est une VM éteinte, prête à démarrer en cas de sinistre. Différences avec la sauvegarde :

  • Sauvegarde : Fichier compressé sur un repository. Restauration nécessaire avant utilisation.
  • Replica : VM prête à démarrer immédiatement sur l'hôte cible. RPO et RTO minimaux.

6.2 Création d'un job de réplication

  1. Menu "Home" > "Replication Job" > "VMware vSphere"
  2. Nommez le job (ex : Replica-VM-Critiques-SiteDR)
  3. Ajoutez les VM à répliquer
  4. Sélectionnez l'hôte ESXi de destination, le datastore et le dossier
  5. Configurez le mapping réseau (Re-IP rules si les réseaux diffèrent)
  6. Définissez la rétention des points de restauration du replica (défaut : 7)
  7. Planifiez le job

6.3 Re-IP Rules

Si le site de destination a un plan d'adressage différent, configurez des règles Re-IP :

# Exemple de Re-IP Rule
Source Network : 192.168.1.0/24
Target Network : 10.0.1.0/24

# Mapping : 192.168.1.10 -> 10.0.1.10
# Le dernier octet est conservé

Configuration : Dans le job de réplication, étape "Guest Processing" > "Re-IP" > "Add rule".

6.4 Failover

En cas de sinistre, le failover bascule vers le replica :

Failover standard

  1. Allez dans "Home" > "Replicas" > "Ready"
  2. Cliquez-droit sur le replica > "Failover Now"
  3. Choisissez le point de restauration souhaité
  4. La VM source est éteinte (si accessible) et le replica démarre

Planned Failover

Un failover planifié assure zéro perte de données. Veeam effectue une dernière synchronisation avant le basculement :

  1. Cliquez-droit sur le replica > "Planned Failover"
  2. Veeam arrête la VM source, effectue une incrémentale finale, puis démarre le replica

6.5 Failback

Une fois le sinistre résolu, retournez à l'infrastructure d'origine :

  1. Cliquez-droit sur le replica en état "Failover" > "Failback to production"
  2. Choisissez la destination :
    • Original VM : Retour sur la VM d'origine (incrémental, rapide)
    • Different location : Vers un nouvel emplacement
  3. Veeam synchronise les changements du replica vers la production
  4. Publiez le failback : "Commit Failback"
Tip : Testez régulièrement vos procédures de failover/failback dans un environnement isolé pour valider votre PRA (Plan de Reprise d'Activité).

7. Restauration

7.1 Restauration complète de VM

Pour restaurer une VM entière depuis une sauvegarde :

  1. Allez dans "Home" > "Backups" > "Disk"
  2. Développez le job et sélectionnez la VM
  3. Cliquez-droit > "Restore entire VM"
  4. Choisissez le point de restauration
  5. Options de restauration :
    • Restore to the original location : Écrase la VM existante
    • Restore to a new location : Restaure vers un autre hôte/datastore/nom
  6. Optionnel : Cochez "Quick rollback" pour ne restaurer que les blocs différents (beaucoup plus rapide)

7.2 Instant VM Recovery

L'Instant VM Recovery est la fonctionnalité phare de Veeam. Elle démarre une VM directement depuis le fichier de sauvegarde sans restauration préalable :

  1. Cliquez-droit sur la VM sauvée > "Instant Recovery" > "VMware vSphere"
  2. Choisissez le point de restauration
  3. Sélectionnez l'hôte ESXi, le resource pool et le dossier
  4. La VM démarre en quelques secondes via le datastore vPower NFS
  5. Une fois validée, migrez la VM vers le stockage de production via Storage vMotion
Info : L'Instant VM Recovery utilise le datastore vPower NFS du serveur Veeam pour présenter les fichiers de sauvegarde comme un datastore NFS à ESXi. Les écritures de la VM sont redirigées vers un fichier delta.

7.3 Restauration de fichiers individuels

Windows Guest OS

  1. Cliquez-droit sur la VM > "Restore guest files" > "Microsoft Windows"
  2. Choisissez le point de restauration
  3. Le File Level Restore Browser s'ouvre et présente le système de fichiers de la VM
  4. Naviguez, sélectionnez les fichiers/dossiers à restaurer
  5. Choisissez : "Restore" (emplacement d'origine), "Copy To" (autre emplacement), ou "Save" (télécharger)

Linux Guest OS

  1. Cliquez-droit sur la VM > "Restore guest files" > "Linux and other"
  2. Veeam démarre un helper appliance (petite VM Linux) qui monte les disques
  3. Un navigateur web s'ouvre pour parcourir les fichiers
  4. Supporte ext2/3/4, XFS, Btrfs, ReiserFS et d'autres systèmes de fichiers Linux

7.4 Item-Level Recovery (Application Items)

Microsoft Exchange

Restauration granulaire d'emails, contacts, calendriers depuis une sauvegarde :

  1. Cliquez-droit sur la VM Exchange > "Restore application items" > "Microsoft Exchange"
  2. L'Explorer Veeam pour Exchange s'ouvre
  3. Parcourez les boîtes aux lettres et sélectionnez les éléments à restaurer
  4. Options : Restaurer vers l'Exchange d'origine, exporter en PST, envoyer par email

Microsoft SQL Server

  1. Cliquez-droit sur la VM SQL > "Restore application items" > "Microsoft SQL Server"
  2. L'Explorer SQL s'ouvre et liste les bases de données
  3. Restaurez une base complète, des tables individuelles ou exécutez des requêtes sur la sauvegarde

Active Directory

  1. Cliquez-droit sur la VM DC > "Restore application items" > "Microsoft Active Directory"
  2. L'Explorer AD s'ouvre et affiche la structure AD sauvée
  3. Comparez avec l'AD de production et restaurez les objets supprimés ou modifiés (utilisateurs, groupes, OU, GPO)

Oracle

  1. Cliquez-droit sur la VM Oracle > "Restore application items" > "Oracle"
  2. Restaurez des bases de données complètes ou des tablespaces individuels
  3. Supporte le Point-in-Time Recovery via les archived redo logs
Tip : Pour que les restaurations applicatives fonctionnent, assurez-vous que l'Application-Aware Processing est activé dans le job de sauvegarde et que les credentials guest sont configurés.

8. Agents Veeam

8.1 Présentation

Les Agents Veeam protègent les machines physiques (serveurs et postes de travail) Windows et Linux. Ils peuvent fonctionner en mode autonome ou géré par le Backup Server.

8.2 Agent Windows

Installation manuelle

# Télécharger l'installeur depuis le portail Veeam
# Ou depuis le Backup Server : https://veeam-server:9443/installers

# Installation silencieuse
msiexec /i VeeamAgentWindows_x64.msi /qn ACCEPTEULA="yes" ACCEPT_THIRDPARTY_LICENSES="1"

Déploiement centralisé (recommandé)

Depuis la console Veeam Backup & Replication :

  1. Allez dans "Inventory" > "Physical & Cloud Infrastructure"
  2. Créez un "Protection Group" :
    • Active Directory : Découvre les machines via AD
    • Manual list : Ajout par nom DNS ou IP
    • CSV file : Import depuis un fichier CSV
  3. Veeam déploie automatiquement l'agent sur les machines découvertes

8.3 Agent Linux

Installation manuelle

# Debian/Ubuntu
wget https://repository.veeam.com/backup/linux/agent/dpkg/pool/veeam/v/veeam/veeam-release-deb_1.0_amd64.deb
dpkg -i veeam-release-deb_1.0_amd64.deb
apt-get update
apt-get install veeam

# RHEL/CentOS/Rocky
rpm -ivh https://repository.veeam.com/backup/linux/agent/rpm/el/9/x86_64/veeam-release-el9-1.0-1.x86_64.rpm
dnf install veeam

Configuration de l'agent Linux

# Lancer la configuration interactive
veeamconfig ui

# Ou en ligne de commande :
# Créer un job de sauvegarde du système complet
veeamconfig job create --name "Backup-Linux-Full" --repoName "Default Backup Repository" --backupAllSystem

# Créer un job de sauvegarde de volumes spécifiques
veeamconfig job create --name "Backup-Linux-Data" --repoName "Default Backup Repository" --includeDisk /dev/sda --includeDisk /dev/sdb

# Lancer un job manuellement
veeamconfig job start --name "Backup-Linux-Full"

# Vérifier le statut des sessions
veeamconfig session list

8.4 Policy-Based Management

Depuis le Backup Server, créez des policies (stratégies) de sauvegarde centralisées :

  1. Menu "Home" > "Backup Job" > "Windows Agent" ou "Linux Agent"
  2. Choisissez le type de job :
    • Managed by backup server : Le serveur Veeam gère la planification et les réglages
    • Managed by agent : L'agent gère localement, le serveur supervise
  3. Choisissez le mode de sauvegarde :
    • Entire computer : Sauvegarde complète (bare-metal recovery possible)
    • Volume level : Sauvegarder des volumes spécifiques
    • File level : Sauvegarder uniquement des dossiers/fichiers
  4. Sélectionnez les machines cibles (Protection Group)
  5. Configurez la rétention et la planification
Info : Les agents gérés par le Backup Server bénéficient de toutes les fonctionnalités avancées : SureBackup, Instant Recovery (P2V), application-aware processing.

8.5 Restauration depuis un agent

  • Bare-Metal Recovery : Bootez sur le média de récupération Veeam (ISO), sélectionnez la sauvegarde et restaurez le système complet.
  • Volume-level restore : Restaurez des volumes spécifiques depuis la console Veeam.
  • File-level restore : Parcourez et restaurez des fichiers individuels.
  • Instant Recovery (P2V) : Démarrez la sauvegarde physique en tant que VM sur VMware ou Hyper-V.
Tip : Créez le média de récupération (Recovery Media) immédiatement après l'installation de l'agent. Cela garantit que les drivers spécifiques au matériel seront inclus.

9. Repositories

9.1 Types de repositories

Repository Windows

Un serveur Windows avec un volume local (NTFS/ReFS) utilisé comme stockage de sauvegarde :

  • ReFS (recommandé) : Supporte les "fast clone" pour les Synthetic Full instantanés. Les sauvegardes synthétiques sont quasiment instantanées.
  • NTFS : Compatible mais ne supporte pas les fast clone.

Repository Linux (Hardened)

Un serveur Linux avec stockage local. Peut être configuré en mode "hardened" pour l'immutabilité :

# Préparation d'un repository Linux hardened (Ubuntu/Debian)
# 1. Installer un serveur Linux minimal (pas de GUI)
# 2. Créer un utilisateur dédié non-root
useradd -m -s /bin/bash veeamrepo
passwd veeamrepo

# 3. Configurer le filesystem XFS avec reflink (pour fast clone)
mkfs.xfs -b size=4096 -m reflink=1 /dev/sdb1
mkdir -p /mnt/veeam-backup
mount /dev/sdb1 /mnt/veeam-backup
chown veeamrepo:veeamrepo /mnt/veeam-backup

# 4. Ajouter au fstab
echo "/dev/sdb1 /mnt/veeam-backup xfs defaults 0 0" >> /etc/fstab

# 5. Dans Veeam, ajouter le repository avec le compte veeamrepo
# Cocher "Make recent backups immutable for X days"
Attention : Pour un Hardened Repository, le serveur Linux ne doit PAS être joint au domaine Active Directory. Utilisez des credentials locaux et désactivez l'accès SSH après la configuration initiale. Le compte root ne doit jamais être fourni à Veeam.

Repository SMB (CIFS)

Un partage réseau Windows. Convient pour les NAS mais offre moins de contrôle. Ne supporte pas les fonctionnalités avancées (immutabilité, fast clone).

Dedup Appliances

Veeam supporte les appliances de déduplication :

  • Dell EMC Data Domain (DDBoost)
  • HPE StoreOnce (Catalyst)
  • ExaGrid
  • Quantum DXi

9.2 Scale-Out Backup Repository (SOBR)

Un SOBR est un groupe logique de repositories qui se comporte comme un seul repository. Il comprend :

Performance Tier (Extents)

Un ou plusieurs repositories locaux qui reçoivent les sauvegardes. Politiques de placement :

  • Data locality : Toutes les sauvegardes d'une même VM restent sur le même extent
  • Performance : Les sauvegardes sont réparties entre les extents pour maximiser le débit

Capacity Tier

Stockage objet pour l'archivage des sauvegardes anciennes :

  • Amazon S3 / S3 Compatible (MinIO, Wasabi, etc.)
  • Azure Blob Storage
  • Google Cloud Storage
  • IBM Cloud Object Storage
# Comportement du Capacity Tier :
# 1. Les sauvegardes récentes restent sur le Performance Tier
# 2. Après la période définie, les données sont déplacées (move) ou copiées (copy) vers le Capacity Tier
# 3. Les métadonnées restent toujours localement pour un accès rapide

# Exemple de configuration :
# - Move data older than 30 days to capacity tier
# - Copy data immediately to capacity tier (pour la redondance)

Archive Tier

Pour l'archivage long terme à très faible coût :

  • Amazon S3 Glacier / Glacier Deep Archive
  • Azure Archive Storage
Tip : Activez le "Copy" mode en plus du "Move" sur le Capacity Tier pour maintenir une copie locale des sauvegardes les plus récentes tout en archivant vers le cloud.

9.3 Configuration d'un SOBR

  1. Backup Infrastructure > "Scale-out Repositories" > "Add"
  2. Nommez le SOBR (ex : SOBR-Production)
  3. Ajoutez les extents (repositories existants)
  4. Choisissez la politique de placement
  5. Configurez le Capacity Tier :
    • Ajoutez un object storage repository
    • Définissez la période de déplacement (ex : 30 jours)
    • Activez l'encryption si nécessaire

9.4 Object Storage Repository

Pour ajouter un stockage objet S3 compatible :

  1. Backup Infrastructure > "Backup Repositories" > "Add Repository"
  2. Sélectionnez "Object Storage" > "S3 Compatible"
  3. Configurez l'endpoint, le bucket et les credentials :
    # Exemple pour MinIO
    Service point : https://minio.domain.local:9000
    Region       : us-east-1 (ou custom)
    Bucket       : veeam-backups
    Folder       : /backups/
  4. Optionnel : Activez l'immutabilité (S3 Object Lock)

10. Vérification et SureBackup

10.1 Présentation de SureBackup

SureBackup est une fonctionnalité unique de Veeam qui vérifie automatiquement la récupérabilité des sauvegardes en démarrant les VM dans un environnement isolé (Virtual Lab) et en exécutant des tests de vérification.

10.2 Virtual Lab

Un Virtual Lab est un réseau isolé dans lequel les VM sont démarrées pour les tests :

  1. Backup Infrastructure > "SureBackup" > "Virtual Labs" > "Add"
  2. Sélectionnez l'hôte ESXi et le datastore pour le lab
  3. Configurez le Proxy Appliance (passerelle entre le lab isolé et le réseau de production)
  4. Définissez les réseaux isolés (mapping entre réseaux de production et réseaux de test)
Info : Le Virtual Lab utilise un proxy appliance pour masquer les adresses IP des VM de test, évitant tout conflit avec les VM de production.

10.3 Application Group

Un Application Group définit l'ordre de démarrage des VM et leurs dépendances :

  1. "SureBackup" > "Application Groups" > "Add"
  2. Ajoutez les VM dans l'ordre de démarrage (ex : DC d'abord, puis DNS, puis serveur applicatif)
  3. Configurez le délai entre chaque démarrage
  4. Configurez les tests de vérification pour chaque VM

10.4 Tests de vérification

Veeam exécute automatiquement les tests suivants :

  • Heartbeat : Vérifie que les VMware Tools répondent (la VM a booté correctement)
  • Ping : Vérifie la connectivité réseau de la VM
  • Application test : Vérifie qu'un port TCP répond (ex : port 80 pour un serveur web, port 443 pour HTTPS)
  • Script test : Exécute un script personnalisé pour une vérification avancée

10.5 Création d'un job SureBackup

  1. Menu "Home" > "SureBackup Job"
  2. Sélectionnez le Virtual Lab
  3. Sélectionnez l'Application Group (optionnel, pour les dépendances)
  4. Ajoutez les jobs de sauvegarde à vérifier
  5. Configurez les tests et la planification
Tip : Planifiez un SureBackup quotidien pour vos VM critiques. Cela garantit que vos sauvegardes sont récupérables et génère un rapport de conformité précieux pour les audits.

10.6 Vérification CRC et Health Check

En plus de SureBackup, Veeam propose des vérifications d'intégrité au niveau des fichiers :

  • Health Check : Vérifie l'intégrité CRC des fichiers de sauvegarde. Configurable dans les options du job : "Storage" > "Advanced" > "Maintenance" > "Perform backup files health check".
  • Fréquence recommandée : Hebdomadaire (ex : le dimanche)
# Vérifier l'intégrité d'un fichier de sauvegarde en PowerShell
$backup = Get-VBRBackup -Name "Backup-VM-Production-Daily"
$restorePoints = Get-VBRRestorePoint -Backup $backup
foreach ($rp in $restorePoints) {
    Write-Host "Vérification du point : $($rp.CreationTime)"
    Test-VBRBackupFileIntegrity -RestorePoint $rp
}

11. Monitoring et rapports

11.1 Notifications email

Configurez les alertes email pour être notifié des événements importants :

  1. Main Menu > "General Options" > "E-mail Settings"
  2. Configurez le serveur SMTP :
    # Exemple de configuration SMTP
    SMTP Server    : smtp.domain.local
    Port           : 587
    Use SSL/TLS    : Oui
    Authentication : admin@domain.local
    From           : veeam-backup@domain.local
    To             : it-team@domain.local
  3. Choisissez les événements à notifier : Success, Warning, Error

Notifications par job

Chaque job peut avoir ses propres paramètres de notification :

  • Éditez le job > "Storage" > "Advanced" > "Notifications"
  • Cochez "Send SNMP notifications" pour l'intégration avec les outils de monitoring (Nagios, Zabbix, PRTG)

11.2 Veeam ONE

Veeam ONE est la solution de monitoring et de reporting avancée de Veeam. Elle offre :

  • Monitoring en temps réel : Tableau de bord avec l'état de tous les jobs, repositories et infrastructures
  • Alertes intelligentes : Détection proactive des problèmes (repository presque plein, jobs en échec répétés, etc.)
  • Rapports prédéfinis : Plus de 150 rapports prêts à l'emploi
  • Rapports personnalisés : Créez vos propres rapports

11.3 Rapports intégrés (sans Veeam ONE)

Même sans Veeam ONE, vous pouvez générer des rapports depuis le Backup Server :

Script PowerShell de rapport quotidien

# Rapport des sessions des dernières 24h
$report = @()
$sessions = Get-VBRBackupSession | Where-Object {$_.EndTime -ge (Get-Date).AddDays(-1)}

foreach ($session in $sessions) {
    $report += [PSCustomObject]@{
        JobName    = $session.JobName
        Status     = $session.Result
        StartTime  = $session.CreationTime
        EndTime    = $session.EndTime
        Duration   = $session.EndTime - $session.CreationTime
        DataSize   = [math]::Round($session.BackupStats.DataSize / 1GB, 2)
        BackupSize = [math]::Round($session.BackupStats.BackupSize / 1GB, 2)
    }
}

# Afficher le rapport
$report | Format-Table -AutoSize

# Exporter en HTML
$htmlReport = $report | ConvertTo-Html -Title "Rapport Veeam - $(Get-Date -Format 'yyyy-MM-dd')" `
    -PreContent "<h1>Rapport Veeam Backup - $(Get-Date -Format 'dd/MM/yyyy')</h1>" |
    Out-String

# Envoyer par email
Send-MailMessage -From "veeam@domain.local" -To "it-team@domain.local" `
    -Subject "Rapport Veeam - $(Get-Date -Format 'dd/MM/yyyy')" `
    -Body $htmlReport -BodyAsHtml `
    -SmtpServer "smtp.domain.local"

11.4 Session Logs

Les logs de session fournissent des informations détaillées sur chaque exécution de job :

  1. Ouvrez la console Veeam > "Home" > "Last 24 Hours"
  2. Double-cliquez sur un job pour voir les détails de la session
  3. Chaque VM affiche : durée, taille lue, taille transférée, bottleneck, vitesse

Identification des bottlenecks

Veeam identifie automatiquement le goulot d'étranglement dans la session log :

  • Source : L'hôte de virtualisation ou le stockage source est lent
  • Proxy : Le proxy est surchargé (CPU ou mémoire)
  • Network : La bande passante réseau est insuffisante
  • Target : Le repository de destination est lent (I/O disque)
Tip : Si le bottleneck est "Source", vérifiez les performances du stockage SAN/NAS et le mode de transport du proxy (passez en Direct Storage Access ou HotAdd si possible).

12. Sécurité et bonnes pratiques

12.1 Règle 3-2-1-1-0

L'évolution de la célèbre règle 3-2-1 :

  • 3 : Avoir au moins 3 copies des données (production + 2 sauvegardes)
  • 2 : Utiliser au moins 2 types de médias différents (disque local + cloud, par exemple)
  • 1 : Conserver au moins 1 copie hors site (site distant ou cloud)
  • 1 : Au moins 1 copie offline (air-gapped) ou immutable
  • 0 : Zéro erreur vérifiée par SureBackup / Health Check

12.2 Immutable Backups

Protégez vos sauvegardes contre les ransomwares et les suppressions accidentelles :

Linux Hardened Repository

# Configuration d'un repository immutable
# 1. Serveur Linux dédié (Ubuntu Server 22.04 LTS recommandé)
# 2. Stockage local (pas de NFS/SMB)
# 3. Compte non-root pour Veeam

# Vérifier que le filesystem supporte les attributs immutables
# XFS ou ext4 requis
lsattr /mnt/veeam-backup/

# Veeam utilise automatiquement chattr +i pour rendre les fichiers immutables
# Vérification manuelle :
lsattr /mnt/veeam-backup/*.vbk
----i--------e-- /mnt/veeam-backup/backup_file.vbk

S3 Object Lock

# Configurer un bucket S3 avec Object Lock
# AWS CLI
aws s3api create-bucket --bucket veeam-immutable --object-lock-enabled-for-bucket
aws s3api put-object-lock-configuration --bucket veeam-immutable --object-lock-configuration '{
    "ObjectLockEnabled": "Enabled",
    "Rule": {
        "DefaultRetention": {
            "Mode": "COMPLIANCE",
            "Days": 30
        }
    }
}'
Attention : Le mode COMPLIANCE est irréversible : même le compte root AWS ne peut pas supprimer les objets avant l'expiration de la période de rétention. Utilisez GOVERNANCE pour plus de flexibilité (avec des permissions spécifiques).

12.3 Chiffrement

Veeam propose le chiffrement AES-256 à plusieurs niveaux :

Chiffrement des jobs de sauvegarde

  • Dans les options du job : "Storage" > "Advanced" > "Storage" > cochez "Enable backup file encryption"
  • Définissez un mot de passe de chiffrement
  • Le mot de passe est également stocké dans la base Veeam (chiffré par la clé Enterprise Manager si configurée)

Chiffrement du trafic réseau

  • Main Menu > "General Options" > "Traffic" > cochez "Encrypt network traffic"
  • Chiffre les données en transit entre les composants Veeam

Chiffrement de la configuration backup

  • Main Menu > "Configuration Backup" > cochez "Encrypt configuration backup"
  • Protège la sauvegarde de la base de données Veeam
Attention : Conservez les mots de passe de chiffrement dans un endroit sûr et séparé de l'infrastructure Veeam (coffre-fort de mots de passe, document hors ligne). Sans le mot de passe, les sauvegardes chiffrées sont irrécupérables.

12.4 MFA et accès sécurisé

  • MFA pour la console : Depuis Veeam v12, la console supporte l'authentification multi-facteurs (TOTP).
  • RBAC : Configurez des rôles granulaires pour les opérateurs (Backup Administrator, Backup Operator, Restore Operator).
  • Configuration : Main Menu > "Users and Roles"

12.5 Hardening du serveur Veeam

Mesures de sécurisation recommandées :

  • Réseau : Isolez le serveur Veeam dans un VLAN de management dédié
  • Firewall Windows : N'ouvrez que les ports strictement nécessaires
  • Antivirus : Configurez des exclusions pour les processus et dossiers Veeam :
    # Exclusions antivirus recommandées
    C:\Program Files\Veeam\
    C:\Program Files (x86)\Veeam\
    C:\ProgramData\Veeam\
    C:\Windows\Veeam\
    
    # Processus à exclure
    Veeam.Backup.Service.exe
    Veeam.Backup.Agent.ConfigurationService.exe
    Veeam.Backup.Manager.exe
    VeeamAgent.exe
    VeeamDeploymentSvc.exe
  • Mises à jour Windows : Appliquez régulièrement les correctifs de sécurité
  • Accès RDP : Limitez l'accès RDP au serveur Veeam et utilisez un jump server si possible
  • Comptes de service : Utilisez des comptes de service dédiés avec le principe de moindre privilège
  • Audit : Activez les logs d'audit Windows pour tracer les accès au serveur Veeam
Info : Consultez le Veeam Security Best Practices Guide disponible sur https://bp.veeam.com/security pour un guide de hardening détaillé.

13. PowerShell et automatisation

13.1 Module PowerShell Veeam

Veeam fournit un module PowerShell complet pour l'automatisation. Il est installé automatiquement avec la console Veeam.

# Charger le module (nécessaire avant d'utiliser les cmdlets)
Import-Module Veeam.Backup.PowerShell
# Ou pour les anciennes versions :
Add-PSSnapin VeeamPSSnapin

# Lister toutes les cmdlets Veeam disponibles
Get-Command -Module Veeam.Backup.PowerShell | Measure-Object
Get-Command -Module Veeam.Backup.PowerShell | Select-Object Name | Sort-Object Name

# Se connecter à un serveur Veeam distant
Connect-VBRServer -Server "veeam-server.domain.local" -Credential (Get-Credential)

13.2 Gestion des jobs

# Lister tous les jobs de sauvegarde
Get-VBRJob | Select-Object Name, JobType, IsScheduleEnabled, @{N='LastResult';E={$_.GetLastResult()}}

# Démarrer un job
Start-VBRJob -Job (Get-VBRJob -Name "Backup-VM-Production-Daily")

# Arrêter un job en cours
Stop-VBRJob -Job (Get-VBRJob -Name "Backup-VM-Production-Daily")

# Activer/Désactiver la planification d'un job
Enable-VBRJobSchedule -Job (Get-VBRJob -Name "Backup-VM-Production-Daily")
Disable-VBRJobSchedule -Job (Get-VBRJob -Name "Backup-VM-Maintenance")

# Démarrer un Active Full
Start-VBRJob -Job (Get-VBRJob -Name "Backup-VM-Production-Daily") -FullBackup

# Démarrer un job de retry pour les VM en échec
Start-VBRJob -Job (Get-VBRJob -Name "Backup-VM-Production-Daily") -RetryBackup

13.3 Consultation des sessions et résultats

# Dernières sessions de sauvegarde
Get-VBRBackupSession | Where-Object {$_.EndTime -ge (Get-Date).AddDays(-1)} |
    Select-Object JobName, Result, CreationTime, EndTime,
    @{N='Duration (min)';E={[math]::Round(($_.EndTime - $_.CreationTime).TotalMinutes, 1)}},
    @{N='Data (GB)';E={[math]::Round($_.BackupStats.DataSize / 1GB, 2)}},
    @{N='Transferred (GB)';E={[math]::Round($_.BackupStats.BackupSize / 1GB, 2)}} |
    Format-Table -AutoSize

# Sessions en échec
Get-VBRBackupSession | Where-Object {$_.Result -eq "Failed" -and $_.EndTime -ge (Get-Date).AddDays(-7)} |
    Select-Object JobName, CreationTime, @{N='Error';E={$_.GetDetails()}} |
    Format-List

# Détails d'une session spécifique
$session = Get-VBRBackupSession -Name "Backup-VM-Production-Daily" | Select-Object -First 1
Get-VBRTaskSession -Session $session |
    Select-Object Name, Status, @{N='Size (GB)';E={[math]::Round($_.Progress.ProcessedSize / 1GB, 2)}}

13.4 Gestion des repositories

# Lister les repositories et leur espace
Get-VBRBackupRepository | Select-Object Name, Type,
    @{N='Total (TB)';E={[math]::Round($_.GetContainer().CachedTotalSpace.InTerabytes, 2)}},
    @{N='Free (TB)';E={[math]::Round($_.GetContainer().CachedFreeSpace.InTerabytes, 2)}},
    @{N='Used %';E={
        $total = $_.GetContainer().CachedTotalSpace.InBytes
        $free = $_.GetContainer().CachedFreeSpace.InBytes
        if ($total -gt 0) { [math]::Round((($total - $free) / $total) * 100, 1) } else { 0 }
    }} |
    Format-Table -AutoSize

13.5 Gestion des restore points

# Lister les points de restauration d'une VM
$backup = Get-VBRBackup -Name "Backup-VM-Production-Daily"
Get-VBRRestorePoint -Backup $backup | Where-Object {$_.Name -eq "SRV-WEB01"} |
    Select-Object Name, CreationTime, Type, @{N='Size (GB)';E={[math]::Round($_.ApproxSize / 1GB, 2)}} |
    Sort-Object CreationTime -Descending

# Lister toutes les VM protégées
Get-VBRBackup | ForEach-Object {
    $backup = $_
    Get-VBRRestorePoint -Backup $backup | Select-Object -Last 1 |
        Select-Object Name, @{N='Job';E={$backup.Name}}, CreationTime
} | Sort-Object Name | Format-Table -AutoSize

13.6 Script de rapport complet par email

# Script de rapport Veeam complet - à planifier via Task Scheduler
Import-Module Veeam.Backup.PowerShell

$smtpServer = "smtp.domain.local"
$from = "veeam-reports@domain.local"
$to = "it-team@domain.local"
$date = Get-Date -Format "dd/MM/yyyy"

# Collecter les données
$sessions = Get-VBRBackupSession | Where-Object {$_.EndTime -ge (Get-Date).AddDays(-1)}
$success = ($sessions | Where-Object {$_.Result -eq "Success"}).Count
$warning = ($sessions | Where-Object {$_.Result -eq "Warning"}).Count
$failed = ($sessions | Where-Object {$_.Result -eq "Failed"}).Count

# Espace repositories
$repos = Get-VBRBackupRepository | ForEach-Object {
    [PSCustomObject]@{
        Name    = $_.Name
        TotalTB = [math]::Round($_.GetContainer().CachedTotalSpace.InTerabytes, 2)
        FreeTB  = [math]::Round($_.GetContainer().CachedFreeSpace.InTerabytes, 2)
        UsedPct = [math]::Round((1 - $_.GetContainer().CachedFreeSpace.InBytes / $_.GetContainer().CachedTotalSpace.InBytes) * 100, 1)
    }
}

# Générer le HTML
$html = @"
<html>
<head><style>
    body { font-family: Arial; }
    table { border-collapse: collapse; width: 100%; }
    th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
    th { background-color: #00b336; color: white; }
    .success { color: green; } .warning { color: orange; } .failed { color: red; }
</style></head>
<body>
<h1>Rapport Veeam Backup - $date</h1>
<h2>Résumé</h2>
<p>Succès : <span class='success'>$success</span> |
   Warnings : <span class='warning'>$warning</span> |
   Échecs : <span class='failed'>$failed</span></p>
<h2>Détail des sessions</h2>
$($sessions | ConvertTo-Html -Fragment)
<h2>Espace Repositories</h2>
$($repos | ConvertTo-Html -Fragment)
</body></html>
"@

Send-MailMessage -From $from -To $to -Subject "Rapport Veeam - $date" `
    -Body $html -BodyAsHtml -SmtpServer $smtpServer

13.7 Automatisations courantes

# Désactiver tous les jobs avant une maintenance
Get-VBRJob | ForEach-Object { Disable-VBRJobSchedule -Job $_ }

# Réactiver tous les jobs après maintenance
Get-VBRJob | ForEach-Object { Enable-VBRJobSchedule -Job $_ }

# Exporter la configuration Veeam (backup de la config)
Start-VBRConfigurationBackupJob

# Supprimer les points de restauration obsolètes d'une VM retirée
$backup = Get-VBRBackup -Name "Backup-VM-Production-Daily"
$restorePoints = Get-VBRRestorePoint -Backup $backup | Where-Object {$_.Name -eq "VM-Decomissionee"}
foreach ($rp in $restorePoints) {
    Remove-VBRRestorePoint -Oib $rp -Confirm:$false
}

# Vérifier la connectivité avec les hôtes VMware
Get-VBRServer -Type ESXi | ForEach-Object {
    $result = Test-Connection -ComputerName $_.Name -Count 1 -Quiet
    [PSCustomObject]@{
        Host   = $_.Name
        Status = if ($result) { "OK" } else { "UNREACHABLE" }
    }
} | Format-Table -AutoSize
Tip : Planifiez vos scripts PowerShell Veeam via le Task Scheduler Windows. Utilisez l'action : powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\veeam-report.ps1"

14. Dépannage

14.1 Fichiers de logs

Les logs Veeam sont essentiels pour le diagnostic. Emplacements principaux :

# Logs du Backup Server
C:\ProgramData\Veeam\Backup\

# Logs spécifiques par composant
Svc.VeeamBackup.log       : Service principal Veeam Backup
Svc.VeeamCatalog.log      : Service Catalogue
Svc.VeeamBroker.log       : Service Broker
Svc.VeeamMountSvc.log     : Service Mount Server

# Logs des jobs (un dossier par job)
C:\ProgramData\Veeam\Backup\<JobName>\

# Logs des agents sur les machines distantes
# Windows : C:\ProgramData\Veeam\Backup\
# Linux   : /var/log/veeam/

14.2 Erreurs courantes et solutions

Error: "Failed to create snapshot"

Le snapshot VMware n'a pas pu être créé. Causes fréquentes :

  • Espace insuffisant sur le datastore. Vérifiez l'espace libre.
  • Snapshot existant : Consolidez les snapshots orphelins via vCenter.
  • VM avec un disque indépendant persistent : Ces disques ne supportent pas les snapshots. Excluez-les du job.
# Vérifier les snapshots existants (PowerCLI)
Get-VM | Get-Snapshot | Select-Object VM, Name, Created, SizeGB | Format-Table -AutoSize

# Consolider les snapshots
Get-VM -Name "SRV-PROB01" | ForEach-Object {
    $_.ExtensionData.ConsolidateVMDisks()
}

Error: "Unable to release guest. Guest interaction proxy is not available"

  • Vérifiez que les VMware Tools sont installés et à jour dans la VM
  • Vérifiez que les credentials guest sont corrects dans le job
  • Vérifiez la connectivité réseau entre le proxy et la VM

Error: "Backup proxy <name> is not available"

  • Vérifiez que le serveur proxy est allumé et accessible
  • Vérifiez le service Veeam Installer Service (port 6160) et Veeam Data Mover (port 6162)
  • Redéployez les composants Veeam sur le proxy si nécessaire
# Vérifier les services Veeam sur un proxy Windows
Get-Service -ComputerName "proxy-server" -Name "VeeamDeploySvc","VeeamTransportSvc" |
    Select-Object Name, Status, StartType

Error: "Not enough space on the backup repository"

  • Vérifiez l'espace disponible sur le repository
  • Réduisez la rétention ou ajoutez de l'espace disque
  • Déplacez les anciennes sauvegardes vers le Capacity Tier (SOBR)
# Vérifier l'espace des repositories en PowerShell
Get-VBRBackupRepository | ForEach-Object {
    $total = $_.GetContainer().CachedTotalSpace.InGigabytes
    $free = $_.GetContainer().CachedFreeSpace.InGigabytes
    [PSCustomObject]@{
        Name     = $_.Name
        TotalGB  = [math]::Round($total, 1)
        FreeGB   = [math]::Round($free, 1)
        FreePct  = [math]::Round(($free / $total) * 100, 1)
        Status   = if (($free / $total) -lt 0.10) { "CRITIQUE" } elseif (($free / $total) -lt 0.20) { "WARNING" } else { "OK" }
    }
} | Format-Table -AutoSize

Error: "CBT is disabled or reset"

Le Changed Block Tracking a été réinitialisé (après un Storage vMotion, un snapshot consolidé, etc.). Veeam effectuera automatiquement un full read incrémental (plus lent).

  • Ce n'est pas une erreur critique, juste un avertissement
  • Le CBT sera réactivé automatiquement lors du prochain snapshot
  • Si le problème persiste, réinitialisez manuellement le CBT
# Réinitialiser le CBT d'une VM (PowerCLI)
$vm = Get-VM -Name "SRV-PROB01"
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.changeTrackingEnabled = $false
$vm.ExtensionData.ReconfigVM_Task($spec) | Out-Null
Start-Sleep -Seconds 5
$spec.changeTrackingEnabled = $true
$vm.ExtensionData.ReconfigVM_Task($spec) | Out-Null

# Puis créer et supprimer un snapshot pour activer le CBT
New-Snapshot -VM $vm -Name "CBT-Reset" -Description "Reset CBT"
Get-Snapshot -VM $vm -Name "CBT-Reset" | Remove-Snapshot -Confirm:$false

Error: "Login failed" / "Access denied" pour les credentials

  • Vérifiez les credentials dans Main Menu > Manage Credentials
  • Testez la connexion manuellement (RDP, SSH, PowerShell remoting)
  • Vérifiez les politiques de groupe (GPO) qui pourraient bloquer l'accès distant
  • Vérifiez le firewall Windows / Linux sur la machine cible

14.3 Bottleneck Analysis

Pour identifier les goulots d'étranglement dans les performances de sauvegarde :

# Analyser les bottlenecks des dernières sessions
Get-VBRBackupSession | Where-Object {$_.EndTime -ge (Get-Date).AddDays(-1)} | ForEach-Object {
    $session = $_
    Get-VBRTaskSession -Session $session | ForEach-Object {
        [PSCustomObject]@{
            Job        = $session.JobName
            VM         = $_.Name
            Status     = $_.Status
            Bottleneck = $_.Progress.BottleneckInfo.Bottleneck
            SpeedMBps  = [math]::Round($_.Progress.AvgSpeed / 1MB, 1)
            Duration   = $_.Progress.Duration
        }
    }
} | Format-Table -AutoSize

Actions correctives selon le bottleneck :

  • Source bottleneck :
    • Vérifiez les performances du stockage source (latence SAN)
    • Passez en mode Direct Storage Access
    • Réduisez le nombre de tasks concurrentes sur cet hôte
  • Proxy bottleneck :
    • Ajoutez plus de CPU/RAM au proxy
    • Déployez des proxies supplémentaires
    • Répartissez la charge entre plusieurs proxies
  • Network bottleneck :
    • Vérifiez la bande passante réseau (1 Gbps minimum, 10 Gbps recommandé)
    • Activez la compression sur le proxy
    • Utilisez un réseau dédié pour les sauvegardes
  • Target bottleneck :
    • Améliorez les performances I/O du repository (SSD, RAID)
    • Réduisez la compression (moins de CPU, plus de débit)
    • Déployez des repositories supplémentaires

14.4 Support Bundle

Pour ouvrir un cas de support Veeam, générez un support bundle contenant tous les logs :

  1. Ouvrez la console Veeam > Main Menu > "Help" > "Support Information"
  2. Cliquez sur "Collect"
  3. Sélectionnez les composants à inclure (Backup Server, proxies, repositories)
  4. Le bundle est généré dans C:\ProgramData\Veeam\Backup\Support\
# Générer un support bundle en PowerShell
# Utiliser l'outil en ligne de commande
& "C:\Program Files\Veeam\Backup and Replication\Backup\Packages\VeeamLogCollector.exe" /silent /output:"C:\Temp\VeeamSupportBundle.zip"

14.5 Conseils généraux de dépannage

  • Redémarrer les services Veeam résout souvent les problèmes transitoires :
    # Redémarrer tous les services Veeam
    Get-Service -Name "Veeam*" | Restart-Service -Force
  • Vérifier la base de données : Si la console est lente ou instable, vérifiez l'état de la base PostgreSQL/SQL.
  • Redéployer les composants : Si un proxy ou repository pose problème, redéployez les composants Veeam via la console (Backup Infrastructure > clic droit sur le composant > "Upgrade").
  • Vérifier l'horloge : Les différences d'heure entre le serveur Veeam, les hôtes ESXi et le vCenter causent des erreurs d'authentification. Synchronisez avec un serveur NTP.
  • Forums Veeam : La communauté Veeam est très active sur https://forums.veeam.com. Recherchez votre erreur avant d'ouvrir un cas de support.
Tip : Activez le mode "Debug logging" temporairement pour capturer des logs détaillés lors du diagnostic d'un problème complexe. Désactivez-le ensuite pour éviter une consommation excessive d'espace disque. Configuration : Main Menu > General Options > Advanced.