Introduction

Dans cet article nous allons traiter de Microsoft System Center Virtual Machine Manager 2012 aussi abrégé SCVMM 2012. Il s’agit d’un serveur de gestion de machines virtualisées. Il fait partie de la suite applicative System Center.

Le sujet sera présenté en quatre parties. Après une présentation de SCVMM, nous détaillerons les nouveautés apportées par cette version 2012.

Nous allons dans un deuxième temps passer à une partie plus pratique avec la mise en place d’un serveur SCVMM avec tous les prérequis nécessaires à sa mise en œuvre (SQL Server, AIK).

Dans la troisième partie nous présenterons un scenario d’utilisation de System Center autour de trois axes :

– Ajout des serveurs hôtes à la console d’administration

– Création d’un modèle, puis déploiement de machine virtuelle à partir de celui-ci

– Mise en place d’un cluster, puis basculement de machine virtuelle sur celui-ci

Ce scenario correspond généralement à un cheminement classique de la mise en place de SCVMM. Le serveur SCVMM permet de gérer le parc des serveurs hôtes au sein d’une entreprise, cette application prend un sens lorsque le parc de serveurs hôtes est supérieur à 25 machines pour des raisons de coût et de mise en place. Grâce à SCVMM il est bien plus simple d’administrer cet ensemble de serveurs en y installant un simple agent sur l’ensemble des serveurs. Celui-ci assure un lien entre l’hôte et SCVMM en passant par l’intermédiaire du contrôleur de domaine. Il est possible d’administrer SCVMM par la console d’administration locale ou distante, qui nécessite une installation en dur sur la machine et qui prend comme paramètre de connexion le nom du serveur SCVMM ou son adresse IP. On peut aussi passer directement par une interface web, qui impose la mise en place d’un serveur IIS.

Pour finir nous porterons un regard sur les développements futurs qui pourront compléter les solutions que nous avons pu voir dans cet article.

Rappel : Cet article se base sur la Bêta du produit, certaines informations sont sujettes à des changements lors de la sortie officielle du produit.

Virtual Machine Manager 2012

1.

2.

2.1. Rappel et fonctionnalités de VMM

Nous sommes actuellement à la 3eme version de Virtual Machine Manager.

Voici un petit rappel des versions qui ont rythmée la vie du produit :

Ø Virtual Machine Manager 2008 (sortie en 2007)

Ø Virtual Machine Manager 2008 R2 (sortie en 2009)

Ø Virtual Machine Manager 2012 (sortie prévue en 2011)

Nous allons commencer par un récapitulatif des caractéristiques matérielles et logicielles nécessaire pour l’installation et l’utilisation de VMM :

Il est indispensable d’installer VMM 2012 sur un système d’exploitation Windows 2003 ou plus. Dans notre exemple nous utiliserons une machine équipée de 2048 MO (minimum requis) et fonctionnant sous Windows Server 2008R2 rattachée à un contrôleur de domaine afin de pouvoir exploiter la migration à chaud (Live Migration).

Les logiciels requis pour l’installation et le fonctionnement de VMM 2012 sont :

Ø Le Framework DotNet 3.5 SP1

Ø Windows Automated Installation Kit (AIK) 3.1

Ø Une instance SQL

Ø Rôle IIS (Contenu statique ; Document par défaut ; Exploration de répertoire ; Erreurs http ; ASP.net ; Extensibilité .net ; Compatibilité avec la métabase de données IIS 6 ; Compatibilité WMI d’IIS 6 ; Extensions ISAPI ; Filtres ISAPI ; Filtrage des demandes)

2.2. Nouveautés apportées par cette nouvelle version

Cette nouvelle version de SCVMM avait jusqu’à présent le nom de code « VMM-V Next » et s’appellera finalement « Virtual Machine Manager 2012 ». La date de sortie officielle n’a pas encore été annoncée, mais elle devrait se situer entre le troisième et quatrième trimestre 2011.

Elle apportera un meilleur support avec le futur Windows Server qui devrait arriver courant 2012 et surtout une intégration complète avec le Cloud, qui est la grande tendance de ces prochaines années. Le but est d’apporter à l’utilisateur des environnements virtuels répondant à ses besoins, le tout sans utiliser la moindre place dans les locaux de l’entreprise, car les machines peuvent se trouver dans des Datacenters et des baies de stockage réseau (SAN) à l’autre bout du monde.

Il sera possible de gérer la plateforme de virtualisation Citrix XenServer, qui complète la liste déjà composée de Vmware ESX(i) et Microsoft Hyper-V. VMM pourra aussi déployer le système d’exploitation sur un hôte ainsi que d’activer le rôle Hyper-V, et ensuite ajouter cet hôte à un cluster.

Lors de l’arrivée de nouvelles mises à jour pour les serveurs hôtes en cluster, les machines virtuelles seront réparties sur les différents hôtes, afin de libérer un nœud. Une fois que celui-ci sera exempté de toute machine virtuelle, il passera en mode maintenance, puis se mettra automatiquement à jour, et finalement redeviendra actif sur le cluster.

Serveur VMM

3.

3.1. Installation des applications annexes

