Découverte de Microsoft HyperV 2012 R2 Core

de | octobre 24, 2021

Découverte de Microsoft HyperV 2012 R2 Core

Installation de l’hyperviseur Microsoft HyperV Core 2012 R2 et configuration pour la gestion à distance via la console HyperV, la console MMC, Powershell et le bureau à distance. Activation des fonctionnalitées RemoteFX.

1. Présentation

Installation de la version Core Hyper-V de Windows 2012 R2 , celui-ci est gratuit. (http://technet.microsoft.com/library/hh833684.aspx).

Voici un petit comparatif des solutions de virtualisation Tomshardware.fr Comparatif virtualisation : les solutions gratuites

Attention il n’y a pas d’interface graphique sur le serveur,la gestion se fait à la ligne de commande via Powershell. Une console texte se lance à la connexion au serveur qui permet d’aider à paramétrer quelques éléments essentiel. Ensuite pour le reste il s’agit soit de la console ou avec des outils de gestion distant ( MMC, console Hyper-V ou System Center ..) . Par contre les performances sont bien meilleur en mode core que graphique.

2. Récupération et installation

  1. Récupérer l’iso sur le site Microsoft
  2. Graver ou booter via usb (voir article comment créer une clé usb d’installation d’un système windows ? )
  3. Installer le serveur comme un système normal
  4. Ensuite au premier boot on défini via la console texte :
    • les paramètres du compte administrateur local
    • le nom du serveur
    • les paramètres réseaux
    • on effectue les mises à jour windows update
    • on active l’accès bureau à distance
    • et on peut activer la réponse au “ping”

Voici un petit guide Microsoft pour Windows 2008 pour configurer votre serveur en mode core fraichement installé via la ligne de commande : Guide pas à pas de l’option d’installation Server Core de Windows Server 2008

3. Installation et configuration des outils de gestion distant

3.1 Installation de la console HyperV de gestion distante

Installation de la console client sous Windows 8.1. La console HyperV 2012 n’est pas compatible avec Windows 7 pour l’instant.

Connexion à la console HyperV
CaptureDescriptions
Aller dans le Panneau de configuration → Programme et fonctionnalité → Activer ou désactiver des fonctionnalités Windows.

Cocher Outils d'administration Hyper-V

Suite à l’installation vous retrouver la console Hyper-V Manager installé, vous pouvez essayé de vous connecter mais il y a de grande chance que cela ne fonctionne pas. Il y a quelques pré-requis nécessaire.
D’abord il est nécessaire que votre compte local ou de domaine de l’utilisateur de votre machine cliente soit connu de HyperV.

Loguez vous à l’hyperv par la console local et via le menu console rajout votre compte dans le groupe administrateur local de l’HyperV (choix 3 )
Si votre compte est hébergé sur un domaine AD : domaine\login ou si workgroup indiquer juste le login et mot de passe associé identique au client.

Ensuite vous pouvez ressayer de vous connecter via la console HyperV de votre client vous devriez pouvoir rajouter votre serveur et le faire reconnaître.
Mais cela n’est pas fini car la console a toujours encore des problèmes de connexion au niveau RPC. Pour les régler il va falloir télécharger un script hvremote.wsh de configuration voir ici ou faire une recherche sur google.
En gros suivant les cas il y a des commandes à exécuter pour déverrouiller ou changer les droits pour permettre l’accès. Nous allons prendre le cas ou le poste client et le serveur ne sont pas dans un domaine mais en workgroup. Il va falloir exécuter les commandes suivante :

Sur le serveur:
cscript hvremote.wsh /add:login (rajoute le compte en admin de HyperV)

Sur le client:
cscript hvremote.wsh /anondcom:grant(autoriser les connexions DCOM anonyme)

Si cela ne fonctionne toujours pas voir les points suivants:

-Vérifier si votre serveur et station ne sont pas connectées en NAT au niveau réseau (virtual box par exemple préférer l’accès par pont)
-Vérifier que le serveur le poste se ping par leur nom nebios. Si besoin rajouter dans c:\windows\system32\drivers\etc\hosts votre machine cliente sur le serveur et sur votre client le serveur HyperV
-Désactiver temporairement le parfeu de votre poste client pour vérifier qu’il ne bloque rien
Connexion via le bureau à distance

3.2 Connexion via le bureau à distance

Pour activer le bureau à distance il y a 2 actions à effectuer sur le serveur:

-D’abord il faut avoir activer Remote Desktop (choix 7) dans la console serveur.
-Maintenant il faut autoriser le service sur le parfeu du serveur avec la commande powershell suivante:
Enable-NetFirewallRule -DisplayGroup “Remote Desktop” Il s’agit d’une commande pour la version anglaise cela doit être adapté pour une autre langue.

3.3 Connexion via une console MMC

Il nous reste maintenant à autoriser les accès à distance par la MMC. Pour cela il faudra autoriser des règles du firewall et démarrer un service sur l’hyperviseur.

  • Dans un premier temps on se connecte à l’HyperV via le bureau à distance par exemple
  • Ensuite d’autoriser les accès via les commande powershell suivante :
Cmd PowershellA faire surDescription
Enable-NetFirewallRule -DisplayGroup “Remote Event Log Management”ServeurPour autoriser l’accès aux log distant
Enable-NetFirewallRule -DisplayGroup “Remote Volume Management”
Set-Service vds -StartupType “auto”
Start-Service vds
ServeurActivation du gestionnaire disque + règle firewall
Enable-NetFirewallRule -DisplayGroup “Remote Volume Management”ClientAutorisation Firewall pour le gestionnaire disque

4. Activation de remotefx

RemoteFX permet à un poste client qui se connecte via le bureau à distance sur une machine hébergé par HyperV d’avoir accès à une accélération 3D, flash, Video, Silverlight, Aero. La carte graphique du serveur HyperV doit être compatible.

4.1 Activation des rôles sur l’HyperV

Pour la prise en charge de cet fonction il est nécessaire d’activer 3 rôles supplémentaires. Dans la version core nous devons utiliser powershell pour installer ces fonctions

  • VmHostAgent

mais 2 autres rôles dépendes donc ils seront installés également

  • Remote-Desktop-Services
  • ServerMediaFoundation

Pour se faire on va enter la commande suivante dans la console Powershell du serveur:

DISM /online /enable-feature /featurename=VmHostAgent /all

4.2 Installation du pilote de la carte graphique sur l’HyperV

Pour déterminer le pilote graphique en cours

Get-WmiObject -Class Win32_VideoController

Il s’agit normalement du pilote générique fourni par Windows qui ne prend pas en charge la fonctionnalité. Il est donc nécessaire de récupérer le modèle de votre carte graphique.

Ensuite de télécharge le package du driver sur le site du constructeur de la carte (ici nvidia), on décompacte, on transfert sur le serveur hyperV et on lance la commande:

PS C:\NVIDIA\Display.Driver> pnputil -i -a .\nv_dispi.inf
Microsoft PnP Utility

Processing inf :            nv_dispi.inf
Successfully installed the driver on a device on the system.
Driver package added successfully.
Published name :            oem0.inf

Total attempted:              1
Number successfully imported: 1

Pour plus d’informations sur la gestion des drivers via Powershell reportez vous à : http://technet.microsoft.com/en-us/library/jj647787.aspx

Ensuite il ne reste plus qu’a revérifier si le driver est bien prise en compte :

Get-WmiObject -Class Win32_VideoController
Il est possible qu’un redémarrage soit nécessaire pour la bonne prise en compte du driver. Ensuite il ne vous reste plus qu’a activer la fonction par le console HyperV dans les propriétés “Physical GPUs”

4.3 Installation de la carte graphique sur nos VM et utilisation

Ensuite pour pouvoir utiliser la fonctionnalité il faut ajouter sur chaque machine via la console HyperV ou via powershell la carte RemoteFX 3D Adapter. Pour Powershell depuis le serveur :

Get-VM # pour lister nos VM
Add-VMRemoteFx3dVideoAdapter -VMName "NomDeMaVM"

Si vous avez l’erreur suivante : Hyper-V was unable to find S3 Display et que la carte n’apparait pas dans ajout de matériel dans la console Hyper-V. Il est problème que vous utilisez des VM de génération 2, attention RemoteFx ne fonctionne que sur les machines de génération 1 !! J’ai effectué l’installation sur une VM Windows 8.1 Entreprise configurer en génération 1.

Ensuite il ne vous reste plus qu’a vous connecter via le bureau à distance à la votre VM :

  • Dans le gestionnnaire de préphérique vous verrez normalement apparaitre la carte
  • Au niveau de la console HyperV dans les paramètres de l’HyperV section GPU Physique vous devez voir le nombre et la mémoire graphique utilisée par vos VM.

5. Configuration du stockage

5.1 Rajout d’un disque iSCSI

Pour rajouter un disque externe iSCSI qui peut être partagé par nos deux hyperviseurs dans le cadre d’un cluster par exemple. Vous avez plusieurs possibilités :

  • Utiliser un NAS (ex Sygnology ) qui permet de créer des disques iSCSI
  • Utiliser l’utilitaire iSCSI target 3.3 de Microsoft pour créer un target sur serveur de stockage.

Ensuite après avoir crée vos disques (1 pour le stockage des VM assez important et un autre de 1Go pour le quorum du cluster) Sur l’hyperviseur il faut activer le service iSCSI et accéder à l’interface de configuration des targets de nos disques. Pour cela il suffit de lancer:

iscsicpl

Après avoir renseigner vos paramètres il va falloir:

  • mettre en ligne
  • initialiser
  • formater
  • et enfin attribuer une lettre disque.

Pour cela on peut le faire avec

diskpart

en ligne de commande sur le serveur ou bien avec une console MMC distante avec le gestionnaire de disque plus graphique.

Suite à la création de mon volume j’ai rencontré par la suite un petit problème d’accès à celui-ci :

Diskpart has encountered an error: The media is write protected.

DISKPART> attributes disk
Current Read-only State : Yes
Read-only  : Yes

Mon disque était passé en lecture seul pour le remettre en écriture il suffit d’effacer le paramètre read-only via la commande :

DISKPART> attributes disk clear readonly

5.2 Configuration et installation de MPIO

Si l’on souhaite activer la fonctionnalité MPIO qui permet d’accéder aux disques iSCSI par plusieurs chemins. Cela peut être utile avec 2 cartes réseaux d’avoir une tolérance de panne en cas de coupure de l’un des chemins réseaux. Il est d’abord nécessaire d’activer la fonctionnalité via la commande :

Install-WindowsFeature -Name Multipath-IO

Puis ensuite de lancer l’utilitaire de configuration via la commande :

mpiocpl.exe

Ensuite dans l’onglet ‘Discover Multi-Paths’ on coche ‘Add support for ISCSI devices’ un redémarrage sera ensuite nécessaire.

6. Astuces

6.1 Convertir un fichier vdi en vhd puis vhdx

D’abord pour convertir votre fichier vdi (virtualbox vers vhd)

C:\Program Files\Oracle\VirtualBox> (Pour Windows, fonctionne également pour Linux)

VBoxManage.exe clonehd Disque.vdi Disque.vhd --format vhd

Puis ensuite depuis HyperV par exemple en Powershell convertir en vhdx

Convert-VHD -Path 'Chemin\Disque.vhd' -DestinationPath 'Chemin\Disque.vhdx' -VHDType Dynamic

Il ne vous reste plus qu’a importer les disques sous HyperV et de les attacher à vos machines.

6.1 Quelques commandes powershell utiles à la gestion

Pour réduire la taille d’un disque vhdx dynamique.

Voici un guide rapide des tâches à effectuer sur un serveur Core 2012 Quick Reference for Server Core Tasks

7 Problèmes rencontrées

Boot HyperV: Suite à un rajout de disque iSCSI le serveur ne boot plus. La réparation de boot du serveur via le DVD d’installation a bien fonctionné. Mais au redémarrage impossible de relancer mes machines virtuel. Le message d’erreur indique que l’hyperviseur n’est pas en fonction.

PS C:\Users\test> start-vm SRV2012DC
start-vm : 'SRV2012DC' failed to restore virtual machine state. (Virtual
machine ID 0C1E6745-513D-42E9-B350-BB57693E5BD9)
Virtual machine 'SRV2012DC' could not be started because the hypervisor is not
running (Virtual machine ID 0C1E6745-513D-42E9-B350-BB57693E5BD9).
The following actions may help you resolve the problem:
1) Verify that the processor of the physical computer has a supported version
of hardware-assisted virtualization.
2) Verify that hardware-assisted virtualization and hardware-assisted data
execution protection are enabled in the BIOS of the physical computer.  (If
you edit the BIOS to enable either setting, you must turn off the power to the
physical computer and then turn it back on.  Resetting the physical computer
is not sufficient.)
3) If you have made changes to the Boot Configuration Data store, review these
changes to ensure that the hypervisor is configured to launch automatically.

Effectivement problème 3 pour moi celui-ci se lance au boot mais la réparation du boot a fait perdre le paramètre. Pour vérifier via bcdedit /enum , l’entrer indiquant à l’hyperviseur de se lancer n’était plus présente. Pour la rajouter il suffit simplement de faire :

bcdedit /set hypervisorlaunchtype auto

Ensuite après le reboot tout est entré dans l’ordre.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.