Modalità di compatibilità del processore dinamico
Si applica a: Locale di Azure, versione 22H2
La modalità di compatibilità del processore dinamico viene aggiornata per sfruttare le nuove funzionalità del processore in un ambiente in cluster. La compatibilità del processore funziona determinando le funzionalità del processore supportate per ogni singolo nodo del cluster e calcolando il denominatore comune in tutti i processori. Le macchine virtuali sono configurate per usare il numero massimo di funzionalità disponibili in tutti i server del cluster. Ciò migliora le prestazioni rispetto alla versione precedente della compatibilità del processore che per impostazione predefinita è un set minimo e fisso di funzionalità del processore.
Quando usare la modalità di compatibilità del processore
La modalità di compatibilità del processore consente di spostare una macchina virtuale in tempo reale (migrazione in tempo reale) o di spostare una macchina virtuale salvata tra nodi con set di funzionalità di processo diversi. Tuttavia, anche quando la compatibilità del processore è abilitata, non è possibile spostare le macchine virtuali tra host con produttori di processori diversi. Ad esempio, non è possibile spostare macchine virtuali in esecuzione o macchine virtuali con stato salvato da un host con processori Intel a un host con processori AMD. Se è necessario spostare una macchina virtuale in questo modo, arrestare prima la macchina virtuale, quindi riavviarla nel nuovo host.
Importante
Solo le macchine virtuali Hyper-V con la versione di configurazione più recente (10.0) traggono vantaggio dalla configurazione dinamica. Le macchine virtuali con versioni precedenti non traggono vantaggio dalla configurazione dinamica e non continueranno a usare le funzionalità del processore fisse della versione precedente.
È consigliabile abilitare la modalità di compatibilità del processore per le macchine virtuali in esecuzione in Azure Stack HCI. Ciò offre il livello massimo di funzionalità e, quando è possibile eseguire la migrazione a un nuovo hardware, lo spostamento delle macchine virtuali non richiede tempi di inattività.
Nota
Non è necessario usare la modalità di compatibilità del processore se si prevede di arrestare e riavviare le macchine virtuali. Ogni volta che una macchina virtuale viene riavviata, il sistema operativo guest enumera le compatibilità del processore disponibili nel nuovo computer host.
Perché è necessaria la modalità di compatibilità del processore
I produttori di processori spesso introducono ottimizzazioni e funzionalità nei loro processori. Queste funzionalità spesso migliorano le prestazioni o la sicurezza usando hardware specializzato per un'attività specifica. Ad esempio, molte applicazioni multimediali usano funzionalità del processore per velocizzare i calcoli vettoriali. Queste funzionalità sono raramente necessarie per l'esecuzione delle applicazioni; aumentano le prestazioni.
Il set di funzionalità disponibile in un processore varia a seconda della sua creazione, modello e età. I sistemi operativi e il software dell'applicazione enumerano in genere la funzionalità del processore del sistema impostata al primo avvio. Il software non prevede che le funzionalità del processore disponibili cambino durante la loro durata, che non si verificano mai durante l'esecuzione in un computer fisico, perché le funzionalità del processore sono statiche a meno che il processore non venga aggiornato.
Tuttavia, le funzionalità di mobilità delle macchine virtuali consentono di eseguire la migrazione di una macchina virtuale in esecuzione a un nuovo host di virtualizzazione. Se il software nella macchina virtuale rileva e avvia l'uso di una particolare funzionalità del processore e quindi la macchina virtuale viene spostata in un nuovo host di virtualizzazione senza tale funzionalità, il software probabilmente avrà esito negativo. Ciò potrebbe causare l'arresto anomalo dell'applicazione o della macchina virtuale.
Per evitare errori, Hyper-V esegue controlli preliminari ogni volta che viene avviata una migrazione in tempo reale di una macchina virtuale o un'operazione di salvataggio/ripristino. Questi controlli confrontano il set di funzionalità del processore disponibili per la macchina virtuale nell'host di origine con il set di funzionalità disponibili nell'host di destinazione. Se questi set di funzionalità non corrispondono, l'operazione di migrazione o ripristino viene annullata.
Novità della modalità di compatibilità del processore
In passato, tutti i nuovi set di istruzioni del processore erano nascosti, il che significa che il sistema operativo guest e il software dell'applicazione non potevano usare miglioramenti del set di istruzioni del processore per aiutare le applicazioni e le macchine virtuali a rimanere efficienti.
Per superare questa limitazione, la modalità di compatibilità del processore offre ora funzionalità avanzate e dinamiche sui processori in grado di eseguire la conversione degli indirizzi di secondo livello (SLAT). Questa nuova funzionalità calcola il denominatore comune delle funzionalità della CPU supportate dai nodi del cluster e aggiorna la modalità di compatibilità del processore esistente in una macchina virtuale per usare questo set di funzionalità calcolato dinamicamente anziché il vecchio set di funzionalità hardcoded.
La nuova modalità di compatibilità del processore garantisce che il set di funzionalità del processore disponibili per le macchine virtuali tra gli host di virtualizzazione corrisponda presentando una funzionalità comune impostata in tutti i server del cluster. Ogni macchina virtuale riceve il numero massimo di set di istruzioni del processore presenti in tutti i server del cluster. Questo processo viene eseguito automaticamente e viene sempre abilitato e replicato nel cluster, quindi non è disponibile alcun comando per abilitare o disabilitare il processo.
Uso della modalità di compatibilità del processore
Esistono concetti importanti da comprendere quando si usa la modalità di compatibilità del processore in Hyper-V:
È possibile eseguire la migrazione delle macchine virtuali in esecuzione solo tra host di virtualizzazione che usano processori dello stesso produttore.
È necessario arrestare la macchina virtuale prima di abilitare o disabilitare la modalità di compatibilità del processore.
La modalità di compatibilità del processore non è necessaria per gli spostamenti di macchine virtuali che comportano l'arresto e il riavvio della macchina virtuale.
Ogni volta che viene riavviata una macchina virtuale, il sistema operativo guest enumera le funzionalità del processore disponibili nel nuovo computer host.
Nota
In Windows Server, Microsoft consiglia di attivare la modalità di compatibilità del processore solo prima degli scenari di migrazione delle macchine virtuali e quindi di disattivarla al termine della migrazione.
Migrazione di macchine virtuali in esecuzione tra cluster
Supponendo che tutti i server in ogni cluster eseguano lo stesso hardware, è possibile eseguire la migrazione in tempo reale delle macchine virtuali in esecuzione tra cluster. Esistono tre scenari comuni.
Migrazione in tempo reale di una macchina virtuale da un cluster con nuovi processori a un cluster con gli stessi processori. Le funzionalità della macchina virtuale vengono trasferite al cluster di destinazione. Questo scenario non richiede l'abilitazione della modalità di compatibilità del processore; tuttavia, lasciando abilitato non si verificheranno problemi.
Migrazione in tempo reale di una macchina virtuale da un cluster con processori meno recenti a un cluster con processori più recenti. Le funzionalità della macchina virtuale vengono trasferite al cluster di destinazione. In questo scenario, se la macchina virtuale viene riavviata, riceve la funzionalità calcolata più recente del cluster di destinazione.
Migrazione in tempo reale di una macchina virtuale da un cluster con processori più recenti a un cluster con processori meno recenti. È necessario impostare il processore di macchine virtuali per usare
MinimumFeatureSet
per ilCompatibilityForMigrationMode
parametro in PowerShell oppure selezionare Compatibile tra altri host con lo stesso produttore della CPU in Windows Admin Center in Processori delle impostazioni > delle macchine > virtuali. Questa impostazione assegna la macchina virtuale alle funzionalità minime del processore offerte nel server. Dopo che la compatibilità viene spostata in Compatibile nel cluster (scelta consigliata) e la macchina virtuale viene riavviata, riceve la funzionalità calcolata più recente del cluster di destinazione.
Ramificazioni dell'utilizzo della modalità di compatibilità del processore
È difficile quantificare gli effetti generali sulle prestazioni della modalità di compatibilità del processore. La perdita di prestazioni dipende principalmente dal carico di lavoro in esecuzione nella macchina virtuale. Alcuni carichi di lavoro potrebbero non essere interessati, mentre altri mostrano una differenza evidente. Il software che si basa principalmente sulle ottimizzazioni hardware (ad esempio crittografia, compressione o calcoli a virgola mobile intensivi) ha un impatto maggiore.
Le applicazioni che crittografano o decrittografano una grande quantità di dati traggono vantaggio da questa funzionalità del processore, quindi disattivarla abilitando la modalità di compatibilità del processore influisce sulle prestazioni di queste operazioni specifiche.
Se si è preoccupati per l'impatto sulle prestazioni della modalità di compatibilità del processore, è consigliabile confrontare le prestazioni del carico di lavoro delle macchine virtuali con la modalità di compatibilità del processore abilitata e disabilitata.
Configurare una macchina virtuale per l'uso della modalità di compatibilità del processore
Questa sezione illustra come configurare una macchina virtuale per l'uso della modalità di compatibilità del processore. È possibile eseguire macchine virtuali con e senza modalità di compatibilità nello stesso cluster.
Importante
È necessario arrestare la macchina virtuale prima di abilitare o disabilitare la modalità di compatibilità del processore.
Abilitare la modalità di compatibilità del processore con Windows Admin Center
Per abilitare la modalità di compatibilità del processore tramite Windows Admin Center:
Connettersi al cluster e quindi nel riquadro Strumenti selezionare Macchine virtuali.
In Inventario selezionare la macchina virtuale in cui si vuole abilitare la modalità di compatibilità del processore, espandere il menu Alimentazione e quindi selezionare Arresta.
Selezionare Impostazioni, processori e selezionare la casella Relativa alla compatibilità del processore.
Per impostare le funzionalità della CPU della macchina virtuale sul livello massimo supportato da tutti i server in un cluster, selezionare Compatibile nel cluster (scelta consigliata). In questo modo si ottimizzano le prestazioni delle macchine virtuali mantenendo al tempo stesso la possibilità di spostare la macchina virtuale in esecuzione in altri server nel cluster. È consigliabile abilitare questa funzionalità per tutte le macchine virtuali in esecuzione nei cluster Azure Stack HCI 21H2. Se disabilitata, la macchina virtuale deve essere riavviata per passare a un host con un livello diverso di istruzioni della CPU supportate, comuni con generazioni diverse di CPU.
In alternativa, se si vogliono impostare le funzionalità della CPU della macchina virtuale come minimo per assicurarsi che sia possibile spostare la macchina virtuale in esecuzione in altri host Hyper-V all'esterno del cluster purché abbiano lo stesso produttore della CPU, selezionare Compatibile tra altri host con lo stesso produttore della CPU.
Nota
Analogamente alla modalità di compatibilità del processore dinamico, la compatibilità nel cluster è esclusiva di Azure Stack HCI 21H2 e non è supportata per altri sistemi operativi.
Selezionare Salva le impostazioni del processore e riavviare la macchina virtuale.
Questa sezione illustra come configurare una macchina virtuale per l'uso della modalità di compatibilità del processore tramite la gestione di Hyper-V o PowerShell. È possibile eseguire macchine virtuali con e senza modalità di compatibilità nello stesso cluster.
Importante
È necessario arrestare la macchina virtuale prima di abilitare o disabilitare la modalità di compatibilità del processore.
Abilitare la modalità di compatibilità del processore con la console di gestione di Hyper-V
Per abilitare la modalità di compatibilità del processore per una macchina virtuale con la console di gestione di Hyper-V:
Arrestare la VM.
Selezionare Start, strumenti di amministrazione e quindi console di gestione di Hyper-V.
Selezionare il server che esegue Hyper-V e la macchina virtuale desiderata.
Se la macchina virtuale è in esecuzione, è necessario arrestarla per abilitare l'impostazione della modalità di compatibilità del processore.
Nel riquadro Azione selezionare Impostazioni e quindi processore.
Espandere Processore e selezionare Compatibilità.
Selezionare Esegui migrazione a un computer fisico con un processore diverso e quindi selezionare OK.
Riavviare la macchina virtuale.
Disabilitare la modalità di compatibilità del processore con la console di gestione di Hyper-V
Per disabilitare la modalità di compatibilità del processore per una macchina virtuale con la console di gestione di Hyper-V:
Arrestare la VM.
Selezionare Start, strumenti di amministrazione e quindi console di gestione di Hyper-V.
Selezionare il server che esegue Hyper-V e la macchina virtuale desiderata.
Se la macchina virtuale è in esecuzione, è necessario arrestarla per disabilitare l'impostazione della modalità di compatibilità del processore.
Nel riquadro Azione selezionare Impostazioni e quindi processore.
Espandere Processore e selezionare Compatibilità.
Deselezionare la casella di controllo Esegui migrazione a un computer fisico con un processore diverso e quindi selezionare OK.
Riavviare la macchina virtuale.
Abilitare la modalità di compatibilità del processore con PowerShell
Per abilitare la modalità di compatibilità del processore, eseguire il cmdlet seguente:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true
È consigliabile impostare le funzionalità della CPU della macchina virtuale sul livello massimo supportato da tutti i server nel cluster. In questo modo si ottimizzano le prestazioni delle macchine virtuali mantenendo al tempo stesso la possibilità di spostare la macchina virtuale in esecuzione in altri server nel cluster.
Per abilitare la macchina virtuale a usare le funzionalità comuni del nodo del cluster, eseguire il cmdlet seguente:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode CommonClusterFeatureSet
In alternativa, è possibile impostare le funzionalità della CPU della macchina virtuale come minimo, assicurandosi di poter spostare la macchina virtuale in esecuzione in altri host Hyper-V all'esterno del cluster se hanno lo stesso produttore della CPU.
Per consentire alla macchina virtuale di usare le funzionalità minime predefinite di cui eseguire la migrazione tra cluster, eseguire il cmdlet seguente:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode MinimumFeatureSet
Disabilitare la modalità di compatibilità del processore con PowerShell
Per disabilitare la modalità di compatibilità del processore per una macchina virtuale con PowerShell, arrestare la macchina virtuale ed eseguire il cmdlet Set-VMProcessor
, impostando CompatibilityForMigrationEnabled
su $false:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $false
Riavviare quindi la macchina virtuale.