Une fois votre serveur configuré (adresse IP fixe définie, serveur correctement nommé et joint au domaine, nous allons installer les deux logiciels indispensables à l’installation et au fonctionnement de SCVMM.

Nous allons commencer par l’installation de Windows AIK. Il s’agit d’un logiciel qui fournit une aide à la configuration, à la personnalisation et au déploiement de Windows 7 et Server 2008R2. Vous pouvez récupérer directement cette application sur le site de Microsoft (lien).

Une fois le programme d’installation lancé, cliquez sur Windows AIK Setup :

Description: Captur1

Après avoir lu les termes du contrat de licence, cochez « J’accepte » et ensuite cliquez sur Suivant :

Description: Captur2

Sélectionnez le chemin d’installation puis cliquez sur Suivant :

Description: Captur3

Patientez quelques minutes, le temps que l’installation s’opère :

Description: Captur4

Une fois l’installation terminée, nous allons passer au deuxième prérequis : l’installation de Microsoft SQL Server.

Rappel : Il est possible d’utiliser la version gratuite de Microsoft SQL Server 2008R2 Express dans un environnement de test. Sinon utilisez la version standard ou entreprise (lien)

Description: sql1

Allez dans le panneau Installation puis cliquez sur « Nouvelle installation autonome SQL server ou ajout de fonctionnalités à une installation existante ». Dans la fenêtre suivante entrez votre clé de produit à 25 caractères ou choisissez une édition gratuite valable 6 mois puis cliquez sur Suivant. Lisez les termes du contrat de licence et ensuite cochez « J’accepte les termes du contrat de licence » puis cliquez sur Suivant. L’assistant va vérifier que tous les prérequis sont bien respectés.

Voici la fenêtre qui apparait une fois toutes les vérifications effectuées :

Description: sql5

Cliquez ensuite sur Suivant :

Description: sql6

Sélectionnez ensuite les composants nécessaires : dans notre cas nous avons uniquement besoin de « Services Moteur de base de données », mais nous pouvons aussi ajouter « Outils de gestion » afin de vérifier que les tables se créent bien lors de l’installation de VMM. Sélectionnez le répertoire pour l’installation et cliquez sur Suivant.

Dans la fenêtre suivante, donnez un nom à l’instance, ainsi qu’un identifiant (ID) et sélectionnez le répertoire racine de l’instance, puis cliquez sur Suivant.

Sélectionnez les comptes utilisés pour les services « Agent SQL serveur », « SQL server database Engine » et « SQL server Browser » (nous avons utilisé le compte administrateur de domaine, car il s’agit d’une plateforme de test). Ensuite cliquez sur Suivant.

Définissez ensuite les droits d’authentifications ainsi que les administrateurs de la base de données. Dans notre cas le mode d’authentifications est Windows et l’administrateur SQL est l’administrateur de domaine que l’on ajoute en cliquant sur « Ajouter l’utilisateur actuel », puis cliquez sur Suivant.

La fenêtre suivant permet de vérifier les règles d’installation, si vous avez bien suivi la procédure jusque là, toutes les cases seront vertes, cliquez ensuite sur Suivant.

Cette fenêtre récapitule tous les différents réglages définis jusqu’à présent. Cliquez ensuite sur Installer. Une fois l’installation terminée, si tous les voyants sont verts, alors votre serveur SQL est opérationnel.

3.2. Installation de SCVMM

Nous allons enfin rentrer dans le vif du sujet, l’installation de System Center Virtual Machine Manager 2012. Pour lancer la procédure d’installation cliquez sur Installer :

Description: Capture01

Lisez les termes de la licence, cochez la case « J’ai lu, compris et accepte les termes du contrat de licence », puis cliquez sur Suivant :

Description: Capture2

Sélectionnez les fonctionnalités à installer « VMM server ». Vous pouvez remarquer que la console d’administration est implicitement installée, puis cliquez sur Suivant :

Description: Capture3

Dans la fenêtre qui suit, remplissez les champs. Si vous ne saisissez pas de clé, alors VMM sera utilisable uniquement pendant 6 mois, cliquez ensuite sur Suivant :

Description: Capture4

Choisissez la stratégie de mise à jour que vous souhaitez mettre en œuvre pour VMM puis cliquez sur Suivant :

Description: Capture5

Sélectionnez le répertoire d’installation de votre Serveur VMM puis cliquez sur Suivant :

Description: Capture6

Le programme d’installation va vérifier tous les prérequis (RAM suffisante, SQL installé, AIK installé, DotNET 3,5 installé). Dans notre cas il y a une alerte car le serveur est équipé avec moins de 4 GO de RAM. Cliquez ensuite sur Suivant :

Description: Capture7

Nous passons dans la partie de configuration, définissez le nom du serveur de base de données, ainsi que son port (uniquement si vous avez changé celui d’origine).

Sélectionnez l’utilisateur ayant les droits adéquats (dans notre cas le compte administrateur de domaine est aussi l’administrateur SQL), ainsi que son mot de passe, ensuite le nom de l’instance SQL, et enfin le nom de la base de données, puis cliquez sur Suivant :

Description: Capturee2

Sélectionnez le compte de service adéquat (dans notre cas, s’agissant d’un environnement de test, on utilise le compte administrateur de domaine), saisissez le mot de passe de ce compte, puis cliquez sur Suivant :

Description: Capturee3

Dans cette fenêtre vous pourrez modifier les différents ports utilisé par le serveur VMM (le port 443 est souvent utilisé par les serveurs web), puis cliquez sur Suivant :

Description: Capturee4

Ici se configure la librairie de partage, cochez « Créer une nouvelle librairie », donnez un nom et une description à cette librairie. Vous pouvez aussi changer l’emplacement du partage, puis cliquez sur Suivant :

Description: Capturee5

Voici la fenêtre qui récapitule tous les différents paramètres saisis jusqu’à présent, cliquez ensuite sur Installer :

Description: Capturee6

La procédure d’installation dure environ 5 minutes, vous pouvez suivre l’évolution en fonction du nom qui apparait juste sous la barre de progression. Une fois l’installation terminée vous pouvez fermer la fenêtre :

Description: Capturee7

3.3. Console d’administration

La console reprend les rubans que Microsoft implémente progressivement dans toutes ses applications (Office, Live, …). Elle se décompose en 5 parties :

VM et Services :

Dans cet onglet, il est possible de lister les différents hôtes ainsi que les machines virtuelles qu’ils hébergent. Il est aussi possible de créer une machine virtuelle, un service, ou de modifier les paramètres des machines virtuelles, hébergées sur un hôte ou dans un cloud. La console Powershell, qui permet d’effectuer des tâches en ligne de commande, peut être ouverte depuis n’importe quel onglet.

Description: console1

Description: console2

Fabrique :

Dans cet onglet il est possible d’ajouter et de manager les différents serveurs hôte, serveurs de librairies, serveurs de mise à jour, serveurs de PXE, serveurs VMM, les serveurs Vcenter et d’effectuer des paramétrages des réseaux.

Description: console3

Librairie :

Dans cet onglet sont listés tous les disques durs virtuels (VHD), les modèles, ainsi que les profils disponibles. Il est aussi possible de créer des modèles de machine virtuelle, des modèles de services, d’importer des modèles existants et d’ajouter des serveurs de librairie. La principale nouveauté de la version 2012 est la possibilité d’ajouter des librairies clouds.

Rappel : Un modèle, aussi appelé template en anglais, permet de déployer un grand nombre de machines ayant des caractéristiques matérielles et logicielles identiques.

Description: console4

Opérations :

Cet onglet recense tous les travaux effectués, programmés ou en cours, tels que la création de machines, la mise à jour des librairies, ou tout simplement les tâches automatisées.

Description: console5

Paramètres :

Cet onglet regroupe tous les paramétrages possibles du serveur d’administration de SCVMM, tels que les droits des différents utilisateurs associés à cette console, la possibilité de créer de nouveaux utilisateurs, d’effectuer des sauvegardes de tous les paramètres de VMM. Il permet de configurer notre serveur VMM avec un serveur System Center Operations Manager (SCOM) qui fait aussi partie de la suite System Center et qui permet de superviser des machines physiques ou virtuelles interconnectées. Cet outil permet de remonter des alertes et d’effectuer des opérations en fonction des règles qui ont été définies.

Description: console6

Cas pratique / Utilisation

Nous allons suivre quelques cas pratiques d’utilisation de SCVMM, avec en premier lieu un pas à pas détaillé, ainsi que le script correspondant. Nous allons débuter par l’ajout des serveurs hôtes dans notre console SCVMM, puis nous allons créer un modèle afin de faciliter le déploiement des machines virtuelles. Pour les sécuriser nous allons mettre en place un cluster et effectuer les réglages adéquats afin que les machines puissent basculer entre les différents nœuds du cluster.

Description: Capture

Dans notre maquette nous allons utiliser : un contrôleur de domaine Active Directory, un serveur SAN afin de stocker les disques durs virtuels des machines virtuelles, un serveur Hyper-V présent sur un réseau de périmètre, deux serveurs Hyper-V mise en cluster et hébergeant deux machines virtuelles.

4.

4.1. Ajout d’un hôte (réseau de périmètre)

Déploiement de l’agent local

Nous allons dans un premier temps déployer notre agent sur les machines hôtes, afin de pouvoir piloter les serveurs hôtes. Ceci nous offrira des fonctionnalités diverses comme un suivi des machines virtuelles ou le déploiement de nouvelles machines virtuelles ou tout simplement gérer la charge de chaque serveur hôte.

Lancez le programme d’installation et cliquez sur Agent local :

Description: Capture1

Le programme d’installation se lance, cliquez ensuite sur Suivant :

Description: Titi1

Lisez les termes du contrat de licence, acceptez les et cliquez ensuite sur Suivant :

Description: Titi2

Sélectionnez le chemin d’installation de l’agent, puis cliquez sur Suivant :

Description: Titi3

Cochez la case qui indique que l’hôte fait partie d’un réseau de périmètre. Sélectionnez ensuite une clé de chiffrement (il n’y a pas de prérequis, mais plus la clé est longue et plus elle est sécurisante, par contre elle ralentit le trafic. Vous pouvez aussi utiliser un serveur de certificat pour un système encore plus robuste). Sélectionnez le chemin pour exporter le fichier de sécurité, puis cliquez sur Suivant :

Description: Titi4

Sélectionnez la manière par laquelle SCVMM pourra contacter l’hôte, soit par le nom de machine, soit par l’adresse IP (IPV4 ou IPV6), puis cliquez sur Suivant :

Description: Titi5

Dans cette fenêtre vous aurez la possibilité de modifier les ports qui permettent la communication avec VMM serveur (par défaut 5986 et 443), cliquez ensuite sur Suivant :

Description: Titi6

Vous avez défini tous les paramètres nécessaires pour créer le fichier de sécurité, cliquez ensuite surInstaller :

Description: Titi7

Un fichier doit maintenant se trouver dans le dossier que vous avez précédemment défini. Assurez-vous qu’il soit accessible depuis le serveur qui contient SCVMM, ou transférez-le par un support (cd / clé USB).

Configuration réseau périmètre

Nous allons à présent ajouter notre serveur hôte dans SCVMM afin de pouvoir gérer le serveur ainsi que les différentes machines virtuelles, qui se trouvent sur celui-ci.

Pour cela, il faut aller dans l’onglet « Fabrique », puis faire un clic droit sur serveur et sélectionner « Ajouter un hôte ou cluster Hyper-V ». Un assistant se lance. Sélectionnez « Ordinateur Windows dans un réseau de périmètre » puis cliquez sur Suivant :

Description: peri1

Sélectionnez le nom de l’ordinateur, la clé de chiffrement précédemment définie ainsi que le chemin du fichier de sécurité généré. Cliquez sur « Ajouter »et renouvelez autant de fois l’opération que vous avez des serveurs à intégrer, puis cliquez enfin sur Suivant :

Description: peri2

Dans cette fenêtre, il est possible de modifier les chemins de stockage des machines virtuelles sur les hôtes. Dans notre cas, nous laissons les paramètres par défaut en cliquant directement sur Suivant :

Description: peri3

Voici un récapitulatif des différents paramètres définis précédemment, une fois que vous avez vérifié que tout correspond, cliquez sur Terminer :

Description: Capture

Le script Powershell obtenu est le suivant :

$hostGroup = Get-SCVMHostGroup -ID “0e3ba228-a059-46be-aa41-2f5cf0f4b96e” -Name “All Hosts”

$credential = Get-Credential

Add-SCVMHost -ComputerName “Nom_Host” -SecurityFile “C:\Users\administrateur\Desktop\SecurityFile.txt” -PerimeterNetworkHost -RunAsynchronously -EncryptionKey $credential -VMHostGroup $hostGroup

Votre serveur Hyper-v sur réseau de périmètre apparait bien dans la liste des serveurs, ainsi que toutes les informations propres au serveur (système d’exploitation, mémoire vive, processeur, nombre de disques durs, nombre de machines virtuelles, …).

Voici la fenêtre listant tous les hôtes rattachés à votre console SCVMM :

Description: peri5

Nous venons de voir comment ajouter un serveur au réseau de périmètre. A présent vous pouvez administrer votre serveur hôte (gérer l’espace disque, voir les niveaux d’occupation processeur et mémoire), ainsi que toutes les machines virtuelles qui lui sont rattachées.

Néanmoins de nombreuses fonctions ne sont pas compatibles avec ce type de scénario (déplacement des machines virtuelles, utilisation de modèle). C’est pourquoi il est préférable que vos serveurs hôtes soient membres du domaine.

4.2. Ajout d’un Hôte (joint au domaine)

Nous allons voir comment ajouter un hôte qui est membre du même domaine que le serveur VMM. Le début de la procédure d’installation est identique à celle de la partie précédente.

Rappel : Il faut aller dans l’onglet fabrique, puis faire un clic droit sur serveur et sélectionnez « Ajoutez un hôte ou cluster Hyper-V ».

L’assistant se lance, sélectionnez « Ordinateur Windows dans un domaine Active Directory », puis cliquez sur Suivant :

Description: HVd1

Dans cette fenêtre, sélectionnez un compte disposant des droits d’administration sur les machines distantes à ajouter ainsi que son mot de passe, puis cliquez sur Suivant :

Description: HVd2

Dans cette fenêtre nous allons ajouter les machines en les désignant soit par leur nom, soit par leur adresse IPV4 ou IPV6. Dans notre cas nous utiliserons l’adresse IPV4, une fois la (les) adresse(s) saisie(s), puis cliquez sur Suivant :

Description: HVd3

Après une brève recherche sur le contrôleur de domaine, la liste apparait. Sélectionnez les machines que vous souhaitez ajouter puis cliquez sur Suivant :

Description: HVd4

Sélectionnez le groupe de serveurs auquel vous souhaitez ajouter les machines. Dans notre cas, ils sont directement mis à la racine « Tous les hôtes». Il est possible de réassigner des hôtes utilisant déjà un agent SCVMM. Cliquez sur Suivant :

Description: HVd5

Voici un récapitulatif de tous les paramétrages sélectionnés précédemment.  Après avoir vérifié que tout correspond à vos choix, cliquez sur Terminer :

Description: HVd7

Le script Powershell obtenu est le suivant :

$credential = Get-Credential

$hostGroup = Get-SCVMHostGroup -ID “0e3ba228-a059-46be-aa41-2f5cf0f4b96e” -Name “All Hosts”

Add-SCVMHost -ComputerName “NomHyperviseur.NomdeDomaine ” -Credential $credential -VMHostGroup $hostGroup -RunAsynchronously

Votre serveur Hyper-V apparait désormais dans la liste des serveurs, ainsi que toutes les informations propres au serveur :

Description: HVd8

Nous venons de voir comment ajouter un serveur hôte présent dans un domaine Active Directory. Ainsi, toutes les fonctionnalités de SCVMM sont maintenant disponibles dans cette configuration (la migration à chaud, la possibilité de créer une VM à partir d’un modèle).

4.3. Création d’un Modèle

Nous avons à présent ajouté les serveurs hôtes dans notre SCVMM. Nous allons maintenant créer un modèle afin de pouvoir ensuite déployer facilement des machines virtuelles. Il sera généré à partir d’une machine virtuelle tournant sous Windows 7.

Rappel : Il faut que la machine hôte qui serve de base au modèle, fasse partie du domaine et ne soit pas en «réseau de périmètre» sinon vous obtiendrez un code erreur 1238.

Allez dans l’onglet « Librairie », puis cliquez sur « Créer un modèle de machine virtuelle» qui se trouve dans le ruban :

Description: Temp1

Rappel : la machine virtuelle doit préalablement être arrêtée, sinon elle n’apparaitra pas dans la liste.

L’assistant se lance, sélectionnez « À partir d’un machine virtuelle déployée sur un hôte » et cliquez sur parcourir. Sélectionnez la machine que vous souhaitez utiliser comme modèle, puis cliquez sur Suivant :

Description: Temp2

Rappel : la création d’un modèle supprime la machine virtuelle source. Si vous souhaitez la conserver, faites une copie au préalable. Le système d’exploitation présent sur le disque dur étant généralisé (sysprepé) pour le modèle, cela entraine automatiquement la suppression des données utilisateurs préexistantes.

Donnez un nom à votre modèle ainsi qu’une description puis cliquez sur Suivant :

Description: Temp4

Effectuez les différents réglages de la configuration matériel (nombre de cœurs du processeur, mémoire ram, disque(s) dur(s), carte réseau, …), une fois le tout peaufiné, cliquez surSuivant :

Description: Temp5

Sélectionnez les différents paramètres (nom de l’ordinateur, mot de passe administrateur, clé de licence, type de système d’exploitation, …) puis cliquez sur Suivant :

Description: Temp6

Sélectionnez le serveur de librairie sur lequel sera stocké le modèle, puis cliquez sur Suivant :

Description: Temp7

Sélectionnez le dossier de partage ou sera stocké la machine virtuelle, puis cliquez sur Suivant :

Description: Temp8

Voici un récapitulatif des paramètres précédemment choisis. Pour les accepter, cliquez sur Créer :

Description: Temp1

Le script Powershell obtenu est le suivant :

New-VirtualDVDDrive -VMMServer localhost -JobGroup 78c69ab4-8ea2-4193-bbae-03272a7b3fe4 -Bus 1 -LUN 0 -AnyHostDrive

New-SCVirtualNetworkAdapter -VMMServer localhost -JobGroup 78c69ab4-8ea2-4193-bbae-03272a7b3fe4 -PhysicalAddressType Dynamic -VLanEnabled $false -VMNetworkOptimizationEnabled $false -MACAddressesSpoofingEnabled $false -IPv4AddressType Dynamic -IPv6AddressType Dynamic

Set-VirtualCOMPort -NoAttach -VMMServer localhost -GuestPort 1 -JobGroup 78c69ab4-8ea2-4193-bbae-03272a7b3fe4

Set-VirtualCOMPort -NoAttach -VMMServer localhost -GuestPort 2 -JobGroup 78c69ab4-8ea2-4193-bbae-03272a7b3fe4

Set-VirtualFloppyDrive -RunAsynchronously -VMMServer localhost -NoMedia -JobGroup 78c69ab4-8ea2-4193-bbae-03272a7b3fe4

$CPUType = Get-CPUType -VMMServer localhost | where {$_.Name -eq “3.60 GHz Xeon (2 MB L2 cache)”}

New-HardwareProfile -VMMServer localhost -Owner “NomDomaine\CompteAdministrateur” -CPUType $CPUType -Name “Profilebef43cd6-d016-4eae-bb82-dd63567790f4” -Description “Profile used to create a VM/Template” -CPUCount 1 -MemoryMB 768 -DynamicMemoryEnabled $false -VirtualVideoAdapterEnabled $false -ExpectedCPUUtilization 20 -DiskIO 0 -CPUMax 100 -CPUReserve 0 -NetworkUtilization 0 -RelativeWeight 100 -HighlyAvailable $false -NumLock $false -BootOrder “CD”, “IdeHardDrive”, “PxeBoot”, “Floppy” -LimitCPUFunctionality $false -LimitCPUForMigration $false -JobGroup 78c69ab4-8ea2-4193-bbae-03272a7b3fe4

$UserRole = Get-SCUserRole -VMMServer localhost | where {$_.Name -eq “Administrator”}

$VM = Get-SCVirtualMachine -VMMServer localhost -Name “Temp” | where {$_.VMHost.Name -eq “NomHyperviseur.NomdeDomaine “}

$LibraryServer = Get-SCLibraryServer -VMMServer localhost | where {$_.Name -eq “NomServeurVMM.NomdeDomaine “}

$HardwareProfile = Get-SCHardwareProfile -VMMServer localhost | where {$_.Name -eq “Profilebef43cd6-d016-4eae-bb82-dd63567790f4”}

$JoinDomainCredential = get-credential

$OperatingSystem = Get-SCOperatingSystem -ID df23a972-15f1-4eec-ae24-047f839fbfa1 | where {$_.Name -eq “Windows 7”}

New-SCTemplate -Name “Template Windows 7” -RunAsynchronously -UserRole $UserRole -Description “Creation d’un template pour Windows 7” -Owner “NomdeDomaine\CompteAdministrateur” -VM $VM -LibraryServer $LibraryServer -SharePath “\\NomServeurVMM.NomdeDomaine \MSSCVMMLibrary\VHDs” -HardwareProfile $HardwareProfile -JobGroup 78c69ab4-8ea2-4193-bbae-03272a7b3fe4 -ComputerName “Win7-” -TimeZone 105 -JoinDomain “NomdeDomaine” -JoinDomainCredential $JoinDomainCredential -JoinDomainPasswordIsServiceSetting $false -AnswerFile $null -OperatingSystem $OperatingSystem

Vous pouvez suivre la création du modèle, à chaque étape lorsque vous cliquez sur le détail dans les travaux :

Description: deploy

La durée de création du modèle est d’environ 6 minutes (la durée dépend essentiellement de deux paramètres : type de connexion réseau et du disque dur physique sollicité).Une fois créé, il apparait dans votre librairie :

Description: Temp2

Nous venons de voir comment créer un modèle à partir d’une machine virtuelle déjà existante. Nous allons maintenant déployer une machine virtuelle à partir de ce modèle.

4.4. Création de Machine Virtuelle par Modèle

Nous allons déployer une machine virtuelle à partir d’un modèle qui se trouve dans la librairie. Pour cela allez dans l’onglet VM puis cliquez sur « Créer une nouvelle machine virtuelle ».

Un assistant se lance, sélectionnez le modèle adapté puis cliquez sur Suivant :

Description: Template1

Sélectionnez le nom de votre machine virtuelle ainsi que sa description puis cliquez sur Suivant :

Description: Template2

Dans cette fenêtre vous trouverez la configuration hardware. Comme nous partons du modèle précédemment construit, vous n’avez rien à modifier ici, cliquez donc sur Suivant :

Description: Template3

Rappel : Il est indispensable de définir une clé de produit, sinon l’installation ne peut pas se poursuivre.

Vérifiez que le nom de machine ainsi que tous les paramètres définis dans le modèle correspondent bien à vos attentes, puis cliquez sur Suivant :

Description: Template5

Vous avez la possibilité de choisir l’emplacement où sera déployée votre machine virtuelle (sur un serveur hôte, dans une librairie ou dans un Cloud). Dans notre cas sélectionnez serveur hôte puis cliquez sur Suivant :

Description: Template6

Dans cette page vous devez définir le serveur hôte sur lequel vous souhaitez déployer votre VM. Privilégiez le serveur hôte ayant le plus grand nombre d’étoiles (plus il y a d’étoiles, plus le serveur est adapté).  Vous trouverez les explications sur cette notation dans l’onglet « explication de notation ». La note dépend entre autre de l’espace disque dur disponible, de la quantité de RAM attribuable, du type de processeur.

Rappel : il n’est pas possible de déployer une VM sur un serveur hôte se trouvant dans un réseau de périmètre.

Sélectionnez le serveur hôte qui vous convient, puis cliquez sur Suivant :

Description: Template7

Vérifiez que la machine est correctement nommée, qu’elle est bien attachée au disque dur et que la configuration de la carte réseau est bonne, puis cliquez sur Suivant :

Description: Template8

Nous arrivons aux propriétés additionnelles. Ici, il vous est possible de définir les interactions entre le serveur hôte et la machine virtuelle lors du démarrage (boot automatique, boot manuel), et lors de l’arrêt (sauvegarde de l’état actuel, arrêt de la machine virtuelle).

Rappel : Effectuer le paramétrage pour la que la VM redémarre automatiquement en cas de reboot du serveur et introduire une temporisation (quelques minutes) afin que l’activité disque dur soit répartie entre le chargement du système et le démarrage des différentes machines virtuelles.

Une fois votre choix effectué, cliquez sur Suivant :

Description: Template9

Apparait alors le récapitulatif de vos choix. Si vous voulez éviter que la VM démarre automatiquement dès qu’elle sera déployée, décochez la case « Démarrer la machine virtuelle, à la fin de son déploiement sur le serveur hôte ».

Cliquez sur Créerune fois que vous avez tout vérifié :

Description: Template10

Le script Powershell correspondant est indiqué ci après :

New-VirtualDVDDrive -VMMServer localhost -JobGroup 1ee84ef1-e23d-4084-9b40-0b57684263b5 -Bus 1 -LUN 0 -AnyHostDrive

New-SCVirtualNetworkAdapter -VMMServer localhost -JobGroup 1ee84ef1-e23d-4084-9b40-0b57684263b5 -PhysicalAddressType Dynamic

-VLanEnabled $false -VMNetworkOptimizationEnabled $false -MACAddressesSpoofingEnabled $false -IPv4AddressType Dynamic

-IPv6AddressType Dynamic

Set-VirtualCOMPort -NoAttach -VMMServer localhost -GuestPort 1 -JobGroup 1ee84ef1-e23d-4084-9b40-0b57684263b5

Set-VirtualCOMPort -NoAttach -VMMServer localhost -GuestPort 2 -JobGroup 1ee84ef1-e23d-4084-9b40-0b57684263b5

Set-VirtualFloppyDrive -RunAsynchronously -VMMServer localhost -NoMedia -JobGroup 1ee84ef1-e23d-4084-9b40-0b57684263b5

$CPUType = Get-CPUType -VMMServer localhost | where {$_.Name -eq “3.60 GHz Xeon (2 MB L2 cache)”}

New-HardwareProfile -VMMServer localhost -Owner “NomdeDomaine\CompteAdministrateur” -CPUType $CPUType -Name “Profilefe6e7195-3d4b-4de1-be98-993e6f17baba”

-Description “Profile used to create a VM/Template” -CPUCount 1 -MemoryMB 768 -DynamicMemoryEnabled $false

-VirtualVideoAdapterEnabled $false -ExpectedCPUUtilization 20 -DiskIO 0 -CPUMax 100 -CPUReserve 0 -NetworkUtilization 0

-RelativeWeight 100 -HighlyAvailable $false -NumLock $false -BootOrder “CD”, “IdeHardDrive”, “PxeBoot”, “Floppy” -LimitCPUFunctionality $false -LimitCPUForMigration $false -JobGroup 1ee84ef1-e23d-4084-9b40-0b57684263b5

$Template = Get-SCTemplate -VMMServer localhost -All | where {$_.Name -eq “Template Windows 7”}

$HardwareProfile = Get-SCHardwareProfile -VMMServer localhost | where {$_.Name -eq “Profilefe6e7195-3d4b-4de1-be98-993e6f17baba”}

$OperatingSystem = Get-SCOperatingSystem -ID df23a972-15f1-4eec-ae24-047f839fbfa1 | where {$_.Name -eq “Windows 7”}

New-SCTemplate -Name “Temporary Template05c0ab9b-8403-46e4-96dd-d13c02deba37” -Template $Template -HardwareProfile $HardwareProfile -JobGroup 1ee84ef1-e23d-4084-9b40-0b57684263b5 -ComputerName “Win7-1” -ProductKey “RCQ3V-MCMTC-6HP8R-98CDK-VP3FM” -TimeZone 105 -AnswerFile $null -OperatingSystem $OperatingSystem

$template = Get-SCTemplate -All | where { $_.Name -eq “Temporary Template2dc64cd5-a97c-43bf-87a5-d420169ab817” }

$virtualMachineConfiguration = New-SCVMConfiguration -VMTemplate $template -Name “Nom_Machine”

$virtualMachineConfiguration

$vmHost = Get-SCVMHost -ComputerName “Nomhyperviseur.NomdeDomaine”

Set-SCVMConfiguration -VMConfiguration $virtualMachineConfiguration -VMHost $vmHost

Update-SCVMConfiguration -VMConfiguration $virtualMachineConfiguration

$userRole = Get-SCUserRole -Name “Administrator”

New-SCVirtualMachine -Name “Nom_Machine” -VMConfiguration $virtualMachineConfiguration -Description “” -Owner “NomdeDomaine\CompteAdministrateur” -UserRole $userRole -ExcludeFromPRO $false -StartVM -JobGroup “1ee84ef1-e23d-4084-9b40-0b57684263b5” -RunAsynchronously -StartAction “AlwaysAutoTurnOnVM” -StopAction “SaveVM” -DelayStartSeconds “60”

Nous venons de voir comment déployer une machine virtuelle à partir d’un modèle. Si vous souhaitez déployer un grand nombre de machines, il est plus simple d’utiliser un script, tel que celui fourni ci-dessus.

4.5. Création d’un cluster

Maintenant que nous avons déployé un certain nombre de machines virtuelles sur le serveur hôte, nous allons ajouter de la haute disponibilité afin que les machines virtuelles déjà en place soient toujours disponibles, même en cas de crash d’un des serveurs hôtes. Pour cela nous allons mettre en cluster deux serveurs hôtes ayant des caractéristiques matériels identiques.

Rappel : il peut y avoir des incompatibilités dans le cas où les processeurs sont différents.

Sur vos serveurs Hyper-V R2 activer la fonctionnalité de clustering avec basculement.

Dans l’onglet fabrique, cliquez en haut à gauche sur Créer puis sélectionnez « Hyper-V Cluster» :

Description: Cluster1

L’assistant se lance, sélectionnez le nom de votre cluster, ainsi que le nom et le mot de passe d’un compte administrateur, puis cliquez sur Suivant :

Description: Cluster2

Sélectionnez ensuite les nœuds qui seront rattachés à ce cluster (dans notre cas le cluster est composé de deux nœuds) puis cliquez sur Suivant :

Rappel : il est possible de créer le cluster avec un seul nœud puis d’ajouter les autres nœuds par la suite.

Description: Cluster3

Sélectionnez l’adresse IP que vous souhaitez donner à votre cluster, et ce pour chaque carte réseau (dans notre cas nous n’utiliserons qu’une seule carte réseau en IPV4), cliquez ensuite sur Suivant :

Description: Cluster4

Sélectionnez les disques durs (virtuels) que vous souhaitez rattacher à votre cluster, puis cliquez sur Suivant :

Description: Cluster5

Dans cette fenêtre, choisissez les cartes réseaux afin de créer un réseau externe virtuel, puis cliquez sur Suivant :

Description: Cluster6

Voici un récapitulatif des différents paramètres déjà saisis. Une fois que vous avez tout vérifié, cliquez sur Terminer :

Description: Cluster7

Le script Powershell obtenu est le suivant :

$credential = Get-Credential

$hostsList = @()

$hostsList += Get-SCVMHost -ID “9b995cfb-170f-4f74-af91-172bc3e7a4c4” -ComputerName “Nomhyperviseur1.NomdeDomaine ”

$hostsList += Get-SCVMHost -ID “c4b2d1d2-7043-44fd-b79b-5838a79d7d17” -ComputerName “Nomhyperviseur2.NomdeDomaine”

$vmHost = Get-SCVMHost -ID “9b995cfb-170f-4f74-af91-172bc3e7a4c4”

$hostDisk = Get-SCStorageDisk -VMHost $vmHost | where { $_.SMLunId -eq “9D19F70D46AA8C8D” }

Mount-SCStorageDisk -StorageDisk $hostDisk -MasterBootRecord -VolumeLabel “” -QuickFormat -JobGroup “ec65ff42-cef9-420c-ba3e-616d98d15d9c”

$hostDisk = Get-SCStorageDisk -VMHost $vmHost | where { $_.SMLunId -eq “C150EF2E1681D425” }

Mount-SCStorageDisk -StorageDisk $hostDisk -MasterBootRecord -VolumeLabel “” -QuickFormat -JobGroup “ec65ff42-cef9-420c-ba3e-616d98d15d9c”

$witnessDisk = Get-SCStorageDisk -Name “\\.\PHYSICALDRIVE2” | where { $_.ID -eq “903b5ceb-ae1b-4af8-b35d-42422f558fee” }

$ips = @()

$ips += “192.168.1.136”

Install-SCVMHostCluster -ClusterName “Cluster” -JobGroup “ec65ff42-cef9-420c-ba3e-616d98d15d9c” -Credential $credential -VMHost $hostsList -RunAsynchronously -SetQuorumDisk $witnessDisk -ClusterIPAddress $ips

Votre cluster apparait bien dans la console, et liste les différents nœuds qui le composent :

Description: Cluster8

Nous venons de voir comment mettre en cluster deux serveurs hôtes, afin d’assurer un service de haute disponibilité.

4.6. Migration VM clustérisé

Nous venons de mettre en place nos serveurs clusterisés. Nous allons maintenant voir qu’elles sont les modifications à apporter afin que les machines virtuelles soient hautement disponibles.

Nous utilisons deux machines virtuelles, équipées de Windows 7 x64 pour ces tests. Chacune étant positionnée sur un nœud de notre cluster.

Rappel : dans le cas ou vos serveurs hôtes ont des processeurs différents (nombre de cœurs, et plateforme), il faut modifier une propriété système, mais attention cela fonctionne uniquement pour des processeurs du même fondeur.

Pour cela, allez dans les propriétés de vos machines virtuelles que vous souhaitez clusteriser, puis cochez « Autoriser la migration de la machine virtuelle sur des hôtes ayant des processeurs différents» :

Description: VM-HA1

Toujours dans les paramètres de vos machines virtuelles, dans l’onglet disponibilité, cochez « Rendre cette machine virtuelle hautement disponible» :

Description: VM-HA2

A présent vos deux machines virtuelles sont hautement disponibles sur leur cluster :

Description: VM-HA3

Nous allons voir à présent comment migrer manuellement une machine virtuelle d’un nœud vers un autre. Sélectionnez « Migrer la machine virtuelle »

Description: Move1

Le transfert se fait en live (migration transparente pour l’utilisateur) si la machine virtuelle est en activité. Dans le cas où elle est éteinte il s’agit d’une Quick migration (migration cluster classique).

Sélectionnez le nœud sur lequel vous souhaitez migrer la machine virtuelle, puis cliquez sur Suivant :

Description: Move2

Voici un récapitulatif de vos paramètres (nom de la machine virtuelle, nœud actuel et nœud sur lequel vous souhaitez la faire migrer). Cliquez ensuite sur Déplacer :

Description: Move3

Le script Powershell obtenu est le suivant :

$VM = Get-SCVirtualMachine -VMMServer localhost -Name “VM1” | where {$_.VMHost.Name -eq “Nomhyperviseurx.NomdeDomaine “}

$VMHost = Get-SCVMHost -VMMServer localhost | where {$_.Name -eq ” Nomhyperviseurx.NomdeDomaine “}

Move-VM -VM $VM -VMHost $VMHost -HighlyAvailable $true -RunAsynchronously -JobGroup af1f2a6d-8889-45d3-aba1-780201e5f941

On peut suivre le déplacement de la machine virtuelle dans l’onglet travaux. Celui-ci dure environ 15 secondes :

Description: Move4

La machine virtuelle a bien changé de nœud. Elle ne s’est pas arrêtée durant le transfert. Le déplacement est donc transparent pour l’utilisateur.

Sur cette fenêtre il est possible de voir sur quel nœud du cluster se trouve la machine virtuelle :

Description: Move5

4.7. Intégration avec SCOM

SCVMM offre la possibilité de s’interconnecter avec System Center Operations Manager. SCOM est une solution de supervision informatique, et permet de surveiller aisément vos services informatiques. Elle englobe toutes les connaissances des applications (supervise par exemples : les postes de travail Windows, la messagerie Exchange, les bases de données SQL, …) et gère les systèmes d’exploitation Microsoft mais aussi Linux et Unix.

La version de System Center Virtual Machine Manager 2012 utilisée est actuellement en bêta, il n’a pas été possible de l’interconnecter avec System Center Operations Manager 2007R2.

Néanmoins la version 2012 de SCVMM apporte deux fonctionnalités qui apporteront une souplesse supplémentaire. Il s’agit d’Optimisation Dynamique et d’Optimisation Electrique. Optimisation Dynamique permet de répartir automatique la charge d’un cluster. Lorsque un nœud est trop sollicité, une machine virtuelle est automatique basculée sur un nœud plus adapté. La seconde, Optimisation Électrique, comme son nom l’indique permet d’arrêter des serveurs hôtes lorsque ceux-ci ne sont pas sollicités. Ils seront automatiquement redémarrer en fonction de la charge des machines virtuelles. Cela permet de réduire la consommation électrique et par la même occasion la climatisation des salles serveurs.

Microsoft prévoit de sortir la version bêta de SCOM 2012 au cours de l’été 2011. Cette version devrait vraisemblablement permettre l’interconnexion entre les solutions VMM et SCOM, et ce de façon simplifiée par rapport aux précédentes versions.

Conclusion

Nous venons de voir comment installer et configurer un serveur Virtual Machine Manager 2012, ainsi que quelques exemples concrets : comme l’ajout de serveur hôte, la création d’un modèle, l’utilisation de ce modèle afin de déployer une machine virtuelle. Nous avons décrit la mise en place d’un cluster de basculement puis les différentes manipulations à réaliser, afin de rendre les machines virtuelles hautement disponibles, et pouvoir effectuer une bascule de la machine entre deux clusters. Dans chaque cas il est possible de suivre l’installation en pas à pas grâce à l’interface graphique, ou d’utiliser les scripts dans la console Powershell qui permettent d’arriver au même résultat.

SCVMM 2012 apporte un ensemble de nouveautés par rapport à la version 2008R2, dont l’ajout de ruban, qui permet de retrouver plus facilement les fonctions les plus couramment utilisées. La nouveauté majeure de cette version est l’ajout de la gestion du Cloud, qui s’inscrit dans la nouvelle tendance de Microsoft en proposant des solutions totalement virtualisées et stockées dans des Datacenter spécifiques, partagées entre de nombreux clients.

Cette console permet autant la gestion de la plateforme Microsoft de virtualisation (2008R2, Hyper-V R2) que d’autres plateformes (Citrix XenServer, VMware ESX).

Comme tout produit estampillé Microsoft, la mise en place nécessite d’utiliser des systèmes d’exploitation Windows et d’avoir des serveurs membres d’un domaine Active Directory. Il est possible d’effectuer chaque tâche en utilisant soit l’interface graphique, soit en exécutant directement des scripts écrits en Powershell.

L’ensemble des produits finaux de la suite System Center 2012 seront pour la première fois disponibles en même temps, ce qui apportera de la cohésion au sein de cette suite.