Mon premier post sur Hyper-V ne traitera pas de la V2 (installation programmée pour bientôt). Oui, ce serait tentant mais avant de courir, il faut savoir marcher. A première vue la console du produit parait simple, pas grand chose à configurer, il semble que sorti de la boite, il est prêt à être utiliser.
Oui, c' est vrai. C' est l' objectif de Microsoft. mais cette simplicité cache beaucoup de choses. certains concepts "simplistes" peuvent nous induire en erreur. C' est pour cette raison que je me lance dans cette première plongée dans Hyper-V.
Installation
je ne vais pas m' étendre sur ce point. Microsoft l' a assez fait. Techniquement, c' est un rôle à installer sur une installation de Windows Server 2008 64 bits. Deux pré-requis techniques :
- L'activation de Data Execution Prevention dans le BIOS
- L'activation des extensions de virtualisation du processeur dans le BIOS
Une fois ces deux fonctionnalités activées, il est recommandé de faire un arrêt complet du système pour permettre leur prise en compte. L' expérience a montré qu' un simple redémarrage à chaud ne suffit pas.
Windows Server 2008 Full GUI ou Core?
Quel choix cornélien. En ce qui me concerne le choix est déjà fait, c' est Core, pour plusieurs raisons :
- C' est plus rapide à installer (Seulement, 1,8Go de fichiers à copier. Cela ne veut pas dire qu' il faut réduire la partition système!)
- Emprunte mémoire plus petite = plus de machines virtuelles
- Moins de correctifs à installer (regardez le nombre de correctifs uniquement liés à Internet Explorer et toutes les applications au dessus du système d' exploitation)
Après, je suis d' accord, c' est pas forcément facile à administrer. Mais rien ne vous empêche de l' administrer, il faut juste savoir comment faire. Ce point fera l' objet d' un prochain post sur Hyper-V. Après, il y a des adeptes de la ligne de commande (Stanislas suit ma pensée).
Réaliser une image de référence
Quand on voit que Hyper-V n' est rien qu' un rôle à installer, on pourrait se dire qu' il est facile d' intégrer ce rôle dans une image de référence WIM. Mais c' est une erreur! Lorsqu' on va déployer notre image, Hyper-V sera bien installé mais pas actif. Pour comprendre, il faut savoir que Hyper-V s' active avant le démarrage du système d' exploitation. Pour cela, le Boot-Loader est chargé de démarrer Hyper-V. Ci-dessous l' exemple de l' un de mes systèmes en double boot. Une simple commande BDCEDIT.EXE dans une invite de commande MS-DOS :
le Boot Manager référence deux choix :
- le premier mon Windows VISTA
- le second mon Windows Server 2008
Si on regarde de plus près le "Windows Boot Loader" de mon Windows Server 2008, il y a une option nommé "HypervisorLaunchType". Lorsqu' on fait un master, le Boot-Loader n' est pas inclus. Une image WIM est une image fichier et non disque ou partition. Donc Une fois déployée, l' option n' est pas reconduite. Pour corriger cela, on ne peut plus modifier le fichier "boot.ini" comme sous Windows XP/2003. Il faut passer par BDCEDIT avec la commande suivante : "Bcdedit /set {current} hypervisorlaunchtype auto"
Pour plus d' information à ce sujet, voir la KB954356 sur ce sujet.
Dès que j' ai un peu de temps, je vais faire un post pour compléter le master Windows Server 2008 pour intégrer Hyper-V comme application installée lors de la première ouverture de session.. De cette manière on contourne la problématique.
Configuration générale de Hyper-V
Il semble n' y avoir pas grand chose dans l' interface. Il y a juste l' essentiel :
- La localisation des fichiers de définition des machines virtuelles
- La localisation des fichiers des disques virtuels
Par défaut, oui, c' est le même répertoire. La tentation serait grande de séparer les deux pour raison d' espace disque. La aussi, c' est une erreur. Lorsqu' on fait un snapchot de machine virtuelle, celui-ci n' est pas stocké dans le répertoires des disques virtuels mais dans la répertoire des fichiers de définition des machines virtuelles. En les séparant, on peut facilement remplir la partition système de la partition parente.
Pour conclure sur ce point, OK pour les déplacer sur un disque dédié mais impérativement les conserver ensembles. Cela nous amène à un autre point à ne pas négliger, à savoir l' estimation de la capacité de stockage nécessaire. Il faut prendre en compte les disques des machines virtuelles ainsi que l' usage des snapshots.
Configuration des réseaux
Voila un sujet qui mérite tout son attention. Lors regarde dans l' interface, il nous propose trois possibilités :
- Créer une interface externe
- Créer une interface interne
- Créer une interface privée
La création d' une interface externe va nous obliger de lui associer une interface réseau de la partition parente. L' interface virtuelle permettre aux machines virtuelles d' accéder au réseau de la carte réseau physique. Le seul problème, c' est que l' interface réseau physique n' est plus utilisable. Allez faire un tout dans la liste des interfaces réseaux. Surprise, il y en a une de plus.
La première illustration représente ma carte réseau physique (celle de la partition parente). Tout est désactivé. Elle est juste utilisée pour présenter le service réseau. Tout a été bascule dans la seconde interface réseau. Celle-ci a même repris l' adresse IP. Ce mode de fonctionnement pose un problème pour ceux qui font su scripting : Comment différencier ces deux interfaces. La réponse est simple, Si une carte réseau n'est pas IPEnabled, c' est une carte réseau externe.
NOte : Cette carte réseau externe peut être configurée avec le "VLAN tagging" pour associer un numéro de VLAN qui sera utilisé par la partition parente et donc par les machines virtuelles. Cela sera transparent pour elles.
Une carte réseau Interne n' est pas liée à une interface physique de la partition parente. Seules les machines virtuelles hébergées peuvent l' utiliser pour communiquer entre elles et avec l' hôte Hyper-V. Seule contrainte, pas d' accès réseau au delà de l' hôte Hyper-V.
Enfin, la carte réseau privée n' est utilisable que par les machines virtuelles.
Sur mon ordinateur portable, je n' ai qu' une seule carte réseau LAN et une carte réseau Wireless. Pourtant cette dernière n' est pas encore utilisable sous Hyper-V (Je travaille sur le sujet, je vais finir par trouver une solution). En attendant, je suis coincé avec ma seule interface réseau. Je veux l' utiliser pour accéder à des ressources réseau mais aussi la mettre à disposition de mes machines virtuelles. Cela pose pas mas de problème. j'ai trouvé une solution en installant une interface réseau de type "Loopback" sur ma partition parente et je lui ait associé une interface "externe". De cette manière, mes machines virtuelles ont toujours une interface réseau dédiée pour accéder la partition parente. Les échanges entre l' hôte et les machines virtuelles sont donc possibles.
Note : le "teaming" de cartes réseau n' est pas encore supporté par Microsoft sous Hyper-V. En plus, cela ne semble pas fonctionner.
Conclusion, le nombre d'interfaces réseaux de l' hôte Hyper-V est important. Pour ma part, la recommandation est la suivante :
- une interface ILO pour administrer le serveur (Toujours utile pour dépanner)
- Une interface LAN dédiée pour administrer l' hôte Hyper-V (A isoler sur un VLAN pour raison de sécurité)
- Une interface réseau dédiée à la sauvegarde (oui, ce sera très utile, c' est pas du superflu)
- Une ou plusieurs interfaces réseaux pour les machines virtuelles
Voila pour cette première plongée dans Hyper-V. On constate donc que le produit est bien plus complexe qu' il n' y parait et qu' il est facile de faire des erreurs. La plongée continuera dans un prochain post sur la définition des machines virtuelles et l' utilisation des snapshots. La aussi, c' est bien plus compliqué qu' il n' y parait.
Benoit - Simple by design