Didacticiel : Créer un labo basé sur une machine virtuelle pour Azure Stack HCI

S’applique à : Azure Stack HCI version 21H2

Dans ce didacticiel, vous allez utiliser des scripts PowerShell MSLab pour automatiser le processus de création d’une forêt privée afin d’exécuter Azure Stack HCI sur des machines virtuelles à l’aide d’une virtualisation imbriquée.

Important

Comme Azure Stack HCI est conçu comme un hôte de virtualisation dans lequel vous exécutez toutes vos charges de travail dans des machines virtuelles, la virtualisation imbriquée n’est pas prise en charge dans les environnements de production. N’utilisez une virtualisation imbriquée qu’à des fins de test et d’évaluation.

Vous découvrirez comment effectuer les actions suivantes :

  • Créer une forêt privée avec un contrôleur de domaine et un serveur Windows Admin Center
  • Déployer plusieurs machines virtuelles exécutant Azure Stack HCI pour le clustering

Lorsque vous aurez terminé, vous serez capable de créer un cluster Azure Stack HCI à l’aide des machines virtuelles que vous aurez déployées, ainsi que d’utiliser le laboratoire privé à des fins de prototypage, de test, le résolution de problèmes ou d’évaluation.

Prérequis

Pour suivre ce didacticiel, vous avez besoin des éléments suivants :

  • privilèges Administrateur sur un serveur hôte Hyper-V exécutant Windows server 2022, Windows server 2019 ou Windows Server 2016 ;
  • au minimum 8 Go de RAM ;
  • processeur prenant en charge la virtualisation imbriquée ;
  • disque SSD (Solid State Drive) ;
  • 40 Go d’espace libre sur le serveur hôte Hyper-V ;
  • compte Azure pour inscrire Windows Admin Center et votre cluster.

Préparer le laboratoire

Préparez soigneusement l’environnement lab en suivant les instructions suivantes.

Se connecter à l’hôte de virtualisation

Connectez-vous au serveur physique sur lequel vous allez créer le laboratoire basé sur une machine virtuelle. Si vous utilisez un serveur distant, connectez-vous via Bureau à distance.

Télécharger Azure Stack HCI

Vous pouvez télécharger le système d’exploitation Azure Stack HCI à partir du Portail Azure. Pour obtenir des instructions de téléchargement, consultez Télécharger le système d’exploitation Azure Stack HCI.

Télécharger Windows Server

Vous allez également avec besoin de Windows server 2022, Windows server 2019 ou Windows Server 2016 pour le contrôleur de domaine et les machines virtuelles Windows Admin Center. Vous pouvez utiliser un média d’évaluation ou, si vous avez accès à une VL ou à Visual Studio Subscription, vous pouvez les utiliser. Pour ce didacticiel, nous allons télécharger une copie d’évaluation.

Créer un dossier pour les fichiers du laboratoire

Créez un dossier Lab à la racine de votre lecteur C (ou à l’emplacement de votre choix), puis utilisez l’Explorateur de fichiers pour copier les fichiers du système d’exploitation que vous avez téléchargés dans le dossier C:\Lab\Isos.

Télécharger des scripts MSLab

À l’aide du navigateur web sur votre serveur, téléchargez les scripts MSLab. Le fichier zip wslab_vxx.xx.x.zip devrait être téléchargé automatiquement sur votre disque dur. Copiez le fichier zip vers l’emplacement du disque dur (C:\Lab), puis extrayez les scripts.

Modifier le script LabConfig

Les machines virtuelles MSLab sont définies dans le script PowerShell LabConfig.ps1 en tant que table de hachage simple. Vous devez personnaliser le script pour créer une forêt privée avec des machines virtuelles Azure Stack HCI.

Pour modifier le script, utilisez l’Explorateur de fichiers pour accéder à C:\Lab\ wslab_xxx\, puis cliquez avec le bouton droit sur LabConfig.ps1. Sélectionnez Modifier pour ouvrir le fichier à l’aide de Windows PowerShell ISE.

