Synopsis
En essayant d’importer un OVA, une erreur est apparue portant sur la version Hardware de la VM, l’ESXi stipule bien que la version n’est pas compatible, il ne peux donc pas la démarrer mais ne veux aussi pas l’importer.
A VMware product cannot power on a virtual machine with a virtual hardware version that is higher than what it supports.
Venant d’un ESXi 6.0 avec la version Hardware à jour, l’importer sur un ESXi 5.5 et bah ça coince …
The OVF package requires unsupported hardware. Details: Line 25: Unsupported hardware family ‘vmx-11’.
Matrice VMware
Petite piqure de rappel des versions…
[rule style= »rule-dotted » ]
VM Version | 03 | 04 | 07 | 08 | 09 | 10 | 11 | 13 | 14 | 15 |
Hyperviseur | ESX 2.x | ESX 3.x | ESX(i) 4.x | ESXi 5.0 | ESXi 5.1 | ESXi 5.5 | ESXi 6.0 | ESXi 6.5 | ESXi 6.7 | ESXi 6.7 U2 |
[rule style= »rule-dotted » ]
C’est clair, il faut downgrader la version… en faisant un tour sur la KB VMware 1028019 nous avons plusieurs choix.
- Revert to a snapshot created before upgrading the virtual machine hardware…
- Use VMware vCenter Converter Standalone…
- Create a new virtual machine with required hardware version…
Rien de bien utile dans notre cas, il reste une dernière option non officiellement supporté par VMware mais que vous avez surement déja utilisé pour aller plus vite, la modification du fichier de configuration (.VMX) et c’est ce que nous allons utiliser.
Décompresser l’OVA
Utiliser un logiciel de décompression comme 7Zip pour extraire les 3 fichiers.
*****.mf *****.ovf *****.vmdk
Modification de la Version
Ouvrir l’.OVF avec un outils d’édition tel que Notepad++
Modifier la ligne ci dessous
<vssd:VirtualSystemType>vmx-11</vssd:VirtualSystemType>
Par la version souhaitée, ESXi 5.5 donc vmx-10 dans mon cas
<vssd:VirtualSystemType>vmx-10</vssd:VirtualSystemType>
Checksum
Si vous essayez tel quel ça ne fonctionnera pas car le fichier étant modifié, le checksum n’est plus en rapport et ca ne s’importera pas non plus.
On peut soir utiliser certutil soit un petit soft appellé File Checksum Integrity Verifier (FCIV) qui permet de générer le checksum SHA-1 dont nous avons besoin.
Certutil
certutil -hashfile "E:\Checksum\*****.ovf" sha1
FCIV
Après décompression du FCIV on pointe en Command Prompt l’.OVF
E:\Checksum\fciv.exe -sha1 "****.ovf"
//
// File Checksum Integrity Verifier version 2.05.
//
91c8afcda65d4a11b64123d24434477c42c7974e ****.ovf
Une fois le checksum généré , il faut le modifier dans le .MF
SHA1(****.ovf)= 91c8afcda65d4a11b64123d24434477c42c7974e
SHA1(****.vmdk)= 8a3e6d8378d49ae938afra50945318b408eae07e
Le fichier sauvegardé, il suffit de faire l’import mais cette fois de l’OVF. Dans certains cas vous aurez un Warning que vous pourrez ignorer.
Bonjour et un grand merci pour votre précieuse aide.
Content que mon article ai pu vous aider !
N’hésitez pas si vous avez des idées de post utiles pour la communauté.
Dit moi Mathieu j ai suivi la procédure mais c maintenant le fichier ‘cert qui dit qu il est invalid
Bonjour David,
Le fichier ‘cert, c’est à dire ?
Bonjour,
Pour générer le checksum sous windows 10
https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/certutil
certutil [options] -hashfile infile [hashalgorithm]
soit ici :
certutil -hashfile « C:\…\fichier.ovf » sha1
Bonjour,
pour le calcul du checksum, on peut aussi passer par PowerShell avec
Get-FileHash [-Path] <System.String[]> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]
qui permet de préciser l’algorithme car je crois qu’à partir de la version 6.5 on est en SHA256