mercredi 31 mars 2010

Hyper-V 2008 R2 : Faites vous un lab. de test virtualisé gratuit !

hyper-v 2[3]

Pour des besoins d’auto-formation, et surtout pour le plaisir, j’ai décidé d’installer Hyper-V 2008 R2 à la maison. Hyper-V est un Hyperviseur, c’est à dire une machine serveur dont le but est de faire tourner en son sein plusieurs machines virtuelles (VM).

Quel peut être l’intérêt de faire tourner ce “truc” à la maison ? La réponse courte est : “rendre le sourire à votre femme”, la réponse longue est : “vous permettre d’économiser de l’espace, du hardware et de l’électricité” bref de la ‘tune’! En supprimant physiquement vos diverses machines de test, serveurs FTP,distrib linux, serveur multimédia… j’en passe, et des plus exotiques… pour migrer tout ce petit monde au sein de votre hyperviseur.Voila l’économie : Une machine au lieu de 4 ou 5 ! Si vous supprimez les écrans et la consommation électrique associées, vous récupérerez en plus de l’espace chez vous, et c’est votre femme qui va retrouver le sourire en voyant que ça maison ne ressemble plus à un datacenter !”  CQFD.

 

Pre-requis

- Une machine puissante qui sera l’Hyperviseur. (le processeur doit être 64 Bits et supporter les technos Intel-VT ou AMD-V et la Ram doit être au moins de  2 Go).
- Une machine de votre choix pour administrer l’Hyperviseur à distance (ce peu être votre machine principale).
- Hyper-V 2008 R2 à télécharger gratuitement ici et à graver sur un CD.
- Les outils d’administration à distance pour Windows 7 à télécharger .
- Des machine Virtuels prêtes à l’emploi. J’ai déjà présenté plusieurs liens dans ce billet.
- CoreConfigurator : Un ensemble de scripts Powershell permettant d’administrer un serveur hyper-V ou Core de façon graphique.
- Hvremote : un script permettant de simplifier les configuration entre console d’admin. et Hyperviseur en Workgroup et en Domaine.

 

Architecture

Restons simple, c’est plus économique. Le Lab est constitué de deux machines.

L’Hyperviseur : votre plus belle machine (ne pleurez pas, y’a pas que les jeux dans la vie !). plus elle aura de ram et de cœurs et mieux cela sera. Un disque d’une 100 ene de Megas est parfaitement suffisant pour faire tourner l’hyperviseur et une 10 ene de machines virtuel (VM)

La machine d’administration : votre bête de course de l’année dernière ou votre  petit PC portable qui va devenir votre nouvelle machine à tout faire. Cette machine vous servira entre autre à prendre la mains sur l’Hyperviseur une fois qu'il sera configuré.

1 – Installation

L’installation s’effectue à la manière d’une installation normal de Windows 7 (je résume les principale étapes qui parlent d’elle même et ne présentent pas un grand intérêt).

- Bootez sur le CD d’installation.

- choisissez la langue.

- cliquez sur installer Maintenant.

- Acceptez les terme du contrat de licence.

- Choisissez personnaliser pour pouvoir définir les partition de vos disque. Si vous avez un disque d’une taille raisonnable et que vous avez en tête de bidouiller Hyper-V  en profondeur, créez deux partitions (une pour l’ OS, l’autre pour les VM), cela vous évitera de recréer vos machine virtuelles au cas ou vous auriez à réinstaller Hyper-V.

- Hyper-V s’installe, puis âpres un reboot, vous arrivez sur une page ou on vous demande de changer le mot de passe administrateur.(le mot de passe doit contenir chiffres, lettres et caractères spéciaux)

une fois le mot de passe changé vous voila logué sur votre Hyperviseur. Certes c’est un peu austère, mais c’est ici que va ce créer la magie…

dosV

 

2 – Configuration

Avant de commencer la configuration, petite parenthèse afin de justifier le choix de config que je vais utiliser pour Hyper-V. En cherchant sur le net les meilleurs pratiques de configuration d’hyper-V, je suis tombé sur un points de divergences entre les pros de la discipline : Est t’il meilleur d‘installer Hyper-V en Domaine ou en Workgroup ? 

Evidement je me garderais bien d’argumenter dans un sens ou dans l’autre, n’ayant pour l’instant aucune expérience significative pour trancher,  cependant le domaine et peu rependu chez les particuliers (pour pas dire que ça n’existe pas) donc pas d’intérêt à partir sur ce type de config pour l’instant…

Fin de la parenthèse, passons à la config :

