Een virtueel Azure Stack HCI-systeem, versie 23H2 implementeren
Van toepassing op: Azure Stack HCI, versie 23H2
In dit artikel wordt beschreven hoe u een gevirtualiseerde enkele server of een Azure Stack HCI met meerdere knooppunten, versie 23H2, implementeert op een hostsysteem met Hyper-V op windows Server 2022, Windows 11 of hoger besturingssysteem (OS).
U hebt beheerdersbevoegdheden nodig voor de virtuele implementatie van Azure Stack HCI en moet bekend zijn met de bestaande Azure Stack HCI-oplossing. De implementatie kan ongeveer 2,5 uur duren.
Belangrijk
Een virtuele implementatie van Azure Stack HCI versie 23H2 is alleen bedoeld voor educatieve en demonstratiedoeleinden. Microsoft Ondersteuning biedt geen ondersteuning voor virtuele implementaties.
Vereisten
Dit zijn de hardware, netwerken en andere vereisten voor de virtuele implementatie:
Vereisten voor fysieke host
Hier volgen de minimale vereisten voor het implementeren van Azure Stack HCI versie 23H2.
Zorg voordat u begint voor het volgende:
U hebt toegang tot een fysiek hostsysteem waarop Hyper-V wordt uitgevoerd op Windows Server 2022, Windows 11 of hoger. Deze host wordt gebruikt voor het inrichten van een virtuele Azure Stack HCI-implementatie.
Je hebt genoeg capaciteit. Er is meer capaciteit vereist voor het uitvoeren van werkelijke workloads, zoals virtuele machines of containers.
De fysieke hardware die voor de virtuele implementatie wordt gebruikt, voldoet aan de volgende vereisten:
Onderdeel Minimum Processor Intel VT-x of AMD-V, met ondersteuning voor geneste virtualisatie. Zie Biedt mijn processor ondersteuning voor Intel-virtualisatietechnologie®? voor meer informatie. Geheugen De fysieke host moet minimaal 32 GB RAM hebben voor implementaties van één virtueel knooppunt. De virtuele host-VM moet ten minste 24 GB RAM hebben.
De fysieke host moet minimaal 64 GB RAM hebben voor twee virtuele knooppuntimplementaties. Elke virtuele host-VM moet ten minste 24 GB RAM hebben.Hostnetwerkadapters Eén netwerkadapter. Storage Ssd (Solid State Drive) van 1 TB.
Vereisten voor virtuele host
Voordat u begint, moet u ervoor zorgen dat elk virtueel hostsysteem de volgende resources kan toewijzen om uw gevirtualiseerde Azure Stack HCI-systeem in te richten:
Onderdeel | Vereiste |
---|---|
Type virtuele machine (VM) | Beveiligd opstarten en TPM (Trusted Platform Module) ingeschakeld. |
vCPUs | Vier kernen. |
Geheugen | Minimaal 24 GB. |
Netwerken | Ten minste twee netwerkadapters die zijn verbonden met het interne netwerk. MAC-adresvervalsing moet zijn ingeschakeld. |
Opstartschijf | Eén schijf voor het installeren van het Azure Stack HCI-besturingssysteem vanuit ISO. |
Harde schijven voor Opslagruimten Direct | Zes dynamisch uitbreidende schijven. De maximale schijfgrootte is 1024 GB. |
Gegevensschijf | Ten minste 127 GB. |
Tijdsynchronisatie in integratie | Uitgeschakeld. |
Notitie
Dit zijn de minimale vereisten voor het implementeren van Azure Stack HCI versie 23H2. Verhoog de capaciteit zoals virtuele kernen en geheugen bij het uitvoeren van werkelijke workloads, zoals virtuele machines of containers.
De virtuele switch instellen
Wanneer u Azure Stack HCI implementeert in een virtuele omgeving, kunt u uw bestaande netwerken gebruiken en IP-adressen van dat netwerk gebruiken als deze beschikbaar zijn. In een dergelijk geval hoeft u alleen maar een externe switch te maken en alle virtuele netwerkadapters met die virtuele switch te verbinden. Virtuele hosts hebben connectiviteit met uw fysieke netwerk zonder extra configuratie.
Als uw fysieke netwerk waar u de virtuele omgeving van Azure Stack HCI wilt implementeren echter schaars is op IP-adressen, kunt u een interne virtuele switch maken met NAT ingeschakeld, om de virtuele hosts te isoleren van uw fysieke netwerk terwijl uitgaande connectiviteit met internet behouden blijft.
Hieronder ziet u de stappen voor de twee opties:
Implementeren met externe virtuele switch
Voer op uw fysieke hostcomputer de volgende PowerShell-opdracht uit om een externe virtuele switch te maken:
New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true
Implementeren met interne virtuele switch en NAT ingeschakeld
Voer op uw fysieke hostcomputer de volgende PowerShell-opdracht uit om een interne virtuele switch te maken. Het gebruik van deze switch zorgt ervoor dat de Azure Stack HCI-implementatie geïsoleerd is.
New-VMSwitch -Name "internal_switch_name" -SwitchType Internal -NetAdapterName "network_adapter_name"
Zodra de interne virtuele switch is gemaakt, wordt er een nieuwe netwerkadapter gemaakt op de host. U moet een IP-adres toewijzen aan deze netwerkadapter om de standaardgateway van uw virtuele hosts te worden zodra u verbinding hebt met dit interne switchnetwerk. U moet ook het NAT-netwerksubnet definiëren waar de virtuele hosts zijn verbonden.
In het volgende voorbeeldscript wordt een NAT-netwerk HCINAT
met het voorvoegsel 192.168.44.0/24
gemaakt en wordt het 192.168.44.1
IP-adres gedefinieerd als de standaardgateway voor het netwerk met behulp van de interface op de host:
#Check interface index of the new network adapter on the host connected to InternalSwitch:
Get-NetAdapter -Name "vEthernet (InternalSwitch)"
#Create the NAT default gateway IP on top of the InternalSwitch network adapter:
New-NetIPAddress -IPAddress 192.168.44.1 -PrefixLength 24 -InterfaceAlias "vEthernet (InternalSwitch)"
#Create the NAT network:
New-NetNat -Name "HCINAT"-InternalIPInterfaceAddressPrefix 192.168.44.0/24
de virtuele host Creatie
Creatie een virtuele machine om als virtuele host te fungeren met de volgende configuratie. U kunt deze VM maken met Hyper-V-beheer of PowerShell:
Hyper-V-beheer. Zie een virtuele machine Creatie met Hyper-V-beheer om uw fysieke beheernetwerk te spiegelen voor meer informatie.
PowerShell-cmdlets. Zorg ervoor dat u de VM-configuratieparameters aanpast waarnaar wordt verwezen in de vereisten voor virtuele host voordat u de PowerShell-cmdlets uitvoert.
Volg deze stappen om een voorbeeld-VM met de naam Node1
te maken met behulp van PowerShell-cmdlets:
De VM maken:
New-VHD -Path "your_VHDX_path" -SizeBytes 127GB New-VM -Name Node1 -MemoryStartupBytes 20GB -VHDPath "your_VHDX_path" -Generation 2 -Path "VM_config_files_path"
Dynamisch geheugen uitschakelen:
Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
VM-controlepunten uitschakelen:
Set-VM -VMName "Node1" -CheckpointType Disabled
Verwijder de standaardnetwerkadapter die is gemaakt tijdens het maken van de VM in de vorige stap:
Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
Voeg nieuwe netwerkadapters toe aan de VM met behulp van aangepaste namen. In dit voorbeeld worden vier NIC's toegevoegd, maar u kunt er zo nodig slechts twee toevoegen. Met vier NIC's kunt u twee netwerkintenties (
Mgmt_Compute
enStorage
bijvoorbeeld) testen met elk twee NIC's:Add-VmNetworkAdapter -VmName "Node1" -Name "NIC1" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC2" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC3" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC4"
Koppel alle netwerkadapters aan de virtuele switch. Geef de naam op van de virtuele switch die u hebt gemaakt, ongeacht of deze extern zonder NAT of intern met NAT was:
Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
Mac-adresvervalsing op alle netwerkadapters op vm
Node1
inschakelen. MAC-adresvervalsing is een techniek waarmee een netwerkadapter zich als een andere kan voordoen door het MAC-adres (Media Access Control) te wijzigen. Dit is vereist in scenario's waarin u geneste virtualisatie wilt gebruiken:Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
Schakel de Trunk-poort in (alleen voor implementaties met meerdere knooppunten) voor alle netwerkadapters op de VM
Node1
. Met dit script wordt de netwerkadapter van een specifieke VM geconfigureerd voor gebruik in de trunk-modus. Dit wordt meestal gebruikt in implementaties met meerdere knooppunten waarbij u meerdere VLAN's (Virtual Local Area Networks) wilt toestaan om te communiceren via één netwerkadapter:Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
Creatie een nieuwe sleutelbeveiliging en wijs deze toe aan
Node1
. Dit wordt meestal gedaan in de context van het instellen van een beveiligde infrastructuur in Hyper-V, een beveiligingsfunctie die VM's beschermt tegen onbevoegde toegang of manipulatie.Nadat het volgende script is uitgevoerd,
Node1
wordt er een nieuwe sleutelbeveiliging aan toegewezen. Deze sleutelbeveiliging beveiligt de sleutels van de VM en helpt de VM te beveiligen tegen onbevoegde toegang of onrechtmatige manipulatie:$owner = Get-HgsGuardian UntrustedGuardian $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot Set-VMKeyProtector -VMName "Node1" -KeyProtector $kp.RawData
Schakel de vTPM in voor
Node1
. Door vTPM in te schakelen op een VM, kunt u BitLocker en andere functies gebruiken waarvoor TPM op de VM is vereist. Nadat deze opdracht is uitgevoerd,Node1
wordt een vTPM ingeschakeld, ervan uitgaande dat de hardware van de hostcomputer en de configuratie van de VM deze functie ondersteunen.Enable-VmTpm -VMName "Node1"
Wijzig virtuele processors in
8
:Set-VmProcessor -VMName "Node1" -Count 8
Creatie extra stations die moeten worden gebruikt als de opstartschijf en harde schijven voor Opslagruimten Direct. Nadat deze opdrachten zijn uitgevoerd, worden er zes nieuwe VHDX's gemaakt in de
C:\vms\Node1
map, zoals in dit voorbeeld wordt weergegeven:new-VHD -Path "C:\vms\Node1\s2d1.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d2.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d3.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d4.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d5.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d6.vhdx" -SizeBytes 1024GB
Koppel stations aan de zojuist gemaakte VHDX's voor de VM. In deze opdrachten worden zes VHD's die zich in de
C:\vms\Node1
map bevinden en mets2d6.vhdx
een door-naams2d1.vhdx
zijn toegevoegd aanNode1
. ElkeAdd-VMHardDiskDrive
opdracht voegt één VHD toe aan de virtuele machine, zodat de opdracht zes keer wordt herhaald met verschillende-Path
parameterwaarden.Daarna zijn er zes VHD's aan de
Node1
virtuele machine gekoppeld. Deze VHDX's worden gebruikt om Opslagruimten Direct op de VM in te schakelen. Deze zijn vereist voor Azure Stack HCI-implementaties:Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d1.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d2.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d3.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d4.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d5.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d6.vhdx"
Tijdsynchronisatie uitschakelen:
Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
Geneste virtualisatie inschakelen:
Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
Start de VM:
Start-VM "Node1"
Het besturingssysteem installeren op de virtuele host-VM's
Voer de volgende stappen uit om het Azure Stack HCI-besturingssysteem te installeren en configureren op de virtuele host-VM's:
Download Azure Stack HCI 23H2 ISO en installeer het besturingssysteem Azure Stack HCI.
Werk het wachtwoord bij omdat dit de eerste VM is die wordt opgestart. Zorg ervoor dat het wachtwoord voldoet aan de complexiteitsvereisten van Azure. Het wachtwoord bestaat uit ten minste 12 tekens en bevat 1 hoofdletter, 1 kleine letter, 1 cijfer en 1 speciaal teken.
Nadat het wachtwoord is gewijzigd, wordt het hulpprogramma voor serverconfiguratie (SConfig) automatisch geladen. Selecteer de optie
15
om de opdrachtregel af te sluiten en van daaruit de volgende stappen uit te voeren.Start SConfig door de volgende opdracht uit te voeren:
SConfig
Zie Configureren met het hulpprogramma Serverconfiguratie (SConfig) voor meer informatie over het gebruik van SConfig.
Wijzig hostnaam in
Node1
. Gebruik de optie2
voorComputer name
in SConfig om dit te doen.De wijziging van de hostnaam resulteert in een herstart. Wanneer u wordt gevraagd om opnieuw op te starten, voert u in
Yes
en wacht u totdat het opnieuw opstarten is voltooid. SConfig wordt automatisch opnieuw gestart.Voer vanaf de fysieke host de
Get-VMNetworkAdapter
cmdlets enForEach-Object
uit om de vier namen van de netwerkadapters voor de VMNode1
te configureren door de toegewezen MAC-adressen toe te wijzen aan de bijbehorende netwerkadapters in het gastbesturingssysteem.- De
Get-VMNetworkAdapter
cmdlet wordt gebruikt om het netwerkadapterobject op te halen voor elke NIC op de VM, waarbij de-VMName
parameter de naam van de VM opgeeft en de-Name
parameter de naam van de netwerkadapter opgeeft. DeMacAddress
eigenschap van het netwerkadapterobject wordt vervolgens geopend om het MAC-adres op te halen:
Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
Het MAC-adres is een reeks hexadecimale getallen. De
ForEach-Object
cmdlet wordt gebruikt om deze tekenreeks op te maken door afbreekstreepjes in te voegen met specifieke intervallen. Met name deInsert
methode van het tekenreeksobject wordt gebruikt om een afbreekstreepje in te voegen op de 2e, 5e, 8e, 11e en 14e positie in de tekenreeks. Dejoin
operator wordt vervolgens gebruikt om de resulterende matrix met tekenreeksen samen te brengen in één tekenreeks met spaties tussen elk element.De opdrachten worden herhaald voor elk van de vier NIC's op de VM en het uiteindelijke geformatteerde MAC-adres voor elke NIC wordt opgeslagen in een afzonderlijke variabele:
($Node1finalmacNIC1, $Node1finalmacNIC2, $Node1finalmacNIC3, $Node1finalmacNIC4).
- Het volgende script voert het uiteindelijke geformatteerde MAC-adres voor elke NIC uit:
$Node1macNIC1 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1" $Node1macNIC1.MacAddress $Node1finalmacNIC1=$Node1macNIC1.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC1 $Node1macNIC2 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC2" $Node1macNIC2.MacAddress $Node1finalmacNIC2=$Node1macNIC2.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC2 $Node1macNIC3 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC3" $Node1macNIC3.MacAddress $Node1finalmacNIC3=$Node1macNIC3.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC3 $Node1macNIC4 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC4" $Node1macNIC4.MacAddress $Node1finalmacNIC4=$Node1macNIC4.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC4
- De
Haal de lokale beheerdersreferenties van de
Node1
VM op en wijzig de naamNode1
van :$cred = get-credential
Wijzig de naam en wijs de NIC's toe op
Node1
. De naamwijziging is gebaseerd op de MAC-adressen van de NIC's die zijn toegewezen door Hyper-V wanneer de VM de eerste keer wordt gestart. Deze opdrachten moeten rechtstreeks vanaf de host worden uitgevoerd:Gebruik de
Get-NetAdapter
opdracht om de fysieke netwerkadapters op de VM op te halen, filter ze op basis van hun MAC-adres en wijzig de naam ervan in de overeenkomende adapter met behulp van deRename-NetAdapter
cmdlet.Dit wordt herhaald voor elk van de vier NIC's op de VM, waarbij het MAC-adres en de nieuwe naam van elke NIC afzonderlijk zijn opgegeven. Hiermee wordt een toewijzing tot stand gebracht tussen de naam van de NIC's in Hyper-V-beheer en de naam van de NIC's in het VM-besturingssysteem:
Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC1) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC1} | Rename-NetAdapter -NewName "NIC1"} -ArgumentList $Node1finalmacNIC1 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC2) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC2} | Rename-NetAdapter -NewName "NIC2"} -ArgumentList $Node1finalmacNIC2 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC3) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC3} | Rename-NetAdapter -NewName "NIC3"} -ArgumentList $Node1finalmacNIC3 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC4) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC4} | Rename-NetAdapter -NewName "NIC4"} -ArgumentList $Node1finalmacNIC4
Schakel dhcp (Dynamic Host Configuration Protocol) uit op de vier NIC's voor vm's
Node1
door de volgende opdrachten uit te voeren.Notitie
De interfaces verkrijgen niet automatisch IP-adressen van een DHCP-server en moeten in plaats daarvan handmatig IP-adressen aan de interfaces worden toegewezen:
Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC1" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC2" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC3" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC4" -Dhcp Disabled}
Beheer-IP, gateway en DNS instellen. Nadat de volgende opdrachten zijn uitgevoerd,
Node1
wordt deNIC1
netwerkinterface geconfigureerd met het opgegeven IP-adres, subnetmasker, standaardgateway en DNS-serveradres. Zorg ervoor dat het BEHEER-IP-adres Active Directory kan oplossen en uitgaande verbinding met internet heeft:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {New-NetIPAddress -InterfaceAlias "NIC1" -IPAddress "192.168.44.201" -PrefixLength 24 -AddressFamily IPv4 -DefaultGateway "192.168.44.1"} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-DnsClientServerAddress -InterfaceAlias "NIC1" -ServerAddresses "192.168.1.254"}
Schakel de Hyper-V-rol in. Met deze opdracht wordt de VM
Node1
opnieuw opgestart:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All }
Zodra
Node1
opnieuw is opgestart en de Hyper-V-rol is geïnstalleerd, installeert u de Hyper-V-beheerprogramma's:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
Zodra de virtuele hostserver gereed is, moet u deze registreren en machtigingen toewijzen in Azure als een Arc-resource.
Zodra de server is geregistreerd in Azure als een Arc-resource en alle verplichte extensies zijn geïnstalleerd, kiest u een van de volgende methoden om Azure Stack HCI vanuit Azure te implementeren.
Herhaal het bovenstaande proces voor extra knooppunten als u implementaties met meerdere knooppunten wilt testen. Zorg ervoor dat namen van virtuele host en beheer-IP's uniek zijn en zich in hetzelfde subnet bevinden: