Distribuire un sistema locale di Azure virtuale, versione 23H2
Si applica a: Azure Locale 2311.2 e versioni più recenti
Importante
Azure Stack HCI is now part of Azure Local. Altre informazioni.
Questo articolo descrive come distribuire un'istanza locale di Azure virtualizzata che esegue la versione 23H2 in un sistema host che esegue Hyper-V in Windows Server 2022, Windows 11 o versioni successive.
Sono necessari privilegi di amministratore per la distribuzione virtuale locale di Azure e devono avere familiarità con la soluzione locale di Azure esistente. Il completamento della distribuzione può richiedere circa 2,5 ore.
Importante
Una distribuzione virtuale di Azure Locale, versione 23H2 è destinata solo a scopi didattici e dimostrativi. supporto tecnico Microsoft non supporta le distribuzioni virtuali.
Prerequisiti
Ecco l'hardware, la rete e altri prerequisiti per la distribuzione virtuale:
Requisiti dell'host fisico
Di seguito sono riportati i requisiti minimi per distribuire correttamente Azure Local, versione 23H2.
Prima di iniziare, verificare che:
È possibile accedere a un sistema host fisico che esegue Hyper-V in Windows Server 2022, Windows 11 o versione successiva. Questo host viene usato per effettuare il provisioning di una distribuzione locale di Azure virtuale.
La capacità è sufficiente. Per l'esecuzione di carichi di lavoro effettivi, ad esempio macchine virtuali o contenitori, è necessaria una maggiore capacità.
L'hardware fisico usato per la distribuzione virtuale soddisfa i requisiti seguenti:
Componente Requisiti minimi Processore Intel VT-x o AMD-V, con supporto per la virtualizzazione annidata. Per altre informazioni, vedere My Processor Support Intel® virtualization technology?. Memoria L'host fisico deve avere almeno 32 GB di RAM per le distribuzioni a nodo virtuale singolo. La macchina virtuale host virtuale deve avere almeno 24 GB di RAM.
L'host fisico deve avere almeno 64 GB di RAM per due distribuzioni di nodi virtuali. Ogni macchina virtuale host deve avere almeno 24 GB di RAM per la distribuzione e 32 GB per l'applicazione degli aggiornamenti.Schede di rete host Una singola scheda di rete. Storage Unità SSD (Solid State Drive) da 1 TB.
Requisiti dell'host virtuale
Prima di iniziare, assicurarsi che ogni sistema host virtuale possa dedicare le risorse seguenti per effettuare il provisioning dell'istanza locale di Azure virtualizzata:
Componente | Requisito |
---|---|
Tipo di macchina virtuale | Avvio protetto e TPM (Trusted Platform Module) abilitato. |
vCPU | Quattro core. |
Memoria | Almeno 24 GB. |
Rete | Almeno due schede di rete connesse alla rete interna. Lo spoofing MAC deve essere abilitato. |
Disco di avvio | Un disco per installare il sistema operativo Azure Stack HCI da ISO. Almeno 200 GB |
Dischi rigidi per Spazi di archiviazione diretta | Quattro dischi a espansione dinamica. La dimensione massima del disco è 1024 GB. |
Dischi dati | Almeno 127 GB ciascuno. Le dimensioni devono essere uguali per ogni disco |
Sincronizzazione dell'ora nell'integrazione | Disabilitati. |
Nota
Questi sono i requisiti minimi per distribuire correttamente Azure Local, versione 23H2. Aumentare la capacità, ad esempio core virtuali e memoria, quando si eseguono carichi di lavoro effettivi come macchine virtuali o contenitori.
Configurare il commutatore virtuale
Quando si distribuisce Locale di Azure in un ambiente virtuale, è possibile usare le reti esistenti e usare gli indirizzi IP di tale rete, se disponibili. In questo caso, è sufficiente creare un commutatore esterno e connettere tutte le schede di rete virtuale a tale commutatore virtuale. Gli host virtuali avranno connettività alla rete fisica senza alcuna configurazione aggiuntiva.
Tuttavia, se la rete fisica in cui si prevede di distribuire l'ambiente virtuale locale di Azure è scarsa negli indirizzi IP, è possibile creare un commutatore virtuale interno con NAT abilitato, per isolare gli host virtuali dalla rete fisica mantenendo la connettività in uscita a Internet.
Di seguito sono elencati i passaggi per le due opzioni:
Distribuire con commutatore virtuale esterno
Nel computer host fisico eseguire il comando di PowerShell seguente per creare un commutatore virtuale esterno:
New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true
Eseguire la distribuzione con commutatore virtuale interno e NAT abilitato
Nel computer host fisico eseguire il comando di PowerShell seguente per creare un commutatore virtuale interno. L'uso di questa opzione garantisce che la distribuzione locale di Azure sia isolata.
New-VMSwitch -Name "internal_switch_name" -SwitchType Internal -NetAdapterName "network_adapter_name"
Dopo aver creato il commutatore virtuale interno, viene creata una nuova scheda di rete nell'host. È necessario assegnare un indirizzo IP a questa scheda di rete per diventare il gateway predefinito degli host virtuali una volta connessi a questa rete del commutatore interno. È anche necessario definire la subnet di rete NAT in cui sono connessi gli host virtuali.
Lo script di esempio seguente crea una rete HCINAT
NAT con prefisso 192.168.44.0/24
e definisce l'INDIRIZZO 192.168.44.1
IP come gateway predefinito per la rete usando l'interfaccia nell'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
Creare l'host virtuale
Creare una macchina virtuale da usare come host virtuale con la configurazione seguente. È possibile creare questa macchina virtuale usando la console di gestione di Hyper-V o PowerShell:
Console di gestione di Hyper-V. Per altre informazioni, vedere Creare una macchina virtuale usando La console di gestione di Hyper-V per eseguire il mirroring della rete di gestione fisica.
Cmdlet di PowerShell. Assicurarsi di modificare i parametri di configurazione della macchina virtuale a cui si fa riferimento nei requisiti dell'host virtuale prima di eseguire i cmdlet di PowerShell.
Seguire questa procedura per creare una macchina virtuale di esempio denominata Node1
usando i cmdlet di PowerShell:
Creare la macchina virtuale:
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"
Disabilitare la memoria dinamica:
Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
Disabilitare i checkpoint delle macchine virtuali:
Set-VM -VMName "Node1" -CheckpointType Disabled
Rimuovere la scheda di rete predefinita creata durante la creazione della macchina virtuale nel passaggio precedente:
Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
Aggiungere nuove schede di rete alla macchina virtuale usando nomi personalizzati. In questo esempio vengono aggiunte quattro schede di interfaccia di rete, ma è possibile aggiungere solo due schede di interfaccia di rete, se necessario. La presenza di quattro schede di interfaccia di rete consente di testare due finalità di rete (
Mgmt_Compute
eStorage
ad esempio) con due schede di interfaccia di rete ognuna:Add-VmNetworkAdapter -VmName "Node1" -Name "NIC1" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC2" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC3" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC4"
Collegare tutte le schede di rete al commutatore virtuale. Specificare il nome del commutatore virtuale creato, indipendentemente dal fatto che sia esterno senza NAT o interno con NAT:
Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
Abilitare lo spoofing MAC in tutte le schede di rete nella macchina virtuale
Node1
. Lo spoofing degli indirizzi MAC è una tecnica che consente a una scheda di rete di mascherarsi come un'altra modificando il relativo indirizzo Mac (Media Controllo di accesso). Questa operazione è necessaria negli scenari in cui si prevede di usare la virtualizzazione annidata:Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
Abilitare la porta trunk (solo per le distribuzioni multinodo) per tutte le schede di rete nella macchina virtuale
Node1
. Questo script configura la scheda di rete di una macchina virtuale specifica da usare in modalità trunk. Questo viene in genere usato nelle distribuzioni multinodo in cui si vogliono consentire a più reti locali virtuali (VLAN) di comunicare tramite una singola scheda di rete:Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
Creare una nuova protezione con chiave e assegnarla a
Node1
. Questa operazione viene in genere eseguita nel contesto della configurazione di un'infrastruttura sorvegliata in Hyper-V, una funzionalità di sicurezza che protegge le macchine virtuali da accessi non autorizzati o manomissioni.Dopo l'esecuzione dello script seguente,
Node1
verrà assegnata una nuova protezione con chiave. Questa protezione con chiave protegge le chiavi della macchina virtuale, consentendo di proteggere la macchina virtuale da accessi non autorizzati o manomissioni:$owner = Get-HgsGuardian UntrustedGuardian $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot Set-VMKeyProtector -VMName "Node1" -KeyProtector $kp.RawData
Abilitare vTPM per
Node1
. Abilitando vTPM in una macchina virtuale, è possibile usare BitLocker e altre funzionalità che richiedono TPM nella macchina virtuale. Dopo l'esecuzione di questo comando,Node1
avrà un vTPM abilitato, presupponendo che l'hardware del computer host e la configurazione della macchina virtuale supportino questa funzionalità.Enable-VmTpm -VMName "Node1"
Modificare i processori virtuali in
8
:Set-VmProcessor -VMName "Node1" -Count 8
Creare unità aggiuntive da usare come disco di avvio e dischi rigidi per Spazi di archiviazione diretta. Dopo l'esecuzione di questi comandi, nella directory verranno creati
C:\vms\Node1
sei nuovi VHDX, come illustrato in questo esempio: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
Collegare le unità ai VHDX appena creati per la macchina virtuale. In questi comandi vengono aggiunti sei dischi rigidi virtuali che si trovano nella
C:\vms\Node1
directory e denominatis2d1.vhdx
tramites2d6.vhdx
aNode1
. OgniAdd-VMHardDiskDrive
comando aggiunge un disco rigido virtuale alla macchina virtuale, quindi il comando viene ripetuto sei volte con valori di parametro diversi-Path
.Successivamente, la macchina virtuale
Node1
ha quattro dischi rigidi virtuali (VHD) collegati. Questi VHDX vengono usati per abilitare Storage Spaces Direct sulla VM, necessari per distribuzioni di Azure Stack HCI.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"
Disabilitare la sincronizzazione dell'ora:
Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
Abilitare la virtualizzazione annidata:
Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
Avviare la macchina virtuale:
Start-VM "Node1"
Installare il sistema operativo nelle macchine virtuali host virtuali
Completare i passaggi seguenti per installare e configurare il sistema operativo Azure Stack HCI nelle macchine virtuali host virtuali:
Scaricare il software locale di Azure 23H2 e installare il sistema operativo Azure Stack HCI.
Aggiornare la password perché si tratta della prima avvio della macchina virtuale. Assicurarsi che la password soddisfi i requisiti di complessità di Azure. La password è di almeno 12 caratteri e include 1 carattere maiuscolo, 1 carattere minuscolo, 1 numero e 1 carattere speciale.
Dopo la modifica della password, lo strumento di configurazione server (SConfig) viene caricato automaticamente. Selezionare l'opzione
15
per uscire dalla riga di comando ed eseguire i passaggi successivi da questa posizione.Avviare SConfig eseguendo il comando seguente:
SConfig
Per informazioni su come usare SConfig, vedere Configurare con lo strumento di configurazione server (SConfig).
Modificare hostname in
Node1
. Usare l'opzione2
perComputer name
in SConfig per eseguire questa operazione.La modifica del nome host comporta un riavvio. Quando viene richiesto un riavvio, immettere
Yes
e attendere il completamento del riavvio. SConfig viene riavviato automaticamente.Dall'host fisico eseguire i
Get-VMNetworkAdapter
cmdlet eForEach-Object
per configurare i quattro nomi delle schede di rete per la macchina virtualeNode1
eseguendo il mapping degli indirizzi MAC assegnati alle schede di rete corrispondenti nel sistema operativo guest.- Il
Get-VMNetworkAdapter
cmdlet viene usato per recuperare l'oggetto scheda di rete per ogni scheda di interfaccia di rete nella macchina virtuale, in cui il-VMName
parametro specifica il nome della macchina virtuale e il-Name
parametro specifica il nome della scheda di rete. VieneMacAddress
quindi eseguito l'accesso alla proprietà dell'oggetto scheda di rete per ottenere l'indirizzo MAC:
Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
L'indirizzo MAC è una stringa di numeri esadecimali. Il
ForEach-Object
cmdlet viene usato per formattare questa stringa inserendo trattini a intervalli specifici. In particolare, ilInsert
metodo dell'oggetto stringa viene utilizzato per inserire un trattino alla 2a, 5a, 8a, 11a e 14a posizione nella stringa. L'operatorejoin
viene quindi usato per concatenare la matrice di stringhe risultante in una singola stringa con spazi tra ogni elemento.I comandi vengono ripetuti per ognuna delle quattro schede di interfaccia di rete nella macchina virtuale e l'indirizzo MAC formattato finale per ogni scheda di interfaccia di rete viene archiviato in una variabile separata:
($Node1finalmacNIC1, $Node1finalmacNIC2, $Node1finalmacNIC3, $Node1finalmacNIC4).
- Lo script seguente restituisce l'indirizzo MAC formattato finale per ogni scheda di interfaccia di rete:
$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
- Il
Ottenere le credenziali di amministratore locale della
Node1
macchina virtuale e quindi rinominareNode1
:$cred = get-credential
Rinominare ed eseguire il mapping delle schede di interfaccia di rete in
Node1
. La ridenominazione si basa sugli indirizzi MAC delle schede di interfaccia di rete assegnate da Hyper-V al primo avvio della macchina virtuale. Questi comandi devono essere eseguiti direttamente dall'host:Usare il
Get-NetAdapter
comando per recuperare le schede di rete fisiche nella macchina virtuale, filtrarle in base all'indirizzo MAC e quindi rinominarle nella scheda corrispondente usando ilRename-NetAdapter
cmdlet .Questa operazione viene ripetuta per ognuna delle quattro schede di interfaccia di rete nella macchina virtuale, con l'indirizzo MAC e il nuovo nome di ogni scheda di interfaccia di rete specificata separatamente. In questo modo viene stabilito un mapping tra il nome delle schede di interfaccia di rete nella console di gestione di Hyper-V e il nome delle schede di interfaccia di rete nel sistema operativo della macchina virtuale:
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
Disabilitare il protocollo DHCP (Dynamic Host Configuration Protocol) nelle quattro schede di interfaccia di rete per la macchina virtuale
Node1
eseguendo i comandi seguenti.Nota
Le interfacce non otterranno automaticamente gli indirizzi IP da un server DHCP e dovranno invece avere indirizzi IP assegnati manualmente:
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}
Impostare ip di gestione, gateway e DNS. Dopo l'esecuzione dei comandi seguenti,
Node1
l'interfaccia di rete sarà configurata con l'indirizzoNIC1
IP, la subnet mask, il gateway predefinito e l'indirizzo del server DNS specificati. Assicurarsi che l'indirizzo IP di gestione possa risolvere Active Directory e che disponga della connettività in uscita a 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"}
Abilitare il ruolo Hyper-V. Questo comando riavvia la macchina virtuale
Node1
:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All }
Dopo
Node1
il riavvio e il ruolo Hyper-V è installato, installare gli strumenti di gestione di Hyper-V:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
Quando la macchina host virtuale è pronta, è necessario registrarla e assegnare le autorizzazioni in Azure come risorsa Arc.
Dopo aver registrato il computer in Azure come risorsa Arc e aver installato tutte le estensioni obbligatorie, scegliere uno dei metodi seguenti per distribuire Azure Locale da Azure.
Distribuire Azure Local usando un modello di Azure Resource Manager.
Ripetere il processo precedente per nodi aggiuntivi se si prevede di testare le distribuzioni a più nodi. Verificare che i nomi host virtuali e gli INDIRIZZI IP di gestione siano univoci e nella stessa subnet: