vInfra.ch

Guillaume LACAILLE's Blog

Configurer le Bare-Metal deployment dans SCVMM

Petite compilation de mes notes pour configurer le Bare-Metal Deployment sous SCVMM 2012 R2.

Dans cet article, je vais résumer rapidement les points importants pour la configuration du Bare-Metal deployment sur SCVMM 2012 R2.

Qu’est-ce que c’est ?

Pour ceux qui ne connaissent pas, dans SCVMM, vous avez la possibilité d’ajouter des nouveaux serveurs Hyper-V qui sortent du carton, sans qu’aucun système ne soit préalablement installé.

Vous allez me dire c’est pas nouveau et on peut déjà le faire avec SCCM. Oui, certe, mais tout le monde n’a pas SCCM, et l’avantage de VMM, c’est qu’il configure toute la partie réseau automatiquement.

Prérequis

Afin de pouvoir utiliser le baremetal deployment depuis SCVMM, il y a un certain nombre de prérequis:

Serveurs physiques

Quelques prérequis sont nécessaires afin de permettre le déploiement automatisé:

  • La carte réseau doit pouvoir supporter le boot PXE (normalement, toutes les carte aujourd’hui le permettent…).
  • Le PXE doit être mis en priorité sur la liste des périphériques de boot.
  • Le serveur doit avoir une carte de management configurée et licencié (ILO, DRAC…) qui supporte les protocoles IPMI, DCIM ou SMASH.
  • Un compte utilisateur dédié à VMM doit avoir les droits operator dans l’ILO afin d’accéder aux informations sur le serveur et démarrer le serveur depuis VMM. Le Run As Account associé doit être créé dans SCVMM.
  • Enfin, la configuration du BIOS et la configuration RAID doit être réalisée en amont. Selon les constructeurs, c’est un service qui peut être inclus lors du packaging de vos serveurs.

Réseau:

  • Le port du switch sur lequel est connecté l’Hyper-V doit avoir un vLan par défaut, qui sera utilisé pour le BootPXE. Le subnet associé à ce vLan doit être routable (et routé) et permettre de joindre les serveurs WDS, VMM et le serveur de librairie.
  • Vous devez avoir un pool d’IP dans le DHCP qui sera utilisé pour le boot PXE sur le vLan par défaut des Hyper-V.

Le vLan par défaut est le vLan qui est utilisé par les serveur quand aucun vLan n’est spécifié. En effet, aujourd’hui très peu de carte réseau supportent le boot PXE sur un vLan qui est spécifié dans leur bios. Ce vLan par défaut ne sera utilisé que durant la phase d’installation, jusqu’à la configuration du réseau sur l’Hyper-V (automatique).

Rôles

La fonctionnalité de Bare-Metal deployment nécessite plusieurs rôles qui vont fonctionner de concert pour déployer vos nouveaux serveurs:

  • SCVMM 2012 R2 (on s’en doutait !);
  • Le(s) serveur(s) de Library, où sera stocké le VHDX qui contient Windows Server 2012 R2;
  • Un serveur WDS (Windows Deployment Services);
  • Un serveur DHCP.

Dans mon cas, j’ai séparé ces rôles en 3 serveurs:

  • SCVMM
  • Library
  • WDS + DHCP

1. Installation et configuration du WDS et DHCP

