Condividi tramite


Distribuire un sistema di Azure Stack HCI virtuale versione 23H2

Si applica a: Azure Stack HCI, versione 23H2

Questo articolo descrive come distribuire un singolo server virtualizzato o un'istanza di Azure Stack HCI, versione 23H2, in un sistema host che esegue Hyper-V in Windows Server 2022, Windows 11 o versione successiva del sistema operativo .

Sono necessari privilegi di amministratore per la distribuzione virtuale azure Stack HCI e devono avere familiarità con la soluzione Azure Stack HCI esistente. La distribuzione può richiedere circa 2,5 ore per completare.

Importante

Una distribuzione virtuale di Azure Stack HCI, 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 Stack HCI, 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 di Azure Stack HCI virtuale.

  • Hai una capacità sufficiente. È necessaria una maggiore capacità per l'esecuzione di carichi di lavoro effettivi, ad esempio macchine virtuali o contenitori.

  • L'hardware fisico usato per la distribuzione virtuale soddisfa i requisiti seguenti:

    Componente Minima
    Processore Intel VT-x o AMD-V, con supporto per la virtualizzazione annidata. Per altre informazioni, vedere Supporta la tecnologia intel di virtualizzazione Intel®.
    Memoria L'host fisico deve avere almeno 32 GB di RAM per le distribuzioni di nodi virtuali. 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 virtuale deve avere almeno 24 GB di RAM.
    Schede di rete host Una singola scheda di rete.
    Archiviazione Unità a stato solido di 1 TB (SSD).

Requisiti dell'host virtuale

Prima di iniziare, assicurarsi che ogni sistema host virtuale possa dedicare le risorse seguenti per effettuare il provisioning del sistema Azure Stack HCI virtualizzato:

Componente Requisito
Tipo macchina virtuale (VM) Abilitata per l'avvio sicuro e il modulo TPM (Trusted Platform Module).
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.
Dischi rigidi per Spazi di archiviazione diretta Sei dischi di espansione dinamica. La dimensione massima del disco è 1024 GB.
Disco dati Almeno 127 GB.
Sincronizzazione temporale nell'integrazione Disattivato.

Nota

Questi sono i requisiti minimi per distribuire correttamente Azure Stack HCI, versione 23H2. Aumentare la capacità, ad esempio core virtuali e memoria, quando si eseguono carichi di lavoro effettivi come macchine virtuali o contenitori.

Configurare l'opzione virtuale

Quando si distribuisce Azure Stack HCI in un ambiente virtuale, è possibile usare le reti esistenti e usare gli indirizzi IP da tale rete se sono disponibili. In questo caso, è sufficiente creare un commutatore esterno e connettere tutte le schede di rete virtuali 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 azure Stack HCI è scarsa in 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 powerShell seguente per creare un commutatore virtuale esterno:

New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true

Distribuire 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 questo commutatore garantisce che la distribuzione di Azure Stack HCI 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 alla 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'IP 192.168.44.1 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

Create l'host virtuale

Create una macchina virtuale da usare come host virtuale con la configurazione seguente. È possibile creare questa macchina virtuale usando Gestione Hyper-V o PowerShell:

Seguire questa procedura per creare una macchina virtuale di esempio denominata Node1 usando i cmdlet di PowerShell:

  1. 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"
    
  2. Disabilitare la memoria dinamica:

    Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
    
  3. Disabilitare i checkpoint della macchina virtuale:

    Set-VM -VMName "Node1" -CheckpointType Disabled
    
  4. Rimuovere la scheda di rete predefinita creata durante la creazione della macchina virtuale nel passaggio precedente:

    Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
    
  5. Aggiungere nuove schede di rete alla macchina virtuale usando nomi personalizzati. Questo esempio aggiunge quattro schede di interfaccia di rete, ma è possibile aggiungere solo due, se necessario. La presenza di quattro schede di interfaccia di rete consente di testare due finalità di rete (Mgmt_Compute e Storage 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"
    
  6. Collegare tutte le schede di rete al commutatore virtuale. Specificare il nome del commutatore virtuale creato, indipendentemente dal formato NAT o interno con NAT:

    Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
    
  7. 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 l'indirizzo Media Controllo di accesso (MAC). Questo è necessario negli scenari in cui si prevede di usare la virtualizzazione annidata:

    Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
    
  8. Abilitare la porta trunk (solo per le distribuzioni a più nodi) 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 a più nodi in cui si desidera 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
    
  9. Create una nuova protezione chiave e assegnarla a Node1. Questa operazione viene in genere eseguita nel contesto della configurazione di un'infrastruttura protetta in Hyper-V, una funzionalità di sicurezza che protegge le macchine virtuali dall'accesso non autorizzato o manomissione.

    Dopo l'esecuzione dello script seguente, Node1 verrà assegnata una nuova protezione delle chiavi. 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
    
  10. 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"
    
  11. Modificare i processori virtuali in 8:

     Set-VmProcessor -VMName "Node1" -Count 8
    
  12. Create 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
    
  13. Collegare unità ai VHDX appena creati per la macchina virtuale. In questi comandi, sei dischi rigidi virtuali situati nella C:\vms\Node1 directory e denominati s2d1.vhdx tramite s2d6.vhdx vengono aggiunti a Node1. Ogni Add-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 Node1 macchina virtuale ha sei dischi rigidi virtuali collegati. Questi VHDX vengono usati per abilitare le Spazi di archiviazione diretta nella macchina virtuale, necessarie per le 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"
     Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d5.vhdx"
     Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d6.vhdx"
    
  14. Disabilitare la sincronizzazione dell'ora:

    Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
    
  15. Abilitare la virtualizzazione annidata:

    Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
    
  16. 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:

  1. Scaricare Azure Stack HCI 23H2 ISO e installare il sistema operativo Azure Stack HCI.

  2. 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.

  3. 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.

  4. Avviare SConfig eseguendo il comando seguente:

      SConfig
    

    Per informazioni su come usare SConfig, vedere Configurare con lo strumento di configurazione server (SConfig).

  5. Modificare il nome host in Node1. Usare l'opzione 2 per Computer 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.

  6. Dall'host fisico eseguire i Get-VMNetworkAdapter cmdlet e ForEach-Object per configurare i quattro nomi delle schede di rete per la macchina virtuale Node1 eseguendo il mapping degli indirizzi MAC assegnati alle schede di rete corrispondenti nel sistema operativo guest.

    1. 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. La MacAddress proprietà dell'oggetto scheda di rete è quindi accessibile per ottenere l'indirizzo MAC:
    Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
    
    1. 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, il Insert metodo dell'oggetto stringa viene usato per inserire un trattino in corrispondenza del secondo, 5°, 8°, 11° e 14° posizione nella stringa. L'operatore join viene quindi usato per concatenare la matrice risultante di stringhe in una singola stringa con spazi tra ogni elemento.

    2. 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).
    
    1. 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
    
    
  7. Ottenere le credenziali di amministratore locale della Node1 macchina virtuale e quindi rinominare Node1:

    $cred = get-credential
    
  8. 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 quando la macchina virtuale viene avviata la prima volta. 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 il Rename-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
    
  9. 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 indirizzi IP da un server DHCP e dovranno invece avere indirizzi IP assegnati manualmente a essi:

    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}
    
  10. Impostare IP di gestione, gateway e DNS. Dopo aver eseguito i comandi seguenti, Node1 l'interfaccia di rete sarà configurata con l'indirizzo NIC1 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"}
    
  11. 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 }
    
  12. Dopo Node1 aver riavviato e aver installato il ruolo Hyper-V, installare gli strumenti di gestione di Hyper-V:

    Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
    
  13. Quando il server host virtuale è pronto, è necessario registrarlo e assegnare le autorizzazioni in Azure come risorsa Arc.

  14. Dopo aver registrato il server in Azure come risorsa Arc e aver installato tutte le estensioni obbligatorie, scegliere uno dei metodi seguenti per distribuire Azure Stack HCI da Azure.

Ripetere il processo precedente per nodi aggiuntivi se si prevede di testare le distribuzioni multinodo. Verificare che i nomi host virtuali e gli INDIRIZZI IP di gestione siano univoci e nella stessa subnet:

Passaggi successivi