Distribuera ett virtuellt lokalt Azure-system
Gäller för: Azure Local 2311.2 och senare
Viktigt!
Azure Stack HCI är nu en del av Azure Local. Läs mer.
Den här artikeln beskriver hur du distribuerar en virtualiserad lokal Azure-instans på ett värdsystem med Windows Server 2022, Windows 11 eller senare operativsystem . Servern bör också ha Hyper-V aktiverat för utplaceringen.
Du behöver administratörsbehörighet för den virtuella Azure-distributionen lokalt och bör känna till den befintliga lokala Azure-lösningen. Distributionen kan ta cirka 2,5 timmar att slutföra.
Viktigt!
En virtuell distribution av Azure Local är endast avsedd för utbildning och demonstration. Microsoft Support stöder inte virtuella distributioner.
Förutsättningar
Här är maskinvara, nätverk och andra förutsättningar för den virtuella distributionen:
Krav för fysisk värd
Följande är minimikraven för att distribuera Azure Local.
Innan du börjar bör du kontrollera att:
Du har åtkomst till ett fysiskt värdsystem som kör Hyper-V på Windows Server 2022, Windows 11 eller senare. Den här värden används för att etablera en virtuell lokal Azure-distribution.
Du har tillräckligt med kapacitet. Mer kapacitet krävs för att köra faktiska arbetsbelastningar som virtuella datorer eller containrar.
Den fysiska maskinvara som används för den virtuella distributionen uppfyller följande krav:
Komponent Lägsta Processor Intel VT-x eller AMD-V, med stöd för kapslad virtualisering. Mer information finns i Stöder min processor Intel-virtualiseringsteknik®?. Minne Den fysiska värden måste ha minst 32 GB RAM-minne för distribution av en virtuell nod. Den virtuella värddatorn ska ha minst 24 GB RAM-minne.
Den fysiska värden måste ha minst 64 GB RAM-minne för två virtuella nodimplementeringar. Varje virtuell värddator ska ha minst 24 GB RAM-minne för distribution och 32 GB för att tillämpa uppdateringar.Värdnätverkskort Ett enda nätverkskort. Storage 1 TB solid state-enhet (SSD).
Krav för virtuell värd
Innan du börjar kontrollerar du att varje virtuellt värdsystem kan ägna följande resurser åt att etablera din virtualiserade lokala Azure-instans:
Komponent | Krav |
---|---|
Typ av virtuell dator (VM) | Säker start och betrodd plattformsmodul (TPM) aktiverad. |
vCPU:er | Fyra kärnor. |
Minne | Minst 24 GB. |
Nätverk | Minst två nätverkskort som är anslutna till det interna nätverket. MAC-förfalskning måste vara aktiverat. |
Startdisk | En disk för att installera Azure Stack HCI-operativsystemet från ISO. Minst 200 GB |
Hårddiskar för Storage Spaces Direct | Fyra dynamiska expanderande diskar. Maximal diskstorlek är 1 024 GB. |
Datadiskar | Minst 127 GB vardera. Storleken måste vara densamma för varje disk |
Tidssynkronisering i integrering | Avaktiverad. |
Kommentar
Det här är minimikraven för att distribuera Azure Local. Öka kapaciteten för virtuella kärnor och minne när du kör verkliga arbetsbelastningar som virtuella maskiner eller containrar.
Konfigurera den virtuella växeln
När du distribuerar Azure Local i en virtuell miljö kan du använda dina befintliga nätverk och använda IP-adresser från nätverket om de är tillgängliga. I så fall behöver du bara skapa en extern växel och ansluta alla virtuella nätverkskort till den virtuella växeln. Virtuella värdar kommer att ha anslutning till ditt fysiska nätverk utan någon extra konfiguration.
Men om det är ont om IP-adresser i det fysiska nätverk där du planerar att distribuera den virtuella Azure-miljön, kan du skapa en intern virtuell växel med aktiverad NAT för att isolera de virtuella värdarna från ditt fysiska nätverk samtidigt som de virtuella värdarna behåller utgående anslutning till internet.
Följande visar stegen för de två alternativen:
Distribuera med extern virtuell växel
På den fysiska värddatorn kör du följande PowerShell-kommando för att skapa en extern virtuell växel:
New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true
Distribuera med intern virtuell växel och NAT aktiverat
På den fysiska värddatorn kör du följande PowerShell-kommando för att skapa en intern virtuell växel. Användningen av den här växeln säkerställer att den lokala Azure-distributionen är isolerad.
New-VMSwitch -Name "internal_switch_name" -SwitchType Internal -NetAdapterName "network_adapter_name"
När den interna virtuella växeln har skapats skapas ett nytt nätverkskort på värddatorn. Du måste tilldela en IP-adress till det här nätverkskortet för att det ska bli standardgateway för dina virtuella värdar när det är anslutet till detta interna switch-nätverk. Du måste också definiera NAT-nätverksundernätet där de virtuella värdarna är anslutna.
Följande exempelskript skapar ett NAT-nätverk HCINAT
med prefix 192.168.44.0/24
och definierar 192.168.44.1
IP-adressen som standardgateway för nätverket med hjälp av gränssnittet på värden:
#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
Skapa den virtuella värden
Skapa en virtuell dator som fungerar som virtuell värd med följande konfiguration. Du kan skapa den här virtuella datorn med antingen Hyper-V Manager eller PowerShell:
Hyper-V Manager. Mer information finns i Skapa en virtuell dator med Hyper-V Manager för att spegla ditt fysiska hanteringsnätverk.
PowerShell-cmdlets. Se till att justera de VM-konfigurationsparametrar som anges i kraven för virtuell värd innan du kör PowerShell-cmdletarna.
Följ dessa steg för att skapa en virtuell dator med ett exempel med namnet Node1
med PowerShell-cmdletar:
Skapa den virtuella datorn:
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"
Inaktivera dynamiskt minne:
Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
Inaktivera kontrollpunkter för virtuella datorer:
Set-VM -VMName "Node1" -CheckpointType Disabled
Ta bort standardnätverkskortet som skapades när den virtuella datorn skapades i föregående steg:
Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
Lägg till nya nätverkskort till den virtuella datorn med hjälp av anpassade namn. Det här exemplet lägger till fyra nätverkskort, men du kan bara lägga till två om det behövs. Med fyra nätverkskort kan du testa två nätverks avsikter (
Mgmt_Compute
ochStorage
till exempel) med två nätverkskort vardera:Add-VmNetworkAdapter -VmName "Node1" -Name "NIC1" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC2" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC3" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC4"
Koppla alla nätverkskort till den virtuella växeln. Ange namnet på den virtuella växel som du skapade, oavsett om det var externt utan NAT eller internt med NAT:
Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
Aktivera MAC-förfalskning på alla nätverkskort på den virtuella datorn
Node1
. MAC-adressförfalskning är en teknik som gör att ett nätverkskort kan maskeras som ett annat genom att ändra mac-adressen (Media Access Control). Detta krävs i scenarier där du planerar att använda kapslad virtualisering:Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
Aktivera trunkport (endast för distributioner med flera noder) för alla nätverkskort på den virtuella datorn
Node1
. Det här skriptet konfigurerar nätverkskortet för en specifik virtuell dator så att det fungerar i trunkläge. Detta används vanligtvis i distributioner med flera noder där du vill tillåta att flera virtuella lokala nätverk (VLAN) kommunicerar via ett enda nätverkskort:Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
Skapa ett nytt nyckelskydd och tilldela det till
Node1
. Detta görs vanligtvis i samband med att du konfigurerar en skyddad infrastrukturresurs i Hyper-V, en säkerhetsfunktion som skyddar virtuella datorer från obehörig åtkomst eller manipulering.När följande skript har körts, kommer
Node1
ha ett nytt nyckelskydd tilldelat till den. Det här nyckelskyddet skyddar den virtuella datorns nycklar och skyddar den virtuella datorn mot obehörig åtkomst eller manipulering:$owner = Get-HgsGuardian UntrustedGuardian $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot Set-VMKeyProtector -VMName "Node1" -KeyProtector $kp.RawData
Aktivera vTPM för
Node1
. Genom att aktivera vTPM på en virtuell dator kan du använda BitLocker och andra funktioner som kräver TPM på den virtuella datorn. När det här kommandot har körtsNode1
har en vTPM aktiverat, förutsatt att värddatorns maskinvara och den virtuella datorns konfiguration stöder den här funktionen.Enable-VmTpm -VMName "Node1"
Ändra virtuella processorer till
8
:Set-VmProcessor -VMName "Node1" -Count 8
Skapa extra enheter som ska användas som startdisk och hårddiskar för Lagringsutrymmen Direct. När dessa kommandon har körts skapas sex nya VHDX:ar i
C:\vms\Node1
katalogen enligt följande exempel: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
Koppla enheter till de nyligen skapade VHDX:erna för den virtuella datorn. I dessa kommandon läggs sex VHD-filer som finns i
C:\vms\Node1
-katalogen och som är namngivna fråns2d1.vhdx
tills2d6.vhdx
tillNode1
. VarjeAdd-VMHardDiskDrive
kommando lägger till en virtuell hårddisk till den virtuella datorn, så kommandot upprepas sex gånger med olika-Path
parametervärden.Därefter har den
Node1
virtuella datorn fyra virtuella hårddiskar kopplade till sig. Dessa VHDX-filer används för att aktivera Storage Spaces Direct på den virtuella datorn, vilket krävs för Azure Stack HCI-distributioner.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"
Inaktivera tidssynkronisering:
Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
Aktivera kapslad virtualisering:
Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
Starta den virtuella datorn:
Start-VM "Node1"
Installera operativsystemet på de virtuella värddatorerna
Utför följande steg för att installera och konfigurera Azure Stack HCI-operativsystemet på de virtuella värddatorerna:
Ladda ned version 23H2-operativsystem för Lokal Azure-distribution och Installera Azure Stack HCI-operativsystemet.
Uppdatera lösenordet eftersom det här är den första virtuella datorns start. Kontrollera att lösenordet uppfyller azure-komplexitetskraven. Lösenordet är minst 12 tecken och innehåller 1 versaler, 1 gemener, 1 tal och 1 specialtecken.
När lösenordet har ändrats läses serverkonfigurationsverktyget (SConfig) in automatiskt. Välj alternativet
15
för att avsluta till kommandoradsgränssnittet och kör nästa steg därifrån.Starta SConfig genom att köra följande kommando:
SConfig
Information om hur du använder SConfig finns i Konfigurera med verktyget Serverkonfiguration (SConfig).
Ändra värdnamnet till
Node1
. Använd alternativet2
förComputer name
i SConfig för att göra detta.Ändringen av värdnamnet resulterar i en omstart. När du uppmanas att starta om anger
Yes
du och väntar tills omstarten har slutförts. SConfig startas igen automatiskt.Från den fysiska värden kör du
Get-VMNetworkAdapter
ochForEach-Object
cmdlets för att konfigurera de fyra nätverkskortnamnen för den virtuella datornNode1
genom att mappa de tilldelade MAC-adresserna till respektive nätverkskort i gästoperativsystemet.- Cmdleten
Get-VMNetworkAdapter
används för att hämta nätverkskortobjektet för varje nätverkskort på den virtuella datorn, där parametern-VMName
anger namnet på den virtuella datorn och parametern-Name
anger namnet på nätverkskortet. EgenskapenMacAddress
för nätverkskortobjektet nås sedan för att hämta MAC-adressen:
Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
MAC-adressen är en sträng med hexadecimala tal. Cmdleten
ForEach-Object
används för att formatera strängen genom att infoga bindestreck med specifika intervall.Insert
Mer specifikt används metoden för strängobjektet för att infoga ett bindestreck i strängens 2:a, 5:e, 8:e, 11:e och 14:e plats i strängen. Operatornjoin
används sedan för att sammanfoga den resulterande matrisen med strängar till en enda sträng med blanksteg mellan varje element.Kommandona upprepas för var och en av de fyra nätverkskorten på den virtuella datorn och den slutliga formaterade MAC-adressen för varje nätverkskort lagras i en separat variabel:
($Node1finalmacNIC1, $Node1finalmacNIC2, $Node1finalmacNIC3, $Node1finalmacNIC4).
- Följande skript matar ut den slutliga formaterade MAC-adressen för varje nätverkskort:
$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
- Cmdleten
Hämta autentiseringsuppgifterna för den virtuella datorns
Node1
lokala administratör och byt sedan namn påNode1
:$cred = get-credential
Byt namn på och mappa nätverkskorten på
Node1
. Namnbytet baseras på MAC-adresserna för de nätverkskort som tilldelats av Hyper-V när den virtuella datorn startas första gången. Dessa kommandon ska köras direkt från värddatorn.Get-NetAdapter
Använd kommandot för att hämta de fysiska nätverkskorten på den virtuella datorn, filtrera dem baserat på deras MAC-adress och byt sedan namn på dem till matchande kort med hjälp av cmdletenRename-NetAdapter
.Detta upprepas för var och en av de fyra nätverkskorten på den virtuella datorn, med MAC-adressen och det nya namnet på varje nätverkskort som anges separat. Detta upprättar en mappning mellan namnet på nätverkskorten i Hyper-V Manager och namnet på nätverkskorten i det virtuella datoroperativsystemet:
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
Inaktivera DHCP (Dynamic Host Configuration Protocol) på de fyra nätverkskorten för den virtuella datorn
Node1
genom att köra följande kommandon.Kommentar
Gränssnitten hämtar inte AUTOMATISKT IP-adresser från en DHCP-server och behöver i stället ha IP-adresser manuellt tilldelade till dem:
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}
Ange hanterings-IP, gateway och DNS. När följande kommandon har körts konfigureras
Node1
NIC1
nätverksgränssnittet med angiven IP-adress, nätmask, standardgateway och DNS-serveradress. Kontrollera att hanterings-IP-adressen kan matcha Active Directory och har utgående anslutning till Internet: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"}
Aktivera Hyper-V-rollen. Det här kommandot startar om den virtuella datorn
Node1
:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All }
När
Node1
har startats om och Hyper-V-rollen är installerad, installerar du Hyper-V-hanteringsverktygen:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
När den virtuella värddatorn är klar måste du registrera den och tilldela behörigheter i Azure som en Arc-resurs.
När datorn har registrerats i Azure som en Arc-resurs och alla obligatoriska tillägg har installerats väljer du någon av följande metoder för att distribuera Azure Local från Azure.
Upprepa processen ovan för extra noder om du planerar att testa distributioner med flera noder. Se till att virtuella värdnamn och hanterings-IP-adresser är unika och i samma undernät: