L’aventure « ESXi » a démarré pour moi il y a plus d’une dizaine d’années, avec un ESXi 3.5 installé sur une machine de récupération. A l’époque, c’était pour découvrir l’hyperviseur. Puis je suis passé à la 5.1 puis 5.5 que j’ai adopté pour mes besoins persos (test et domotique), toujours avec des machines de récup. J’ai furtivement testé la 6.5 mais devant le nombre de bug à l’époque et divers problèmes, je suis resté en 5.5.
Puis, il y a quelques jours, je découvres un peu par hasard que la 6.5 a laissé place à la 6.7 (puis la 7.0 mais ce n’est pas l’objet de ce billet -> voir à la fin pourquoi) ! Je me décide donc à tenter ma chance avec cette nouvelle version.
Installer ESXi 6.7, c’est vraiment un jeu d’enfant : on récupère l’ISO sur le site officiel (avec licence gratuite), on met tout ça sur clé USB via Rufus et le tour est joué. #mondedesbisounours
Sauf que, parfois, le matériel n’est pas reconnu car l’ISO officiel ne dispose pas de tous les pilotes de tous les matériels qui existent sur terre. Il faut donc personnaliser l’ISO en y ajoutant le driver souhaité. Heureusement, ESXi-Customizer-PS est là pour nous aider.
Dans mon cas, le matériel non reconnu était la carte RAID Adaptec 6805 que j’ai déniché pour une bouché de pain.
Pourquoi cette publication ?
Pour une raison toute simple : au fil des ans, je reviens régulièrement tester les nouvelles versions d’ESXi, ou l’installer sur du nouveaux matériels.
Avec à chaque fois les mêmes questions : comment j’ai fait la dernière fois pour personnaliser l’ISO ? et pour installer/configurer ESXi-Customized-PS ? PowerCLI ? PowerShell ? etc
Bref, ce n’est pas grand chose mais à chaque fois quelques minutes de perdu à retrouver mes notes, plus ou moins bien organisée.
Via cette publication, je me suis dit que j’allais prendre un PC propre (une fresh-install de Windows 7 en VM) et que j’allais refaire de Zéro le processus de personnalisation de l’ISO… et le documenter cette fois-ci !
Installer PowerShell 5
Dans un premier temps, il faut un PC avec PowerShell v5.
Pour connaitre la version actuelle de votre PowerShell, ouvrez le (Démarrer/Tous les programmes/Accessoires/PowerShell) puis lancez la commande :
$PSVersionTable
![ici on voit que c'est la version 2.0 de PowerShell sur mon Win7 SP1](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image.png)
Pour télécharger la v5, il faut se rendre sur ce site : https://www.microsoft.com/en-us/download/details.aspx?id=54616
![Lien de téléchargement Microsoft](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-1.png)
Et on choisit la version correspondant à notre OS (dans mon cas, un Win7 64bits) :
![liste des téléchargements](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-2.png)
Ensuite on installe
![Installation prête](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-8.png)
Note : si vous n’avez pas le SP1 de Windows 7, cela ne fonctionnera pas.
La mise à jour s’installe…
![Installation en cours](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-9.png)
On a donc maintenant la version 5 de PowerShell :
![mise à jour effectuée, powershell v5](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-10.png)
A noter qu’il faut aussi avoir installé .NET Framework 4.5 minimum.
Installer PowerCLI
On ouvre une fenêtre PowerShell en admin
![Lancer powershell en admin](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-18.png)
et on lance la commande :
Install-Module -Name VMware.PowerCLI -Scope AllUsers
Si cela ne fonctionne pas à cause d’un message d’erreur qui « Impossible de télécharger à partir de… » :
![message d erreur pour install powercli](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-19.png)
Toujours dans PowerShell, on lance la commande :
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Puis on retente l’installation du module :
![pour autoriser l'install de powercli](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-20.png)
Il vaut mieux répondre [A] ==> Yes to All, cela évite d’avoir à répondre[Y] plusieurs fois. L’installation dure 1 ou 2 minutes :
![install de powercli en cours](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-4.png)
Si on veut voir si tout est bien installé :
get-module vmware* -ListAvailable
![récap de l'install powercli](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-21.png)
Préparer ESXi-Customizer-PS
Direction le GitHub du projet et on télécharge le nécessaire via cette URL : https://github.com/VFrontDe/ESXi-Customizer-PS
![télécharger le script](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-6.png)
On dézippe le tout sur le disque dur du PC.
Astuce : tout mettre dans un répertoire de premier niveau avec un chemin d’accès simple.
Perso, j’ai choisi le répertoire E:\ESXi, auquel j’ai rajouté deux sous-répertoires : ISO (pour la génération du fichier ISO d’ESXi) et raid (pour le driver/vib de ma carte raid)
![placer le script sur disque dur](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-15.png)
On lance PowerShell et on se place dans le répertoire du script :
![changer de répertoire dans powershell](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-16.png)
Avant de passer à l’étape suivante, vous pouvez faire un peu de lecteur avec la commande :
.\ESXi-Customizer-PS-v2.8.1.ps1 -help
![aide avec le script](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-14.png)
PS : bien évidemment, vous devez personnaliser les commandes à saisir. Perso j’ai mis tous les éléments dans E:\ESXi et j’ai renommé le script PowerShell « ESXi-Customizer-PS-v2.8.1.ps1 ».
Récupérer le bundle offline depuis le dépot d’ESXi 6.7
Pour générer l’ISO d’ESXi, soit on utilise le dépôt « en ligne », c’est à dire que chaque fichier sera téléchargé à chaque fois que vous lancez le script ESXi-Customized-PS, soit vous téléchargez le bundle « hors ligne » qui se présente sous la forme d’un fichier ZIP contenant toutes les sources pour créer un ISO d’ESXi.
Personnellement, j’ai opté pour cette seconde solution pour ne pas avoir à tout re-télécharger à chaque fois que je re-build l’ISO.
Donc pour récupérer le bundle offline d’ESXi 6.7, on saisit :
.\ESXi-Customizer-PS-v2.8.1.ps1 -v67 -ozip
Si on reçoit un message d’avertissement de ce type :
![message d'erreur au lancement du téléchargement des dépots offline d'ESXi 6.7](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-28.png)
On lance la commande :
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Et on répond [A] Yes to All :
![pour permettre le téléchargement des dépots](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-26.png)
Ce qui normalement doit donner le résultat suivant :
![téléchargement des dépots offline d'ESXi 6.7](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-33.png)
A noter que d’après mes constatations, le script ESXi-Customized-PS dans sa version 2.8.1 permet de télécharger le bundle d’ESXi 7.0 (et antérieur).
La version 2.6.0 d’ESXi-Customized-PS ne permettait d’avoir qu’ESXi 6.7 et antérieur).
C’est d’ailleurs écrit dans le changelog : https://github.com/VFrontDe/ESXi-Customizer-PS/blob/master/docs/CHANGES.md
Le jour de la rédaction de cet article, le bundle téléchargeait portait le nom de : ESXi-6.7.0-20200804001-standard.zip
![placer le dépôt dans le répertoire](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-27.png)
Récupérer le driver pour la carte RAID Adaptec
Pour ma part, j’ai juste tapé « Adaptec 6805 » dans un moteur de recherche et le premier lien était celui du fabricant : https://storage.microsemi.com/en-us/support/raid/sas_raid/sas-6805/
Le site Internet d’Adaptec propose des drivers pour pleins de systèmes d’exploitations dont les ESXi (driver certifié jusqu’à ESXi6) :
![téléchargement du pilote Adaptec 6805 pour ESXi 6](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-22.png)
On télécharge le driver en acceptant les termes d’utilisation.
![téléchargement du pilote Adaptec 6805 pour ESXi 6](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-23.png)
On dézippe deux fois (un TGZ puis un TAR) et on récupère le fichier VIB.
![dézipper le fichier téléchargé](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-24.png)
Enfin, on place le fichier VIB dans le répertoire adéquat (« E:\ESXi\raid » dans mon cas).
Générer l’ISO personnalisé
Il suffit de lancer la commande PowerShell suivante :
.\ESXi-Customizer-PS-v2.8.1.ps1 -pkgDir .\raid\ -izip .\ESXi-6.7.0-20200804001-standard.zip -v67 -outDir .\iso\
- L’argument « pkgdir » permet de définir le répertoire où se trouve les drivers supplémentaires à rajouter à l’ISO.
- L’argument « izip » permet de définir le répertoire où se trouve le bundle offline d’ESXi 6.7
- L’argument « -v67 » indique que l’on veut créer un ISO d’ESXi 6.7.
- L’argument « outDir » indique où doit être généré l’ISO.
![lancer la création de l'ISO custom](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-34.png)
L’ISO est bien généré :
![ISO custom créé](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-35.png)
Installer ESXi 6.7
Sans trop détailler, j’utilise RUFUS pour mettre l’ISO sur clé USB et le rendre bootable :
![graver l'iso sur clé USB avec Rufus](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-32.png)
Puis on branche la clé USB sur l’hyperviseur, on démarre sur la clé (via bios ou démarrage avancé) puis on se laisse guider (à coup de « Entrée » + « F11/Valider »).
Job done !
![ESXi 6.7](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-37.png)
![avec Raid Adaptec reconnu](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-36.png)
Et ESXi 7.0 avec une Adaptec 6805 ?
De ce que j’ai pu lire, ce n’est pas du tout possible.
Le VMware Compatibility Guide semble très clair sur ce point : pas de v7.0 possible
https://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=20854
![ESXi 7 pas compatible avec Adaptec 6805](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-30-1024x565.png)
Même réponse du côté du site d’Adaptec : https://ask.adaptec.com/app/answers/detail/a_id/17481/~/vmware-esxi-7.x-support
![ESXi 7 pas compatible avec Adaptec 6805](https://blognote.jeremyblaizeau.com/wp-content/uploads/2020/10/image-29.png)