- Changez le nom de votre hyperviseur par ce que vous voulez (Option 2). la machine va alors rebooter. Pour cet exemple j’ai choisi “HyperVault”

- Ajouter l’administrateur local (Option 3).  ATTENTION : Pour simplifier les choses au maximum, créer un compte ayant le même nom d’utilisateur que la machine qui vous servira à l’administrer à distance, et choisissez un mot de passe ayant un niveau de sécurité fort ! Pour cet exemple, j’ai choisie hvdiagg (qui existe déjà sur ma machine d’admin)avec le mot de passe : P@ssw0rd

- Ajouter l’administration à distance (Option 4) et activer les sous options 1 (MMC), 2 (PowerShell) suivi d’un reboot et 3 (admin à distance).

- Configurez les paramètres réseau si vous n’utilisez pas le DHCP de votre box (Option 8), et entrez y l’adresse IP statique que vous avez choisis pour votre Hyperviseur.

- Activer les mise à jour de Windows Update (Option 5) et téléchargez toutes les mise à jour (Option 6). Un reboot peu être nécessaire.

- Activez bureau à distance (Option 7) si vous souhaitez par la suite vous passer du clavier et de l’écran de votre Hyperviseur. vous pourrez alors faire un déport d’écran vers la machine d’admin. Si vous utilisez Windows 7 sur la cette machine, choisissez l’option 1 (NLA) sinon utilisez l’option 2.

- Synchroniser l’heure (Option 9) en cliquant sur l’onglet “temps Internet” puis “modifier les paramètres” et “mettre à jour”

 

Hyper-V en Interface Graphique

Toutes ces phases de configuration peuvent êtres effectues via une interface graphique en installant le script CoreConfigurator  téléchargable ici.

Pour l’installer depuis votre machine d’admin, connectez vous au disque dur de l’Hyperviseur de la façon suivante \\<IP d’Hyper-V>\c$, soit pour mon cas : \\192.168.1.5\c$

copiez-y le fichier CAB, et à partir de la fenêtre DOS de l’Hyperviseur, créez un répertoire de  décompression à la raçine de C:

cd\ (pour vous positionner à la racine)

md coreconfig (pour créer le répertoire)

expand CoreConfig.cab -f:* c:\coreconfig (pour décompresser le .CAB)

Lancer le script par la commande Start_CoreConfig.wsf

Server-Core-Configurator_1


- Autorisez l’accès au compte que vous avez créé plus haut. Pour cela copiez le programme Hvremote  à la racine de l’Hyperviseur (Utilisez la méthode décrite dans l’encadré intitulé “Hyper-v en interface graphique”)

Utiliser l’invite de commande DOS d’Hyper-v et tapez : cscript hvremote.wsf /add:<utilisateur> soit dans notre exemple cscript hvremote.wsf /add:hvdiagg

Rebooter le serveur ! Il est maintenant opérationnel.

 

 

3 – Configuration de la machine d’administration

- Dans un premier temps nous allons établir une connexion RDP afin de pouvoir prendre la main à distance sur l’Hyperviseur. Une fois cette étape terminée vous pourrez enfin vous débarrasser du moniteur de se dernier.

Ouvrez  le menu démarrer puis, tout les programmes>Accessoires> Connexion Bureau à distance

MenuRDP

 

Dans la fenêtre de connexion RDP entrez le nom, ou l’adresse IP de l’hyperviseur.

RDP

Windows va ensuite vous demander de confirmer à plusieurs reprise que vous souhaitez bien vous connecter à ce serveur, bien qu’il ne possède pas de certificat valide. Acceptez tout ! Vous seront également demandés ; un login et un mot de passe. Utilisez ceux qui nous avons créer à l’étape précédente afin d’établir la connexion avec le serveur.

RDPOK

- Nous avons à présent un moyen simple d’administrer Hyper-V, cependant nous avons besoin d’un outil supplémentaire pour administrer les machines virtuel qui y seront hébergées.  Nous allons installer pour cela,  les outils d’administration à distance.

Une fois installés, vous ne les trouverez pas dans votre menu démarrer, vous devez les activer soit en passant par le panneau de configuration>programmes>Activer ou désactiver des fonctionnalités Windows>Outils d’administration de serveur distant>Outils d’administration de rôle>Outils Hyper-V

RoleHYperV

Ou alors en ouvrant une invite de commande en mode administrateur et en tapant (en une seul ligne) :

dism /online /enable-feature /featurename:RemoteServerAdministrationTools
/featurename:RemoteServerAdministrationTools-Roles /featurename:RemoteServerAdministrationTools-Roles-HyperV

L’outils devient alors accessible depuis le panneau de configuration>système et sécurité>Outils d’administration>Gestionnaire Hyper-V

- Nous allons maintenant configurer l’accès de la console d’admin vers  l’Hyperviseur :

Ouvrez une invite de commande avec droits d’admin. et tapez la commande suivante : cscript hvremote.wsf /anondcom:grant  pour autoriser les connexions anonymes DCOM distantes.

Si les mots de passe du compte commun au deux machines sont différent (cf: hvdiagg), utilisez la commande cmdkey /add:<nom de serveur> /user:<nom de serveur>\<compte utilisateur> /pass:<mot de passe>. Soit dans notre exemple : cmdkey /add:HyperVault /user:HyperVault\hvdiagg /pass:P@ssw0rd

- Enfin nous allons ajouter notre Hyperviseur au fichiers HOSTS car il n’existe pas de resolution DNS pour ce dernier :

lancez notepad avec droits d’admin., et  ouvrez le fichier HOSTS qui se trouve dans C:\Windows\System32\Drivers\Etc\ et ajoutez l’entrée suivante : <IP de votre Hyperviseur> <Nom de votre Hyperviseur> soit dans notre exemple : 192.168.1.5     HyperVault

Rebootez votre machine d’admin. afin que Windows prenne en compte les modification apportées au fichier HOSTS.

- Apres le reboot vous pouvez lancer le gestionnaire Hyper-V et y ajouter votre Hyperviseur soit par son adresse IP soit par son petit nom.

hyperVault

- Configurons le réseau afin que les futures machines virtuelles puissent communiquer avec votre réseau physique et également sortir sur internet.

Dans le menu de droite cliquez sur “Gestionnaire de réseau virtuel”, puis dans la nouvelle fenêtre sélectionnez “Externe” et cliquez  sur “Ajouter”.

ConfVirtuel

Sélectionnez la carte  réseau de votre choix si vous en avez plusieurs,donnez lui un nom explicite et valider par OK.

- Si vous avez copié des machines virtuelles sur le disque D de votre Hyperviseur, spécifiez à Hyper-V l’endroit  ou il peut aller les chercher en sélectionnant dans la fenêtre de droite l’option :  “Paramètres Hyper-V

Réglez le paramètre “Ordinateur virtuel” sur le disque D

Conf-V

Et “Disques durs virtuels” sur D:\VHD (dans le cas ou vous avez mis vos images d’OS dans un répertoire nommé VHD !)

Conf-V2

- Voila, le plus gros est fait, il reste à configurer notre première machine virtuel est à la démarrer pour être opérationnel.

dans le menu de droite : “Nouveau>Ordinateur Virtuel”. Une fenêtre s’affiche, cliquez sur “suivant”.

Donner un nom explicite à votre machine Virtuel et cliquez sur '”suivant”, sur la page de configuration de la mémoire, cliquez à nouveau sur “suivant”.

Sur la page de configuration réseau sélectionnez le réseau que vous aves configuré plus haut.

Confrzo

Cliquez sur “suivant”, dans la page “Connecter un disque dur virtuel” choisissez l’option “Utiliser un disque dur virtuel existant” en indiquant le chemin de ce dernier.

confvhd

cliquez sur “suivant” puis “terminé”, la machine s’ajoute dans la fenêtre principal, il ne reste plus qu’a la “démarrer” et à “Se connecter” pour savourer la puissance de la chose…

hypervworking

 

- Dernière précision, les VHD fournie par Microsoft sont des OS en anglais, et donc en Qwerty. Vous aurez besoin d’utiliser le clavier visuel pour pouvoir taper le mot de passe fournie avec avec les VHD! (celui de 2008 R2 est Pass@word1)

 

 

Bonus 

si d’aventure vous souhaitiez impérativement utiliser le même mot de passe pour vos compte utilisateurs tout en utilisant une politique de sécurité moins restrictive que celle d’Hyper-V au niveau des caractères spéciaux, lisez ce tutoriel, il fonctionne à merveille : http://blog.jmedved.com/2009/09/disabling-password-complexity.html

Vous aurez probablement besoin d’ouvrir quelques port sur votre par feux pour qu‘Hyper-V et votre machine d’admin communiquent parfaitement. j’utilise pour ma part l’excellent “Look & Stop”, et j’ai dut autoriser les ports 135 et  56675 en connections entrantes.

Enfin, voici quelques complément que je viens d’ajouter pour vous faciliter l’administration d ‘Hyper-V au quotidien : le guide de survie en appartement !

 

Mots clés Technorati : ,,,

jeudi 4 mars 2010

Windows Installer MSI : Modifiez vos packages à la volée – Part 3

packaging-fd78_h

Troisième et dernier billet sur la façon non officiel/non supporté de modifier vos packages MSI en les éditant directement. Aujourd’hui :

Exemple 3 – Ajouter des fichiers !

Je vais ajouter à l’installation de Live Writer (logiciel de blogging qui m’a permit d’écrire ce billet) tout les plugins que j’utilise avec, afin de rendre l’application opérationnelle “Out of the Box”.  Les Plugins étant déjà installés sur ma machine, il faut juste que je sache ou aller les chercher pour pouvoir les ajouter à mon package MSI.

Je commence par lancer Qwerty.msi. Je sélectionne le fichier Writer.msi et dans les options, je choisis « Copy all Files ». Contrairement aux billets précédant ou j’avais réalisé une installation administrative, je vais ici reconstruire l’intégralité du package MSI.

openwriter

Une fois le MSI décompilé, je doit procéder à une étape préparatoire :  l’intégrations des fichiers  de plugins et de settings!

Pour cela, je vais aller copier mes  plugins (un ensemble de DLL contenu dans le répertoire  C:\Program Files (x86)\Windows Live\Writer\Plugins) au sein de mon package décompilé, soit dans ..\Writer.msi.Sources\SourceDir\PFiles\Windows Live\Writer

Je retourne dans Qwerty.msi et me rend sur l’onglet “Features” ou je  sélectionne dans la fenêtre de gauche  le feature “Windows live Writer“.

featurewriter

Puis dans la fenêtre de droite je clique sur l’icone “file system” (en haut à gauche).  L’arborescence des fichiers s’affiche, je la parcours jusqu'‘au sous répertoire :  ProgramFiles Folder>Windows Live>Writer>Plugins

En cliquant bouton droit sur le répertoire Plugins je sélectionne Add>files pour pouvoir ajouter mes fichiers de plugins.

part3-openfile

Je sélectionne tout mes fichiers de plugin en une seul fois (CTRL+A) depuis la source d’installation soit ..\Writer.msi.Sources\SourceDir\PFiles\Windows Live\Writer, les voila importés dans mon package.

part3-fileimported

Comme vous pouvez le constater j’ai ajouté 12 DLL. Il faut donc que je spécifie au MSI que ces fichiers doivent être déployés en plus, impliquant 12 séquences supplémentaires à ajouter.

Je repasse dans l’onglet latéral “Tables” et choisie la table “Files”. Mes fichiers sont bien présent avec une taille à 0 octets (ce qui n’est pas très grave) et un numéro de séquence identique à 1 !

filestable

Le dernier numéro de séquence étant le 45, je vais renommer mes numéros de séquence en commençant à partir de 46 jusqu’a  57.

fileRename

Les fichiers doivent également êtres ajoutés à l’archive du package, pour cela, je me positionne sur la table Media, et passe la LastSequence de  45 à 57.

lastSecq

Dans la table component, l’attribut des fichier dont la descriptions ce trouve ici, doit être changé de 2 à 0 pour que le MSI installe les fichiers correctement

compnents

L’ajout des fichiers à également crée 2 tables supplémentaires nommées MsiAssembly et MsiAssemblyName. C’est deux tables n’ayant aucun d’intérêt pour le déploiement des plugins, je les supprime par un clique droit sur chaque tables et je choisie Delete Table.

Enfin, la table CreateFolder qui créait un répertoire Plugin vide, n’a plus, non plus d’utilité, je l’efface donc, elle aussi.

Voilà, c’est terminé, je n’ est plus qu'a reconstruire mon MSI en passant par le menu Project>BUILD.

tea

Le package est prêt. il n’y a plus qu'à l’installer sur une autre machine de préférence, ou sur une VM afin de vérifier que tout fonctionne parfaitement.

Vous savez maintenant comment ajouter des fichiers à vos packages MSI (the dirty way !). Utilisez ce billet comme inspiration afin de transformer d’autres MSI. J ‘essayerai de vous aider dans la mesure de mes compétences si vous avez des soucis.

Lisez également :
Windows Installer MSI : Modifiez vos packages à la volée – Part 1
Windows Installer MSI : Modifiez vos packages à la volée – Part 2
Windows Installer MSI : Modifiez vos packages à la volée – Part 3