Ayant une plateforme de qualification basée notamment sur la virtualisation vmware, et permettant de faire des tests sur des machines avec les OS windows, linux (red hat, debian, ubuntu…), Solaris, j’en profite pour déployer aussi tôt que possible les nouveaux OS virtualisables.

J’ai par exemple récemment ajouté un serveur ESXi vsphere 5 (sortie fin août 2011), afin d’améliorer mon architecture qui comprend actuellement des ESX 3.5, ESXi 4.1 et ESX 4.0.

Et cette semaine, apprenant la sortie de Windows 8 en version developer preview, je me suis donc attelé à la tâche.

J’ai comme beaucoup de monde commencé par échouer, avant de trouver une méthode un peu tirée par les cheveux mais qui me permet d’atteindre mon but : faire tourner un windows 8, sur une infra vSphere 4.1 ou vSphere 5 (les deux ayant été testées sur des ESXi).

Je présente ci-dessous les essais infructueux puis celui qui a fonctionné, et qui vous semblera finalement évident.

Etape 1 : récupérez les ISO d’installation. On les trouvent tout simplement ici en version 32 bits et 64 bits (respectivement 2.8Go et 3.6 Go). A noter : une 3ème version comportant de plus les outils développeurs, faisant 4.8 Go.

Mon conseil : placez ces ISO sur un NAS, accessible depuis n’importe quel PC/VM de votre réseau. Téléchargez à minima l’ISO 32 bits. 

Etape 2 : créez une VM sur votre ESXi 4.1 ou 5, en vous basant sur l’OS invité «Windows 7» (32b ou 64b en fonction de l’ISO que vous avez téléchargé). Ensuite, démarrez la VM, attachez l’ISO de «Windows 8» via le bouton «connecter» et lancez l’installation. Je ne détaille pas plus, car c’est la procédure classique que vous devez probablement maitriser.

Et là… C’est le drame : un magnifique écran de la mort que l’on pensaient disparu à jamais :

HAL_INITIALIZATION_FAILED

Alors vous aurez beau redémarrer la VM, refaire l’installation, en 32b ou en 64 b, changer les paramètres vmware… toujours ce satané  HAL_INITIALIZATION_FAILED. A noter un espoire : sur un vsphere 5, vous devez choisir « Windows 7 » lors de la création initiale de la VM mais vous voyez apparaitre «Windows 8» dans la liste des OS invités si vous éditez les paramètres d’une VM déjà existante. Hélas, cela ne change rien… Toujours le même plantage.

J’ai parcouru le web sans trouver de secours providentiel à ce propos. Par contre, cela m’a permis d’apprendre la sortie de vmware Workstation 8, lequel supporte l’installation de  «Windows 8». Passons donc à l’étape suivante :

Etape 3 : téléchargez vmware Workstation 8. Ce produit est payant, et pour le télécharger vous devez vous connecter avec votre compte vmware. La bonne nouvelle, c’est que l’on peut créer un compte gratuitement pour ceux qui n’en ont pas, et que vous pouvez obtenir une licence d’essai de 1 mois pour vmware workstation 8. Donc sur la page de download, vous avez d’abord la licence puis 3 versions : les packages d’installation windows 32 et 64 bits, puis linux 32 et enfin linux 64 b.

Mon conseil : téléchargez la version « windows 32 et 64 bits » (474 MB) sur votre ressource réseau et créez au même endroit un fichier texte dans lequel vous ferez un copier/coller de la licence.

Etape 4 : Installez Workstation 8 sur votre PC ou bien sur un serveur physique disponible. Les séquences sont les suivantes:

Lancez l’installer, Choisissez le mode « Typical »,  l’installation se déroule. puis saisissez le numéro de série temporaire (utilisez le fichier texte précédent), et validez la licence d’utilisation.

 

Etape 5 : Installez « Windows 8 ».

Les étapes là encore, sont assez simples. L’approche est semblable à ce que vous avez l’habitude de faire sur vSphere 4.1 : créer une « enveloppe » de VM, connecter un ISO et lancer l’installation. Il y a juste une étape « fondamentale » à respecter. Allons-y :

Commencez par lancer vmware Workstation 8, et vous aurez l’écran du décompte de la licence temporaire qui s’affichera en premier.

Après l’avoir validé, vous arriverez sur la HOME :

Cliquez sur « Create a New Virtual Machine » et vous aurez l’écran suivant :

Validez par un « Next »…

Et sur l’écran ci-dessous, sélectionnez « I will install the Operating System later ». C’est l’étape « fondamentale » que j’évoquais précedemment. Si vous conservez l’option par défaut et débutez l’installation directement, vous obtiendrez des erreurs de fichier de licence et vous n’irez pas au bout.

Après un « Next », vous continuerez sur :

Là, sélectionnez « Windows » puis la version «Windows 7» ou « Windows 7 (x64) ».

Validez par « Next », et vous devrez définir la taille disque et le type de fichier.

Mon conseil : un minimum de 25 Go me semble nécessaire, et sélectionnez « Store disk as a single size », nous verrons plus loin l’utilité de cette option. Cliquez sur « Next ».

Voilà nous y sommes… Cliquez sur « Finish ».

Vous obtenez votre VM dans la liste des VM disponibles (j’en ai deux dans cet exemple, j’ai fais plusieurs types de tests).

Si vous cliquez sur « Edit Virtual Machine Settings », vous obtiendrez l’écran ci-dessous qui vous permet de régler des paramètres dont ceux de la mémoire allouée (on retrouve l’environnement familier de vsphere).

Mais cliquez sur la ligne « CD/DVD (IDE) » puis  sélectionnez « Use ISO image file: » puis cliquer « Browse » pour aller connecter le fichier ISO de windows 8 que vous souhaitez installer :

Validez par « Ok » ce qui vous ramène sur la HOME et la liste de VM disponibles. Cliquez alors sur « Power On this Virtual Machine ». La VM démarre alors et va booter sur l’ISO…

 

 Passons sur la phase de configuration initiale (création d’un compte user), ce n’est pas le sujet de cet article.

Vous obtenez alors votre premier aperçu de la nouvelle interface utilisateur de  «Windows 8» : Metro !

A la fin de cette longue étape 5, nous avons donc un «Windows 8» installé (et qui fonctionne) dans une VM. Mais nous n’avons pas atteinds notre but car si vous êtes perspicaces, cette VM tourne sur un Serveur Physique équipé de « Workstation 8 » et non sur une infrastructure basée sur un vSphère 4.1 ou 5.0. Continuons notre quête.

Etape 6 : Transférer notre VM «Windows 8» qui fonctionne, de vmware Workstation 8 à vsphere 5. 

J’ai pensé (naïvement) qu’au vu des dates de releases très proches entre vsphere 5 et workstation 8, il y avait de fortes chances que la VM créée sous workstation 8 puisse fonctionner également sous vsphere 5. Pour cela, le plus naturel est d’utiliser « vmware converter » qui comme son nom l’indique, permet de convertir des VM entre les différents produits vmware. 

Vous voici donc à télécharger converter, l’installer et le configurer. L’installation se fait en mode standalone sur le poste qui fait tourner Workstation 8. Vous sélectionnez comme source votre VM  «Windows 8» puis fournissez les informations de connection à votre vcenter 5 (bien le vcenter, pas l’ESX!) et lancez la conversion/migration. Car comme c’est un outil « magique », il convertit et copie la VM sur votre vcenter 5.

 

 

Je passe sur les différentes étapes et les paramétrages. Car comme vous l’avez compris, quand j’ai démarré la VM  «Windows 8» dans mon vcenter 5, elle a commencé à booter mais n’a finalement pas démarré. Donc étape 6 inutile en l’état (à moins que quelqu’un connaisse des manipulations spécifiques pour la mener à bout).

Etape 7 : désespoir… Là, j’en étais arrivé prêt à faire n’importe quoi. Donc j’ai tenté le remplacement de disque virtuel.

En gros, la démarche a été la suivante :

Créer sur un vcenter 5, une VM identique à celle utilisée pour monter la VM  «Windows 8» sur le « workstation 8 » :

– même OS invité de base (windows 7), mêmes caractéristiques mémoires et disque

– suppression du disque virtuel présent sur le datastore du vcenter 5.

– upload du disque virtuel de la VM «Windows 8», depuis le serveur physique vers le datastore vcenter 5 (d’où l’utilité de sélectionner « Store disk as a single size » lors de la création de la VM initiale, car il est plus facile de déplacer un seul gros fichier!).

– utilisation de la commande « vmkfstools » pour importer le disque virtuel sur l’ESX

Il fallait s’y attendre, le démarrage de la VM sur le vcenter 5 n’a pas donné de meilleurs résultats que précédemment. On voit bien un message « Windows Developper Preview » mais la VM s’interrompt en cours de boot. Peut-être que l’étude des logs permettraient à un admin vmware à trouver des modifications de paramétrage? J’ai pour ma part abandonné cette piste.

Etape 8 : l’upgrade de version. Je me suis dit que le plus simple était finalement de faire l’upgrade d’une VM existante et fonctionnelle, pour la passer en «Windows 8». J’ai donc pris une de mes VM de test en  «Windows 7» qui me parait être le plus proche techniquement de la version  «Windows 8». Et j’ai lancé un simple upgrade après avoir connecté l’ISO d’installation.

    

