Tutorial: Erstellen eines VM-basierten Labs für Azure Stack HCI

Gilt für: Azure Stack HCI, Version 21H2

In diesem Tutorial verwenden Sie MSLab-PowerShell-Skripts, um den Prozess der Erstellung einer privaten Gesamtstruktur zu automatisieren, um Azure Stack HCI auf virtuellen Computern (VMs) mit geschachtelter Virtualisierung auszuführen.

Wichtig

Da die Azure Stack HCI als Virtualisierungshost konzipiert ist, mit dem Sie alle Ihre Workloads auf VMs ausführen können, wird die geschachtelte Virtualisierung in Produktionsumgebungen nicht unterstützt. Verwenden Sie die geschachtelte Virtualisierung nur zu Test- und Auswertungszwecken.

Sie lernen Folgendes:

  • Erstellen einer privaten Gesamtstruktur mit einem Domänencontroller und einem Windows Admin Center-Server
  • Bereitstellen mehrerer virtueller Computer, auf denen Azure Stack HCI für das Clustering ausgeführt wird

Nach Abschluss können Sie einen Azure Stack HCI-Cluster mithilfe der bereitgestellten VMs erstellen und das private Lab für Prototyperstellung, Tests, Problembehandlung oder Auswertung verwenden.

Voraussetzungen

Für dieses Tutorial benötigen Sie Folgendes:

  • Administratorrechte auf einem Hyper-V-Hostserver unter Windows Server 2022, Windows Server 2019 oder Windows Server 2016
  • Mindestens 8 GB RAM
  • CPU mit Unterstützung der geschachtelten Virtualisierung
  • SSD-Datenträger (Solid State Drive)
  • 40 GB freier Speicherplatz auf dem Hyper-V-Hostserver
  • Ein Azure-Konto zum Registrieren von Windows Admin Center und Ihres Clusters

Vorbereiten des Labs

Bereiten Sie die Laborumgebung gemäß diesen Anweisungen sorgfältig vor.

Herstellen einer Verbindung mit dem Virtualisierungshost

Stellen Sie eine Verbindung mit dem physischen Server her, auf dem Sie das VM-basierte Lab erstellen. Wenn Sie einen Remoteserver verwenden, stellen Sie eine Verbindung über Remotedesktop her.

Herunterladen von Azure Stack HCI

Sie können das Azure Stack HCI-Betriebssystem von der Azure-Portal herunterladen. Anweisungen zum Herunterladen finden Sie unter Herunterladen des Azure Stack HCI-Betriebssystems.

Herunterladen von Windows Server

Außerdem benötigen Sie ein Exemplar von Windows Server 2022, Windows Server 2019 oder Windows Server 2016 für den Domänencontroller und die Windows Admin Center-VMs. Sie können Evaluierungsmedien verwenden, oder wenn Sie Zugriff auf eine VL oder Visual Studio Subscription haben, können Sie diese Optionen verwenden. Für dieses Tutorial laden wir eine Evaluierungsversion herunter.

Erstellen eines Ordners für die Lab-Dateien

Erstellen Sie einen Lab-Ordner im Stammverzeichnis Ihres Laufwerks „C“ (oder wo immer Sie möchten), und kopieren Sie mit dem Datei-Explorer die heruntergeladenen Betriebssystemdateien in den Ordner C:\Lab\Isos.

Herunterladen der MSLab-Skripts

Laden Sie MSLab-Skripts mithilfe des Webbrowsers auf Ihrem Server herunter. Die ZIP-Datei wslab_vxx.xx.x.zip sollte automatisch auf Ihre Festplatte heruntergeladen werden. Kopieren Sie die ZIP-Datei an den Speicherort auf der Festplatte (C:\Lab), und extrahieren Sie die Skripts.

Bearbeiten des LabConfig-Skripts

MSLab-VMs sind im PowerShell-Skript „LabConfig.ps1“ als einfache Hashtabelle definiert. Sie müssen das Skript anpassen, um eine private Gesamtstruktur mit Azure Stack HCI-VMs zu erstellen.

