Installer ESXi 6.7 avec carte Raid Adaptec 6805

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
ici on voit que c’est la version 2.0 de PowerShell sur mon Win7 SP1

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
Lien de téléchargement Microsoft

Et on choisit la version correspondant à notre OS (dans mon cas, un Win7 64bits) :

liste des téléchargements

Ensuite on installe

Installation prête
On clique « Oui » puis « J’accepte »

Note : si vous n’avez pas le SP1 de Windows 7, cela ne fonctionnera pas.
La mise à jour s’installe…

Installation en cours
On attend puis on clique sur « Redémarrer maintenant »

On a donc maintenant la version 5 de PowerShell :

mise à jour effectuée, powershell v5

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

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

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

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
Lors de l’installation

Si on veut voir si tout est bien installé :

get-module vmware* -ListAvailable
récap de l'install powercli

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
On clique sur « Code » puis « Download ZIP »

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

On lance PowerShell et on se place dans le répertoire du script :

changer de répertoire dans powershell

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

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

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

Ce qui normalement doit donner le résultat suivant :

téléchargement des dépots offline d'ESXi 6.7

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

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

On télécharge le driver en acceptant les termes d’utilisation.

téléchargement du pilote Adaptec 6805 pour ESXi 6

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é

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

L’ISO est bien généré :

ISO custom créé

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

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
avec Raid Adaptec reconnu

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

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

Si vous souhaitez partager cet article...Share on Facebook
Facebook
Tweet about this on Twitter
Twitter