J’avoue qu’à la vue du quatrième écran, j’étais plein d’espoir. Puis « l’écran bleu de la mort ».      :(

Etape 9 : Une bonne nuit de sommeil. La nuit portant conseil, j’ai finalement combiné ce qui fonctionnait :

– installer  «Windows 8» dans une VM sous « Workstation 8 ».

– installer « Workstation 8 » dans une VM sous vSphere 5.

Et oui, c’est aussi « simple » que cela au final. Dans un vSphere 5, commencez par construire (ou réutiliser) une VM en  «Windows 7» 32b ou 64b. Modifiez cependant ses paramètres pour :

– augmenter la mémoire à 4096 Mo

– attribuer des ressources mémoire et CPU importantes (le plus que peut vous autoriser votre ESXi)

– attribuer 2 CPU

– avoir au moins 20 GO de libres (rajoutez de la taille disque dans vcenter puis resizez le « à chaud » sous windows si nécessaire)

Allumez votre VM, et rebootez là à nouveau pour la prise en compte des nouveaux paramètres. Maintenant, suivez les étapes 3, 4  et 5 sur votre « VM windows 7 ». Installez une version de windows 8 en 32 bits, vous risquez de ne pas pouvoir déployer la version 64 bits en fonction des caractéristiques de vos serveurs physiques.

Vous obtiendrez alors un  «Windows 8» tournant (dans une VM  «Windows 7») sur votre ESXi 5.0.

Mon conseil : pour faire toutes les manipulations sur la VM  «Windows 7», s’y connecter en mstsc -console, et pas en utilisant le mode console vmware !

Au final, nous avons bien atteinds notre objectif : faire tourner un  «Windows 8» sur une infrastructure vSphere 5. Même s’il est encapsulé dans un  «Windows 7», vous n’avez pas besoin de monopoliser de ressources physiques autres que celles de votre infrastructure vmware.

Etape 10 : Faire la même chose sur un vCenter 4.1 ?

La simplicité avec laquelle cela s’est déroulé sur un vCenter 5 m’a poussé a tenté la même opération sur un vCenter 4.1, qui représente la majorité de mon infrastructure de qualification, et qui est le plus répandu actuellement (vSphere 5 venant juste de sortir). J’ai donc appliqué la démarche de l’étape 9 (la nuit de sommeil en moins) mais j’ai buté sur une erreur lors de la création de la VM dans « Workstation 8 » :

Grâce à ce post, j’ai pu résoudre le problème. Il faut modifier les paramètres de la VM qui fait tourner « Workstation 8 », pour activer un mode spécifique. Pour cela, éteignez la VM  «Windows 7», et dans vCenter 4.1, cliquez sur « Modifiez les paramètres » pour cette VM. Allez sur l’onglet « Options », la ligne « Avancé » / « Général » et cliquez alors sur le bouton « Paramètres de configuration… » qui va apparaitre en bas à droite.

 

 

 

 

 

 

 

 

Sur la nouvelle fenêtre, cliquez sur « Ajouter ligne » et insérez les 3 lignes suivantes (ou modifiez la valeur si la ligne existe déjà):

deploymentPlatform = « vmkernel »

monitor_control.vt32 = « TRUE »

monitor_control.restrict_backdoor = « TRUE »

Refermez tout, relancez la VM  «Windows 7», relancez « Workstation 8 » et là vous devriez voir de nouveaux messages lors de la création d’une VM :

 

 

 

 

 

 

Voilà, c’est gagné ! Vous pourrez démarrer l’installation de « Windows 8 Developper Preview » sur votre ESX 4.1.

Nous avons atteinds notre objectif : déployer un « Windows 8 Developer Preview » sur un vSphere 4.1 et sur un vSphere 5.0. Cette installation est suffisamment standard pour que l’on puisse utiliser cette VM pour faire des tests même si elle est encapsulée dans une VM Windows 7.

Et maintenant ?

Je suppose que vmware va « rapidement » communiquer un workaround sur le moyen de faire fonctionner une VM en  «Windows 8» directement sur un vCenter, sans passer par le mécanisme décrit ci-dessus. Même si « Windows 8 » n’est pas sorti officiellement (la GA ne devrait pas avoir lieu avant une bonne année), l’intérêt de la virtualisation me semble notamment être dans la capacité à pouvoir facilement et rapidement créer de nouvelles plateformes de test prenant en compte les dernières évolutions techniques, sans attendre que tout soit figé.

Si vous avez apprécié ce post, n’hésitez pas à revenir souvent car ce site devrait rapidement s’enrichir de nouveaux articles.

Voilà, depuis le temps que j’y songe, je lance enfin ce site dont le thême principal sera la qualité du logiciel, plus particulièrement évoquée sous un angle « ouvert ».

C’est donc ce qui explique son titre : SQA Open.

Pour les néophytes, SQA = Software Quality Assurance, c’est à dire Assurance Qualité Logiciel (AQL) en français.

Pourquoi « ouvert » ? Parce que je souhaite « vulgariser » ce domaine et le rendre accessible au plus grand nombre, et cela passera notamment par la présentation et l’utilisation de concepts et outils ouverts, open source, que chacun pourra utiliser simplement.

Le domaine de la qualité du logiciel est un domaine vaste et étendu, et j’espère pouvoir vous servir de guide pour vous en faire découvrir qq aspects intéressants.

Ce site sera certainement amené à évoluer énormément dans les semaines et les mois à venir alors n’hésitez pas à revenir souvent, faire des contributions et/ou des commentaires.

Olivier

 

© 2011 SQA Open Suffusion theme by Sayontan Sinha