Conseil

Enregistrez la version d’origine de LabConfig.ps1 en tant que Original_LabConfig.ps1. Vous pourrez ainsi recommencer facilement si nécessaire.

Notez que la majeure partie du script étant commentée, vous ne devrez exécuter que quelques lignes. Procédez comme suit pour personnaliser le script afin qu’il produise la sortie souhaitée. Vous pouvez également copier le bloc de code à la fin de cette section et remplacer les lignes appropriées dans LabConfig.

Pour personnaliser le script :

  1. Ajoutez ce qui suit à la première ligne non commentée de LabConfig.ps1 pour indiquer au script où trouver les fichiers ISO, activer l’interface de service invité et activer le transfert de DNS sur l’hôte : ServerISOFolder="C:\lab\isos" ; EnableGuestServiceInterface=$true ; UseHostDnsAsForwarder=$true.

  2. Modifiez les nom et mot de passe de l’administrateur si vous le souhaitez.

  3. Si vous envisagez de créer plusieurs laboratoires sur le même serveur, modifiez Prefix = ’MSLab-’ pour utiliser un nouveau nom de préfixe, tel que Lab1- . Pour ce didacticiel, nous allons conserver le préfixe par défaut MSLab-.

  4. Supprimez les marques de commentaire de la ligne par défaut ForEach-Object pour Windows Server, ainsi que le mot-dièse devant la ligne ForEach-Object pour Azure Stack HCI, afin que le script crée des machines virtuelles Azure Stack HCI plutôt que des machines virtuelles Windows Server pour les nœuds de cluster.

  5. Par défaut, le script crée un cluster à quatre nœuds. Si vous souhaitez modifier le nombre de machines virtuelles dans le cluster, remplacez 1..4 par exemple, par 1..2 ou 1..8. Rappelez-vous que la mémoire requise sur votre serveur hôte est directement proportionnelle au nombre de machines virtuelles dans votre cluster.

  6. Ajoutez NestedVirt=$true ; AdditionalNetworks=$True à la commande ForEach-Object, et définissez MemoryStartupBytes sur 4 Go.

  7. Ajoutez une ligne AdditionalNetworksConfig : $LabConfig.AdditionalNetworksConfig += @{ NetName = ’Converged’; NetAddress=’10.0.1.’; NetVLAN=’0’; Subnet=’255.255.255.0’} .

  8. Ajoutez la ligne suivante pour configurer un serveur d’administration Windows Admin Center exécutant le système d’exploitation Windows Server Core afin d’ajouter une deuxième carte d’interface réseau de façon à pouvoir vous connecter à Windows Admin Center à partir de l’extérieur du réseau privé : $LabConfig.VMs += @{ VMName = ’AdminCenter’ ; ParentVHD = ’Win2019Core_G2.vhdx’; MGMTNICs=2} .

  9. Veillez à enregistrer vos modifications dans LabConfig.ps1.