C’est bête, il y a de nombreux articles anglophones sur le Baremetal deployment, mais je n’ai rien trouvé sur la configuration de base des serveurs WDS et DHCP dans un environnement VMM. Donc je fais un bref aparté ici:

  1. Préparez une VM avec Windows Server 2012 R2, le serveur WDS doit être sur le vLan utilisé comme vLan par défaut si le DHCP relay n’est pas supporté par vos switchs/routeurs (oui ça existe même sur des Nexus dans certaines versions).
  2. Installez les roles WDS et DHCP
  3. Configurez votre scope DHCP (Subnet, Range, Gateway et Serveurs DNS à minima, éventuellement le DNS suffixe).
  4. Ouvrez la console Windows Deployment Services, faites un clic-droit sur votre serveur, et sélectionnez Configure Server.

    Figure 1: Configure Server

    Figure 1: Configure Server

  5. Sélectionnez Integrated with Active Directory.

    Figure 2: Integrated with Active Directory

    Figure 2: Integrated with Active Directory

  6. Entrez le chemin utilisé pour l’installation à distance. Par défaut C:\RemoteInstall (pour l’utilisation avec VMM, le C:\ est largement suffisant tant qu’on installe pas des centaines d’hôtes en parallèle :-).

    Figure 3: Remote Install path

    Figure 3: Remote Install path

  7. Sélectionnez Do not respond to any client computers puis décochez Add images to the server now, nous ajouterons l’image boot.wim à partir de VMM plus tard.

    Figure 4: Do not respond to PXE

    Figure 4: Do not respond to PXE

  8. Un fois l’assistant fermé, faites un clic-droit à nouveau sur votre serveur, et cliquez sur Properties.
  9. Sous l’onglet DHCP, sélectionnez Do not listen on DHCP ports et Configure DHCP options to indicate that this is also a PXE server.

    Figure 5: Configure DHCP options from WDS

    Figure 5: Configure DHCP options from WDS

Voilà pour la partie WDS et DHCP, rien de bien compliqué, rien de spécial, c’est une configuration de base !

2. Ajout du serveur PXE dans SCVMM

Une fois le serveur PXE configuré il faut l’ajouter à SCVMM.

  1. Dans la console de SCVMM, allez dans l’onglet Fabric puis faites un clic-droit sur PXE Servers sous Infrastructure, puis cliquez sur Add PXE Server.

    Figure 6: Add PXE Server

    Figure 6: Add PXE Server

  2. Entrez le nom de votre serveur WDS configuré précédemment, puis sélectionnez le Run As Account qui a l’autorisation d’ajouter le serveur à la Fabric.

    Figure 7: PXE Server Name

    Figure 7: PXE Server Name

  3. Une fois ajouté, faites un clic-droit sur le serveur WDS dans SCVMM, puis sélectionnez Update WinPE Image afin d’ajouter l’image boot.wim qui permettra de faire le déploiement du serveur Hyper-V.

    Figure 8: Update WinPE Image

    Figure 8: Update WinPE Image

  4. Cliquez sur Yes. Puis attendez quelques minutes que l’image WinPE soit copiée sur le serveur WDS.

    Figure 9: Yes !

    Figure 9: Yes !

3. Ajout des drivers dans la Library

Plusieurs méthodes s’offrent à vous:

  • Ajouter manuellement les drivers dans un répertoire « Driver » sur le partage de la Library, puis éventuellement les tagger par la suite (long, fastidieux, mais universel).
  • Utiliser un package prévu par le constructeur en suivant les instructions.

Pour la méthode n°2, voici les liens vers les packages pour certains constructeurs:

 4. Ajout des drivers dans l’image boot.wim

Afin d’éviter toute prise de tête lors des déploiements en boot PXE, je vous conseille d’intégrer immédiatement les drivers à l’image WinPE. En effet, si votre carte réseau n’est pas reconnue par la WinPE, vous ne pourrez pas communiquer avec SCVMM et donc impossible de déployer votre serveur Hyper-V. Si vous avez une erreur à l’étape « Synchronizing Time with Server », commencez par là !

Thomas Maurer (MVP) a écrit un article intéressant pour cette étape il y a quelques jours. Je me permettrai ici de modifier très légèrement son script pour simplifier l’opération.

  1. Connectez-vous sur le serveur VMM (limitation de la commande Publish-SCWindowsPE qui ne peut-être lancée que depuis ce serveur….).
  2. Créez le répertoire %userprofile%\Documents\WinPE\Drivers
  3. Copiez-y le contenu du répertoire Drivers de la library (celui de l’étape 3).
  4. Lancez le script suivant:

 5. Préparez le VHDX à déployer

L’étape suivante consiste à créer le VHDX qui sera déployé sur les serveurs Hyper-V. La méthode la plus accessible est d’installer Windows Server 2012 Datacenter R2 (core) dans une VM, d’installer uniquement les updates et patch de sécurité et de faire un sysprep.