Um das Skript zu bearbeiten, navigieren Sie im Datei-Explorer zu „C:\Lab\wslab_xxx\“, und klicken Sie dann mit der rechten Maustaste auf LabConfig.ps1. Wählen Sie Bearbeiten aus, um die Datei mithilfe von Windows PowerShell ISE zu öffnen.

Tipp

Speichern Sie die ursprüngliche Version von LabConfig.ps1 unter Original_LabConfig.ps1, sodass Sie bei Bedarf einfach von vorne beginnen können.

Beachten Sie, dass der Großteil des Skripts auskommentiert ist. Sie müssen nur wenige Zeilen ausführen. Führen Sie diese Schritte aus, um das Skript so anzupassen, dass es die gewünschte Ausgabe erzeugt. Alternativ können Sie einfach den Codeblock am Ende dieses Abschnitts kopieren und die entsprechenden Zeilen in LabConfig ersetzen.

So passen Sie das Skript an

  1. Fügen Sie der ersten nicht auskommentierten Zeile von LabConfig.ps1 Folgendes hinzu, um dem Skript mitzuteilen, wo die ISO-Dateien zu finden sind und wie die Gastdienstschnittstelle und die DNS-Weiterleitung auf dem Host aktiviert wird: ServerISOFolder="C:\lab\isos" ; EnableGuestServiceInterface=$true ; UseHostDnsAsForwarder=$true

  2. Ändern Sie bei Bedarf den Administratornamen und das Kennwort.

  3. Wenn Sie mehrere Labs auf demselben Server erstellen möchten, ändern Sie Prefix = 'MSLab-' so, dass ein neuer Präfixname verwendet wird, z. B. Lab1- . Für dieses Tutorial werden wir das Standardpräfix MSLab- verwenden.

  4. Kommentieren Sie die ForEach-Object-Standardzeile für Windows Server aus, und entfernen Sie das Hashtag vor der ForEach-Object-Zeile für Azure Stack HCI, sodass das Skript Azure Stack HCI-VMs anstelle von Windows Server-VMs für die Clusterknoten erstellt.

  5. Standardmäßig erstellt das Skript einen Cluster mit vier Knoten. Wenn Sie die Anzahl der VMs im Cluster ändern möchten, ersetzen Sie z. B. 1..4 durch 1..2 oder 1..8. Denken Sie daran: Je mehr VMs in Ihrem Cluster vorhanden sind, desto größer sind die Arbeitsspeicheranforderungen auf dem Hostserver.

  6. Fügen Sie NestedVirt=$true ; AdditionalNetworks=$True zum ForEach-Object-Befehl hinzu, und legen Sie MemoryStartupBytes auf 4 GB fest.

  7. Fügen Sie eine AdditionalNetworksConfig-Zeile hinzu: $LabConfig.AdditionalNetworksConfig += @{ NetName = 'Converged'; NetAddress='10.0.1.'; NetVLAN='0'; Subnet='255.255.255.0'}

  8. Fügen Sie die folgende Zeile hinzu, um einen Windows Admin Center-Verwaltungsserver mit dem Betriebssystem Windows Server Core so zu konfigurieren, dass eine zweite Netzwerkschnittstelle hinzugefügt wird, sodass Sie eine Verbindung mit Windows Admin Center von außerhalb des privaten Netzwerks herstellen können: $LabConfig.VMs += @{ VMName = 'AdminCenter' ; ParentVHD = 'Win2019Core_G2.vhdx'; MGMTNICs=2}

  9. Speichern Sie die Änderungen unbedingt in LabConfig.ps1.

Die Änderungen an LabConfig.ps1, die in den obigen Schritten vorgenommen wurden, werden in diesem Codeblock widergespiegelt:

$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}

Ausführen von MSLab-Skripts und Erstellen übergeordneter Datenträger

MSLab-Skripts automatisieren einen Großteil des Lab-Einrichtungsprozesses und konvertieren ISO-Images der Betriebssysteme in VHD-Dateien.

Ausführen des Prereq-Skripts