Les modifications apportées à LabConfig.ps1 aux étapes ci-dessus sont reflétées dans ce bloc de code :

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='LS1setup!'; Prefix = 'MSLab-' ; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@() ; ServerISOFolder="C:\lab\isos" ; EnableGuestServiceInterface=$true ; UseHostDnsAsForwarder=$true }
# Windows Server 2019
#1..4 | ForEach-Object {$VMNames="S2D"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'Win2019Core_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 512MB }}
# Or Azure Stack HCI 
1..4 | ForEach-Object {$VMNames="AzSHCI"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'AzSHCI21H2_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 4GB ; NestedVirt=$true ; AdditionalNetworks=$true }}
# Or Windows Server 2022
#1..4 | ForEach-Object {$VMNames="S2D"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'Win2022Core_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 512MB }}

$LabConfig.AdditionalNetworksConfig += @{ NetName = 'Converged'; NetAddress='10.0.1.'; NetVLAN='0'; Subnet='255.255.255.0'}

$LabConfig.VMs += @{ VMName = 'AdminCenter' ; ParentVHD = 'Win2019Core_G2.vhdx'; MGMTNICs=2}

Exécuter des scripts MSLab et créer des disques parents

Les scripts MSLab automatisent la majeure partie du processus de configuration du laboratoire, et convertissent les images ISO des systèmes d’exploitation en fichiers VHD.

Exécuter le script Prereq

Accédez à C:\Lab\wslab_xxx\ et exécutez le script 1_Prereq.ps1 en cliquant avec le bouton droit sur le fichier, puis en sélectionnant Exécuter avec PowerShell. Le script va télécharger les fichiers nécessaires. Des fichiers exemples seront placés dans le dossier ToolsDisk, et certains scripts ajoutés au dossier ParentDisks. Une fois l’exécution du script terminée, vous êtes invité à appuyer sur Entrée pour continuer.

Remarque

Il se peut que vous deviez modifier la stratégie d’exécution de script sur votre système pour autoriser les scripts non signés en exécutant la cmdlet PowerShell suivante en tant qu’administrateur : Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Créer les disques parents Windows Server

Le script 2_CreateParentDisks.ps1 prépare les disques durs virtuels (VHD) pour Windows Server et Server Core à partir du fichier ISO du système d’exploitation, ainsi qu’un contrôleur de domaine pour le déploiement avec tous les rôles requis configurés. Exécutez 2_CreateParentDisks.ps1 en cliquant avec le bouton droit sur le fichier, puis en sélectionnant Exécuter avec PowerShell.

Lorsque vous êtes invité à sélectionner des niveaux de télémétrie, choisissez B pour De base ou F pour Complète. Le script vous demande également le fichier ISO pour Windows Server 2019. Pointez-le vers l’emplacement dans lequel vous avez copié le fichier (C:\Labs\Isos). Si le dossier contient plusieurs fichiers ISO, vous êtes invité à sélectionner le fichier ISO à utiliser. Sélectionnez le serveur l’ISO Windows Server. Si vous êtes invité à formater un lecteur, sélectionnez N.

Avertissement

Ne sélectionnez pas l’ISO Azure Stack HCI. Vous allez créer le disque parent (VHD) Azure Stack HCI dans la section suivante.

La création des disques parents peut prendre jusqu’à 1 ou  2 heures, même si elle peut prendre beaucoup moins de temps. Une fois l’opération terminée, le script vous demande si des fichiers inutiles doivent être supprimés. Si vous sélectionnez O, il supprime les deux premiers scripts car ils ne sont plus nécessaires. Appuyez sur Entrée pour continuer.

Créer le disque parent Azure Stack HCI

Téléchargez la fonction Convert-WindowsImage.ps1 dans le dossier C:\Lab\wslab_xxx\ParentDisks en tant que Convert-WindowsImage.ps1. Exécutez ensuite CreateParentDisk.ps1 en tant qu’administrateur. Choisissez l’ISO Azure Stack HCI dans C:\Labs\Isos, puis acceptez le nom et la taille par défaut.

La création du disque parent prend un certain temps. Une fois l’opération terminée, vous êtes invité à démarrer les machines virtuelles. Ne les démarrez pas encore. Tapez N.

Déployer les machines virtuelles

Exécutez Deploy.ps1 en cliquant avec le bouton droit, puis en sélectionnant Exécuter avec PowerShell. L’exécution du script peut prendre de 10 à 15 minutes.

Installer les mises à jour du système d’exploitation et les logiciels

Maintenant que les machines virtuelles sont déployées, vous devez installer les mises à jour de sécurité et les logiciels nécessaires pour gérer votre laboratoire.

Mettre à jour le contrôleur de domaine et les machines virtuelles Windows Admin Center

Connectez-vous à votre hôte de virtualisation et lancez le Gestionnaire Hyper-V. Le contrôleur de domaine de votre forêt privée doit déjà être en cours d’exécution (MSLab-DC). Accédez à Machines virtuelles, sélectionnez le contrôleur de domaine, puis connectez-vous à celui-ci. Connectez-vous avec le nom d’utilisateur et le mot de passe que vous avez spécifiés ou, si vous ne les avez pas modifiés, utilisez les valeurs par défaut : LabAdmin/LS1setup.

Installez les mises à jour de sécurité requises, puis redémarrez la machine virtuelle du contrôleur de domaine si nécessaire. Cela peut prendre un certain temps, et il se peut que vous deviez redémarrer la machine virtuelle plusieurs fois.

Dans le Gestionnaire Hyper-V, démarrez la machine virtuelle Windows Admin Center (MSLab-AdminCenter) qui exécute Server Core. Connectez-vous à celle-ci, ouvrez une session, puis tapez sconfig. Sélectionnez Télécharger et installer les mises à jour de sécurité, puis redémarrez si nécessaire. Cela peut prendre un certain temps, et il se peut que vous deviez redémarrer la machine virtuelle et taper sconfig à plusieurs reprises.

Installer Microsoft Edge sur le contrôleur de domaine

Vous aurez besoin d’un navigateur web sur la machine virtuelle du contrôleur de domaine pour pouvoir utiliser Windows Admin Center de votre forêt privée. Comme Internet Explorer sera probablement bloqué pour des raisons de sécurité, utilisez Microsoft Edge à la place. Si Edge n’est pas encore installé sur la machine virtuelle du contrôleur de domaine, vous devez l’installer.

Pour installer Microsoft Edge, connectez-vous à la machine virtuelle du contrôleur de domaine à partir du Gestionnaire Hyper-V, puis lancez une session PowerShell en tant qu’administrateur. Exécutez ensuite le code suivant pour installer et démarrer Microsoft Edge.

#Install Edge
Start-BitsTransfer -Source "https://aka.ms/edge-msi" -Destination "$env:USERPROFILE\Downloads\MicrosoftEdgeEnterpriseX64.msi"
#Start install
Start-Process -Wait -Filepath msiexec.exe -Argumentlist "/i $env:UserProfile\Downloads\MicrosoftEdgeEnterpriseX64.msi /q"
#Start Edge
start microsoft-edge:

Installer Windows Admin Center en mode passerelle

À l’aide de Microsoft Edge sur la machine virtuelle du contrôleur de domaine, téléchargez ce script sur la machine virtuelle du contrôleur de domaine et enregistrez-le avec une extension de fichier .ps1.

Cliquez avec le bouton droit sur le fichier, choisissez Modifier avec PowerShell, puis modifiez la valeur de $GatewayServerName sur la première ligne pour qu’elle corresponde au nom de votre machine virtuelle AdminCenter sans le préfixe (par exemple, AdminCenter). Enregistrez le script, puis exécutez-le en cliquant avec le bouton droit sur le fichier, puis en sélectionnant Exécuter avec PowerShell.

Ouvrir une session sur Windows Admin Center

Vous devriez maintenant être en mesure d’accéder à Windows Admin Center à partir de Edge sur le contrôleur de domaine : http://admincenter

Il se peut que votre navigateur vous avertisse qu’il s’agit d’une connexion non sécurisée ou non sûre, mais vous pouvez continuer.

Ajouter une carte réseau accessible de l’extérieur (facultatif)

Si votre laboratoire se trouve sur un réseau privé, vous pouvez le cas échéant ajouter à la machine virtuelle AdminCenter une carte réseau accessible de l’extérieur afin de pouvoir vous y connecter et gérer votre laboratoire à partir de l’extérieur de la forêt privée. Pour ce faire, utilisez Windows Admin Center pour vous connecter à votre hôte de virtualisation (pas au contrôleur de domaine) et accéder à Machines virtuelles > MSLab-AdminCenter > Paramètres > Réseaux. Assurez-vous que vous disposez d’un commutateur virtuel connecté au réseau approprié. Recherchez Type de commutateur = External (par exemple, MSLab-LabSwitch-External). Ajoutez/attachez ensuite une carte réseau de machine virtuelle à ce commutateur virtuel externe. Veillez à activer la case à cocher « Autoriser le système d’exploitation de gestion à partager ces cartes réseau ».

Prenez note des adresses IP des cartes réseau sur la machine virtuelle AdminCenter. Ajoutez 443 à l’adresse IP de la carte réseau accessible de l’extérieur. Vous devriez être en mesure de vous connecter à Windows Admin Center pour créer et gérer votre cluster à partir d’un navigateur web externe, par exemple : https://10.217.XX.XXX:443 .

Installer les mises à jour du système d’exploitation sur les machines virtuelles Azure Stack HCI

Démarrez les machines virtuelles Azure Stack HCI à l’aide du Gestionnaire Hyper-V sur l’hôte de virtualisation. Connectez-vous à chaque machine virtuelle, puis téléchargez et installez les mises à jour de sécurité à l’aide de Sconfig sur chacune d’elles. Il se peut que vous deviez redémarrer les machines virtuelles à plusieurs reprises. (Vous pouvez ignorer cette étape si vous préférez installer les mises à jour du système d’exploitation ultérieurement dans le cadre de l’Assistant Création de cluster).

Activer le rôle Hyper-V sur les machines virtuelles Azure Stack HCI

Si vos machines virtuelles de cluster exécutent Azure Stack HCI 20H2, vous devez exécuter un script pour activer le rôle Hyper-V sur les machines virtuelles. Enregistrez ce script dans C:\Lab sur votre hôte de virtualisation en tant que PreviewWorkaround.ps1.

Cliquez avec le bouton droit sur le fichier PreviewWorkaround.ps1 et sélectionnez Modifier avec PowerShell. Modifiez les variables $domainName, $domainAdmin et $nodename si elles ne correspondent pas, par exemple :

$domainName = "corp.contoso.com"
$domainAdmin = "$domainName\labadmin"
$nodeName = "MSLab-AzSHCI1","MSLab-AzSHCI2","MSLab-AzSHCI3","MSLab-AzSHCI4"

Enregistrez vos modifications, ouvrez une session PowerShell en tant qu’administrateur, puis exécutez le script :

PS C:\Lab> ./PreviewWorkaround.ps1

L’exécution du script prend un certain temps, en particulier si vous avez créé un grand nombre de machines virtuelles. Vous devriez voir s’afficher le message « MSLab-AzSHCI1 MSLab-AzSHCI2 est maintenant en ligne. Installation de Hyper-V PowerShell en cours. » Si le script semble se figer après l’affichage du message, appuyez sur Entrée pour le sortir de veille. Cela fait, vous devriez voir s’afficher le message « MSLab-AzSHCI1 MSLab-AzSHCI2 est maintenant en ligne. Passez à l’étape suivante... »

Ajouter des cartes réseau (facultatif)

Selon la façon dont vous envisagez d’utiliser le cluster, vous pouvez ajouter quelques cartes réseau à chaque machine virtuelle Azure Stack HCI pour effectuer des tests plus polyvalents. Pour ce faire, connectez-vous à votre serveur hôte à l’aide de Windows Admin Center et accédez à Machines virtuelles > MSLab-(node) > Paramètres > Réseaux. Veillez à sélectionner Avancé > Activer l’usurpation d’adresse MAC. Si ce paramètre n’est pas activé, vous risquez de rencontrer des échecs de tests de connectivité lors de la tentative de création d’un cluster.

Inscrire Windows Admin Center avec Azure

Connectez-vous à Windows Admin Center dans votre forêt privée à l’aide de l’URL externe ou de Edge sur le contrôleur de domaine, puis inscrivez Windows Admin Center auprès d’Azure.

Nettoyer les ressources

Si vous avez sélectionné O pour nettoyer les fichiers et dossiers inutiles, le nettoyage est déjà effectué. Si vous préférez le faire manuellement, accédez à C:\Labs. puis supprimez les fichiers inutiles.

Étapes suivantes

Vous êtes maintenant prêt à passer à l’Assistant Création de cluster.