L’autre méthode est de créer un VHDX vide, et utiliser DISM pour appliquer l’image et les updates dans l’image.

Quelques conseils par soucis d’évolution:

  • Installez la version « Core » de Windows Server 2012 Datacenter R2 Update 1;
  • Appliquez si possible les derniers updates;
  • Installez à minima les hotfixes suivants: Hyper-V: Update List for Windows Server 2012 R2
  • N’installer rien: ni drivers, ni applications, ni rôles, ni features. Installation de base.
  • Si possible, laissez l’installation de logiciels à SCCM (agents, host integration tools pour les baies de stockage, Software MPIO…).

Une fois que le VHDX est prêt, stockez-le dans la librairie de SCVMM, dans un sous-répertoire dédié. Un conseil: ajoutez un numéro de version et un family name à votre VHDX pour mieux le retrouver.

Figure 10: Tag your VHDX

Figure 10: Tag your VHDX

6. Préparez le Physical Computer Profile

Pour cette étape, je pars du principe que vous avez déjà:

Le Physical Computer Profile, c’est le template qui va nous permettre de déployer nos VM…Hosts.

  1.  Dans la console SCVMM, allez dans l’onglet Library.
  2. Sous Profiles, faites un clic-droit sur Physical Computer Profiles et sélectionnez Create Physical Computer Profile.

    Figure 11: Create Physical Computer Profile

    Figure 11: Create Physical Computer Profile

  3. Entrez le nom du constructeur et du modèle utilisé (plus facile à utiliser quand on a plusieurs modèles, surtout quand le nombre de cartes réseau diffèrent).

    Figure 12: Nom du modèle

    Figure 12: Nom du modèle

  4. Sélectionnez le VHDX créé précédemment.

    Figure 13: VHDX dédié à Hyper-V

    Figure 13: VHDX dédié à Hyper-V

  5. Dans le page Hardware Configuration (l’écran le plus user-friendly de tout VMM):
    1. Commencez par ajouter les cartes réseau physiques. Configurez le bon virtual switch, et si vous avez un serveur compatible CDN, le nom CDN.
    2. Cliquez ensuite sur Management NIC, et sélectionnez Create a virtual network adapter as the management NIC (selon votre configuration).
    3. Sélectionnez la carte physique qui sera utilisée avant la configuration du virtual switch en tant que carte de management (celle qui est sur le default vLan) et sélectionnez la port classification à utiliser.
    4. Sélectionnez ensuite dans IP Configuration le VM network sur lequel se connecter et cliquez sur Allocate a static IP from the above VM network.
    5. Ajoutez ensuite les autres cartes virtuelles (Cluster, LiveMigration, SMB…) en sélectionnant le virtual switch, la port classification et la configuration IP à chaque fois.

      Figure 14: Partie Network

      Figure 14: Partie Network

    6. Vérifiez la configuration du disque et des drivers avant d’aller plus loin.
  6. Dans la page OS configuration, entrez les informations habituelles (domaine, admin password, Time zone…).

Attention: Le Run As Account utilisé pour joindre le domaine est celui qui sera utilisé pour gérer le serveur Hyper-V par SCVMM (Bug ?). 

Une fois que tous les champs sont remplis, fermez l’assistant. Vous êtes prêts à déployer !

7. Création d’un Host Group « Staging »

Petite astuce, avant de déployer mes Hyper-V avec cette méthode, je créer dans la Fabric, un host group « Staging » qui me permet de rassembler les Hyper-V installés qui ne sont pas encore mis en production. Je pioche ensuite les serveurs Hyper-V pour étendre la capacité d’un cluster existant, remplacer un nœud défaillant (qui peut être automatisé) ou pour créer de nouveaux clusters selon les besoins.

8. Déploiement des serveurs Hyper-V

