Veeam Software Appliance – One script to configure them all – Part 4
Bienvenue dans la quatrième et dernière partie (ou pas) de ma série complète sur Veeam Software Appliance ! Vous vous souvenez ? Nous avons commencé avec la théorie en partie 1, ensuite la pratique en partie 2, puis les déploiements automatisés avec Packer en partie 3. Aujourd’hui, je vous propose de vraiment approfondir les scripts PowerShell pour personnaliser votre infrastructure Veeam.
D’où venons-nous ?
Si vous avez suivi mon parcours jusqu’à présent, vous savez que nous avons créé une VSA, déployé un proxy et un référentiel lors de la phase Packer. Maintenant, nous allons utiliser des scripts PowerShell simples mais puissants pour orchestrer tout cela de manière efficace.
Ce que je veux que vous compreniez, c’est que nous sommes face à un nouveau déploiement JeOS, basé sur les certificats. Les serveurs attendent la communication, et c’est là que la magie PowerShell intervient.
Les Trois Scripts Fondamentaux
Sur mon dépôt GitHub, vous trouverez trois scripts PowerShell véritablement utiles pour industrialiser votre déploiement :
Create ISO est le premier script. Il prend vos trois fichiers JSON (un pour le proxy, un pour la VSA et un pour le référentiel) et les utilise pour générer automatiquement des fichiers ISO ou de configuration que vous pourrez passer à Packer. C’est vraiment efficace !
Auto Provisioning, le deuxième, est particulièrement intéressant si vous travaillez avec Hyper-V comme moi. Il effectue du contrôle qualité itératif. Vous spécifiez simplement les noms des machines dans un fichier CSV, et le script gère automatiquement les ISO, l’ordre de démarrage et même le mode BIOS. Cela m’a fait gagner énormément de temps lors de mes phases de test !
Install Veeam Infrastructure est le script vedette. C’est lui qui fait vraiment la différence.
Le Script Install Veeam Infrastructure en Détail
Ce script est une véritable petite merveille d’automatisation. Il accepte tous les paramètres importants : le nom de votre serveur VBR, les identifiants, les adresses IP du proxy et du référentiel, le code d’appairage, et bien d’autres choses encore.
Pendant le déploiement avec Packer ou tout autre outil, le script réessaye toutes les deux minutes de se connecter à VBR. Si VBR répond, super ! Si non, il réessaye deux minutes plus tard. Il continue indéfiniment jusqu’à ce que VBR soit complètement prêt. C’est tellement plus fiable que de simplement espérer que le timing soit bon.
Les Sept Étapes du Déploiement
Laissez-moi vous expliquer les sept étapes principales que ce script exécute :
D’abord, il charge les modules PowerShell. Sur Windows, vous devez avoir installé la console distante (c’est un énorme exécutable d’au moins 1 Go). Le script charge tous les assemblies nécessaires et importe les modules appropriés.
Ensuite, il se connecte au serveur VBR. Il se déconnecte d’abord si une connexion existe déjà, puis lance sa boucle de reconnexion avec ses tentatives toutes les deux minutes.
Troisièmement, il gère l’installation de la licence. S’il trouve un fichier de licence, il valide son contenu, vérifie que VBR n’a pas déjà une licence installée, puis procède à l’installation si nécessaire. Le script effectue de nombreux tests pour s’assurer que tout est correct.
Quatrièmement, il valide les prérequis. Il vérifie que le proxy et le référentiel existent et peuvent être atteints.
Cinquièmement, il ajoute les hôtes Linux. Ici, c’est important : il vérifie d’abord si votre proxy et votre référentiel ne sont pas déjà enregistrés sur VBR. S’ils ne l’ont pas encore, il les ajoute.
Sixièmement, il configure le référentiel. Il teste le code d’appairage, ajoute le référentiel avec la bonne fonction, puis attend pour s’assurer que tout a été correctement intégré.
Enfin, il configure le proxy exactement de la même manière.
Les Détails Techniques qui Comptent
Lors de l’ajout de l’hôte Linux, le script utilise le certificat de sécurité et force l’acceptation de l’empreinte digitale. Nous sommes en mode non-interactif, donc aucune intervention humaine n’est nécessaire.
Pour le référentiel, le script force le XFS FastClone et active l’immuabilité avec une période configurable. Le chemin du référentiel sur Justinafos est hardcodé à `/var/lib/veeam/backup` (c’est quelque chose à savoir !).
Vers la Partie 5
Vous savez, en travaillant sur cette explication, je me suis rendu compte que nous approchons des 15 minutes et qu’il y a encore tellement à couvrir sur la personnalisation avancée. Les scripts optionnels et les cas d’usage spécifiques méritent vraiment leur propre vidéo.
Donc, j’ai décidé de créer une partie 5 ! Je réenregistrerai mon introduction et nous approfondirons ensemble les aspects les plus complexes du déploiement.
Si vous avez trouvé cette plongée technique utile et que vous voulez exploiter tout le potentiel de Veeam Software Appliance, restez à l’écoute. À bientôt pour la partie 5 !