Navigieren Sie zu „C:\Lab\wslab_xxx\“, und führen Sie das Skript 1_Prereq.ps1 aus, indem Sie mit der rechten Maustaste auf die Datei klicken und Mit PowerShell ausführen auswählen. Das Skript lädt die erforderlichen Dateien herunter. Einige Beispieldateien werden im Ordner ToolsDisk abgelegt, und einige Skripts werden dem Ordner ParentDisks hinzugefügt. Wenn das Skript abgeschlossen ist, werden Sie aufgefordert, die EINGABETASTE zu drücken, um fortzufahren.

Hinweis

Möglicherweise müssen Sie die Skriptausführungsrichtlinie auf Ihrem System ändern, um nicht signierte Skripts zuzulassen, indem Sie dieses PowerShell-Cmdlet als Administrator ausführen: Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Erstellen der übergeordneten Windows Server-Datenträger

Das Skript 2_CreateParentDisks.ps1 bereitet virtuelle Festplatten (VHDs) für Windows Server und Server Core aus der ISO-Betriebssystemdatei vor und bereitet auch einen Domänencontroller für die Bereitstellung mit allen erforderlichen Rollen vor. Führen Sie 2_CreateParentDisks.ps1 aus, indem Sie mit der rechten Maustaste auf die Datei klicken und Mit PowerShell ausführen auswählen.

Sie werden aufgefordert, Telemetrieebenen auszuwählen. Wählen Sie B für Basic (Einfach) oder F für Full (Vollständig). Das Skript fragt auch nach der ISO-Datei für Windows Server 2019. Verweisen Sie es auf den Speicherort, an den Sie die Datei kopiert haben (C:\Labs\Isos). Wenn sich mehrere ISO-Dateien im Ordner befinden, werden Sie aufgefordert, die zu verwendende ISO-Datei auszuwählen. Wählen Sie die Windows Server-ISO-Datei aus. Wenn Sie aufgefordert werden, ein Laufwerk zu formatieren, wählen Sie N aus.

Warnung

Wählen Sie nicht den Azure Stack HCI ISO aus – erstellen Sie im nächsten Abschnitt den übergeordneten Azure Stack HCI-Datenträger (VHD).

Das Erstellen der übergeordneten Datenträger kann bis zu 1-2 Stunden dauern, es geht aber auch wesentlich schneller. Nach Abschluss des Vorgangs werden Sie vom Skript gefragt, ob unnötige Dateien entfernt werden sollen. Wenn Sie J auswählen, werden die ersten beiden Skripts entfernt, da sie nicht mehr benötigt werden. Drücken Sie die EINGABETASTE, um fortzufahren.

Erstellen des übergeordneten Azure Stack HCI-Datenträgers

Laden Sie die Funktion Convert-WindowsImage.ps1 zum Ordner C:\Lab\wslab_xxx\ParentDisks als Convert-WindowsImage.ps1 herunter. Führen Sie dann CreateParentDisk.ps1 als Administrator aus. Wählen Sie unter „C:\Labs\Isos“ die Azure Stack HCI-ISO-Datei aus, und übernehmen Sie den Standardnamen und die Standardgröße.

Das Erstellen des übergeordneten Datenträgers dauert eine Weile. Nach Abschluss des Vorgangs werden Sie aufgefordert, die VMs zu starten. Starten Sie sie noch nicht – geben Sie N ein.

Bereitstellen der VMs

Führen Sie Deploy.ps1 aus, indem Sie mit der rechten Maustaste klicken und Mit PowerShell ausführen auswählen. Die Ausführung des Skripts dauert 10-15 Minuten.

Installieren von Betriebssystemupdates und Software

Nachdem die virtuellen Computer bereitgestellt wurden, müssen Sie Sicherheitsupdates und die Software installieren, die zum Verwalten Ihres Labs erforderlich ist.

Aktualisieren von Domänencontroller und Windows Admin Center-VMs

Melden Sie sich bei Ihrem Virtualisierungshost an, und starten Sie den Hyper-V-Manager. Der Domänencontroller in Ihrer privaten Gesamtstruktur sollte bereits ausgeführt werden (MSLab-DC). Wechseln Sie zu Virtual Machines, wählen Sie den Domänencontroller aus, und stellen Sie eine Verbindung mit ihm her. Melden Sie sich mit dem von Ihnen angegebenen Benutzernamen und Kennwort an. Wenn Sie sie nicht geändert haben, verwenden Sie die Standardwerte: LabAdmin/LS1setup!