Voilà la partie la plus intéressante:

  1. Dans votre console SCVMM, dans l’onglet Fabric, cliquez sur le bouton Add Ressources puis Hyper-V Hosts and Clusters.

    Figure 15: Add Hyper-V

    Figure 15: Add Hyper-V

  2. Sélectionnez Physical computer to be provisioned as virtual machine hosts.

    Figure 16: Physical Host

    Figure 16: Physical Host

  3. Sélectionnez le Run As Account associé à la console de management du serveur (ILO) et le protocole à utiliser.

    Figure 17: IMPI options

    Figure 17: IMPI options

  4. Entrez l’adresse, ou les addresses IP des ILO.

    Figure 18: On peut provisioner plusieurs hosts.

    Figure 18: On peut provisioner plusieurs hosts.

  5. Si tout se passe bien, vous devriez voir la liste des serveurs et leurs informations associées. Sélectionnez les serveurs à installer. Attention, les serveurs vont redémarrer à l’instant où vous cliquez sur Next.

    Figure 19: Liste des serveurs détectés

    Figure 19: Liste des serveurs détectés


  6. Sélectionnez le host group de destination du serveur Hyper-V, et le profile à utiliser.

    Figure 20: Host Group et Profile

    Figure 20: Host Group et Profile

  7. Les serveurs vont redémarrer sur la WinPE que nous avons modifié et retourner les informations manquantes à SCVMM: Configuration disque, cartes réseau…

    Figure 21: Registering host

    Figure 21: Registering host

  8. Entrez le nom des serveurs Hyper-V. Tant que le discovery n’est pas terminé ou qu’il y a un problème de configuration (nom, mappage des cartes réseau), vous avez une petite croix et vous ne pouvez pas continuer.

    Figure 23: Configuration OK !

    Figure 23: Configuration OK !

  9. Cliquez sur Next puis Finish quand vous êtes prêts à déployer !
  10. L’installation démarre immédiatement:

    Figure 24: Installation en cours...

    Figure 24: Installation en cours…

Pour ceux que ça intéresse, voici le déroulement de la task sequence (job) de VMM lors du déploiement d’un nouveau serveur Hyper-V:

Figure 25: Task Sequence

Figure 25: Task Sequence

Troubleshooting

Si vous avez un soucis lors du déploiement, ce post peut vous aider :

Troubleshooting OS Deployment of Hyper-V through SC VMM 2012

Pour aller plus loin

Si vous souhaitez industrialiser au maximum vos déploiement de serveurs Hyper-V afin d’avoir une configuration totalement identique à travers tous vos serveurs vous pouvez ajouter l’intégration (automatique) des serveurs Hyper-V dans une collection SCCM afin de déployer les outils et agents supplémentaires (Backup, Monitoring, HIT du stockage…).

Autre chose qu’il est bon de savoir, si vous utilisez CAU pour les mises à jour de vos clusters, il faut ajouter RSAT-Clustering avec les subfeatures RSAT-Clustering-PowerShell et RSAT-Clustering-AutomationServer  pour permettre l’utilisation de CAU (non installé par défaut avec VMM).

 

, , , ,

2 thoughts on “Configurer le Bare-Metal deployment dans SCVMM

  • fabrice dit :

    Très bien. C’est très clair.
    Merci pour ce partage.

    • Merci.

      Attention toutefois, je n’ai pas eu le temps de mettre à jour, mais il y a un « bug » concernant la création des cartes réseau lorsqu’on utilise un dhcp. Je m’explique: SCVMM utilise les fonctions natives d’Hyper-V pour créer les vNic. Ce ne serait pas un problème…si Hyper-V ne générait pas le pool d’adresses Mac (dans la registre) à partir de l’adresse IP de la carte de management au moment de l’installation du rôle Hyper-V…qui intervient avant d’être fixée par VMM. Ce qui doit arriver, arrive…et on se retrouve avec plusieurs adresses Mac identiques sur le réseau, des pertes de paquets et des problèmes de live-migration. Si vous essayez d’ajouter un noeud avec des adresses Mac identiques au cluster, le test échoue (heureusement). Le problème est connu de Microsoft mais n’a pas été corrigé à ma connaissance (et a priori ne le sera que dans la vNext).

      Le workaround consiste à ne configurer les cartes réseau qu’en post-déploiement en utilisant les commandes de VMM pour utiliser les pool d’adresses Mac.

      Bon courage !

Laisser un commentaire

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