Installieren Sie alle erforderlichen Sicherheitsupdates, und starten Sie die Domänencontroller-VM bei Bedarf neu. Dies kann eine Weile dauern, und Sie müssen den virtuellen Computer möglicherweise mehrmals neu starten.

Starten Sie im Hyper-V-Manager die Windows Admin Center-VM (MSLab-AdminCenter), auf der Server Core ausgeführt wird. Stellen Sie eine Verbindung her, melden Sie sich an und geben Sie sconfig ein. Wählen Sie Sicherheitsupdates herunterladen und installieren aus, und führen Sie bei Bedarf einen Neustart durch. Dies kann eine Weile dauern, und Sie müssen den virtuellen Computer möglicherweise mehrmals neu starten und auch sconfig mehrmals eingeben.

Installieren von Microsoft Edge auf dem Domänencontroller

Sie benötigen einen Webbrowser auf der Domänencontroller-VM, um Windows Admin Center in Ihrer privaten Gesamtstruktur zu verwenden. Es ist wahrscheinlich, dass Internet Explorer aus Sicherheitsgründen blockiert wird. Verwenden Sie stattdessen Microsoft Edge. Wenn Edge noch nicht auf der Domänencontroller-VM installiert ist, müssen Sie es installieren.

Um Microsoft Edge zu installieren, stellen Sie über den Hyper-V Manager eine Verbindung mit der Domänencontroller-VM her, und starten Sie eine PowerShell-Sitzung als Administrator. Führen Sie dann den folgenden Code aus, um Microsoft Edge zu installieren und zu starten.

#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:

Installieren von Windows Admin Center im Gatewaymodus

Verwenden Sie Microsoft Edge auf der Domänencontroller-VM, laden Sie dieses Skript auf die Domänencontroller-VM herunter, und speichern Sie es mit der Dateierweiterung „PS1“.

Klicken Sie mit der rechten Maustaste auf die Datei, wählen Sie Mit PowerShell bearbeiten aus, und ändern Sie den Wert von $GatewayServerName in der ersten Zeile so, dass es dem Namen Ihres virtuellen AdminCenter-Computers ohne Präfix (z. B. AdminCenter) entspricht. Speichern Sie das Skript, und führen Sie es aus, indem Sie mit der rechten Maustaste auf die Datei klicken und Mit PowerShell ausführen auswählen.

Anmelden bei Windows Admin Center

Sie sollten jetzt in der Lage sein, von Edge auf dem Domänencontroller auf Windows Admin Center zuzugreifen: http://admincenter

Ihr Browser warnt Sie möglicherweise, dass es sich um eine unsichere Verbindung handelt, aber es ist in Ordnung, wenn Sie den Vorgang fortsetzen.

Hinzufügen eines extern zugänglichen Netzwerkadapters (optional)

Wenn sich Ihr Lab in einem privaten Netzwerk befindet, möchten Sie der AdminCenter-VM möglicherweise eine von außen zugängliche NIC hinzufügen, sodass Sie eine Verbindung herstellen und Ihr Lab von außerhalb der privaten Gesamtstruktur verwalten können. Verwenden Sie dazu Windows Admin Center, um eine Verbindung mit Ihrem Virtualisierungshost (nicht dem Domänencontroller) herzustellen, und wechseln Sie zu Virtuelle Computer > MSLab-AdminCenter > Einstellungen > Netzwerke. Stellen Sie sicher, dass ein virtueller Switch mit dem entsprechenden Netzwerk verbunden ist. Suchen Sie nach „Switch Type = External“ (z. B. „MSLab-LabSwitch-External“). Fügen Sie diesem externen virtuellen Switch dann eine VM-NIC hinzu oder binden Sie sie an den virtuellen Switch. Aktivieren Sie das Kontrollkästchen „Freigabe dieser Netzwerkadapter durch das Verwaltungsbetriebssystem zulassen“.

Notieren Sie sich die IP-Adressen der Netzwerkadapter auf der AdminCenter-VM. Fügen Sie „:443“ an die IP-Adresse der extern zugänglichen NIC an, und Sie sollten sich bei Windows Admin Center anmelden und Ihren Cluster über einen externen Webbrowser erstellen und verwalten können, z. B. https://10.217.XX.XXX:443

Installieren von Betriebssystemupdates auf den Azure Stack HCI-VMs

Starten Sie Azure Stack HCI-VMs mithilfe des Hyper-V-Managers auf dem Virtualisierungshost. Stellen Sie eine Verbindung mit jeder VM her, und laden Sie die Sicherheitsupdates mithilfe von „Sconfig“ auf jede dieser VMs herunter, und installieren Sie sie dort. Möglicherweise müssen Sie die VMs mehrmals neu starten. (Sie können diesen Schritt überspringen, wenn Sie die Betriebssystemupdates später im Rahmen des Clustererstellungs-Assistenten installieren möchten.)

Aktivieren der Hyper-V-Rolle auf den Azure Stack HCI-VMs

Wenn Ihre Cluster-VMs Azure Stack HCI 20H2 ausführen, müssen Sie ein Skript ausführen, um die Hyper-V-Rolle auf den VMs zu aktivieren. Speichern Sie dieses Skript in C:\Lab auf Ihrem Virtualisierungshost als „PreviewWorkaround.ps1“.

Klicken Sie mit der rechten Maustaste auf die Datei „PreviewWorkaround.ps1“, und wählen Sie Mit PowerShell bearbeiten aus. Ändern Sie die Variablen $domainName, $domainAdmin und $nodeName, wenn Sie nicht übereinstimmen. Beispiel:

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

Speichern Sie Ihre Änderungen, öffnen Sie dann eine PowerShell-Sitzung als Administrator, und führen Sie das Skript aus:

PS C:\Lab> ./PreviewWorkaround.ps1

Die Ausführung des Skripts wird einige Zeit in Anspruch nehmen, insbesondere wenn Sie viele VMs erstellt haben. Sie sollten folgende Meldung sehen: „MSLab-AzSHCI1 MSLab-AzSHCI2 ist jetzt online. Installation von Hyper-V PowerShell wird fortgesetzt.“ Wenn das Skript nach der Anzeige der Meldung einzufrieren scheint, drücken Sie die EINGABETASTE, um es zu reaktivieren. Wenn es fertig ist, sollten Sie folgende Meldung sehen: „MSLab-AzSHCI1 MSLab-AzSHCI2 ist jetzt online. Fahre mit dem nächsten Schritt fort...“

Hinzufügen zusätzlicher Netzwerkadapter (optional)

Je nachdem, wie Sie den Cluster verwenden möchten, können Sie ein paar weitere Netzwerkadapter zu den einzelnen Azure Stack HCI-VMs hinzufügen, um vielseitigere Tests durchführen zu können. Stellen Sie hierzu mithilfe von Windows Admin Center eine Verbindung mit Ihrem Hostserver her, und wechseln Sie zu Virtuelle Computer > MSLab-(Knoten) > Einstellungen > Netzwerke. Stellen Sie sicher, dass Erweitert > MAC-Adressspoofing aktivieren aktiviert ist. Wenn diese Einstellung nicht aktiviert ist, können beim Erstellen eines Clusters Fehler bei den Verbindungstests auftreten.

Registrieren von Windows Admin Center bei Azure

Stellen Sie entweder mithilfe der externen URL oder mithilfe von Edge auf dem Domänencontroller eine Verbindung mit Windows Admin Center in Ihrer privaten Gesamtstruktur her, und registrieren Sie Windows Admin Center bei Azure.

Bereinigen von Ressourcen

Wenn Sie J ausgewählt haben, um unnötige Dateien und Ordner zu bereinigen, ist die Bereinigung bereits abgeschlossen. Wenn Sie es vorziehen, hierbei manuell vorzugehen, navigieren Sie zu „C:\Labs“, und löschen Sie alle nicht benötigten Dateien.

Nächste Schritte

Sie können nun mit dem Clustererstellungs-Assistenten fortfahren.