Condividi tramite


Hyper-V Gestione delle Risorse della CPU dell'Host

Hyper-V controlli delle risorse della CPU host introdotti in Windows Server 2016 o versioni successive consentono agli amministratori di Hyper-V di gestire e allocare meglio le risorse della CPU del server host tra la "radice", la partizione di gestione e le macchine virtuali guest. Usando questi controlli, gli amministratori possono dedicare un subset dei processori di un sistema host alla partizione radice. In questo modo è possibile separare il lavoro svolto in un host Hyper-V dai carichi di lavoro in esecuzione nelle macchine virtuali guest eseguendoli in subset separati dei processori di sistema.

Per informazioni dettagliate sull'hardware per gli host Hyper-V, vedere Requisiti di sistema di Windows 10 Hyper-V.

Sfondo

Prima di impostare i controlli per Hyper-V risorse della CPU host, è utile esaminare le nozioni di base dell'architettura Hyper-V. È possibile trovare un riepilogo generale nella sezione ArchitetturaHyper-V . Questi sono concetti importanti per questo articolo:

  • Hyper-V crea e gestisce le partizioni di macchine virtuali, in cui le risorse di calcolo vengono allocate e condivise, sotto il controllo dell'hypervisor. Le partizioni forniscono limiti di isolamento sicuri tra tutte le macchine virtuali guest e tra le macchine virtuali guest e la partizione radice.

  • La partizione radice è una partizione di macchina virtuale, anche se dispone di proprietà univoce e privilegi molto maggiori rispetto alle macchine virtuali guest. La partizione radice fornisce i servizi di gestione che controllano tutte le macchine virtuali guest, fornisce supporto per i dispositivi virtuali virtuali per gli utenti guest e gestisce tutte le operazioni di I/O del dispositivo per le macchine virtuali guest. Microsoft consiglia vivamente di non eseguire carichi di lavoro di applicazioni in una partizione host.

  • Ogni processore virtuale (VP) della partizione radice è mappato 1:1 a un processore logico sottostante (LP). Un VP host verrà sempre eseguito sullo stesso LP sottostante. Non esiste alcuna migrazione dei VP della partizione radice.

  • Per impostazione predefinita, i processori logici (LP) su cui vengono eseguiti i VP dell'host possono anche eseguire i VP ospite.

  • Un VP guest può essere pianificato dall'hypervisor per l'esecuzione su qualsiasi processore logico disponibile. Anche se il gestore di pianificazione dell'hypervisor si occupa di prendere in considerazione la localizzazione temporale della cache, la topologia NUMA e molti altri fattori durante la pianificazione di una VP guest, alla fine il VP può essere assegnato a qualsiasi LP dell'host.

Configurazione minima radice o "Minroot"

Le versioni precedenti di Hyper-V avevano un limite massimo di architettura di 64 VP per partizione. Questa operazione viene applicata sia alle partizioni radice che a quella guest. Poiché i sistemi con più di 64 processori logici sono apparsi su server di fascia alta, Hyper-V hanno anche evoluto i limiti di scalabilità host per supportare questi sistemi di dimensioni maggiori, a un certo punto supportando un host con un massimo di 320 LP. Tuttavia, superare il limite di 64 VP per partizione a quel tempo ha presentato diverse sfide e ha introdotto complessità che hanno reso impossibile il supporto di più di 64 VP per ogni partizione. Per risolvere questo problema, Hyper-V limitato il numero di VP assegnati alla partizione radice a 64, anche se il computer sottostante aveva molti più processori logici disponibili. L'hypervisor continuerebbe a utilizzare tutti i processori logici disponibili per eseguire VP guest, ma limiterebbe artificialmente la partizione radice a 64. Questa configurazione è diventata nota come configurazione "radice minima" o "minroot". I test delle prestazioni hanno confermato che, anche in sistemi su larga scala con più di 64 LP, non è necessario utilizzare più di 64 VP radice per supportare adeguatamente un numero elevato di macchine virtuali guest e VP guest. In realtà, spesso molto meno di 64 VP radice è sufficiente, a seconda del numero e delle dimensioni delle macchine virtuali guest, dei carichi di lavoro specifici in esecuzione e così via.

Questo concetto di "minroot" continua a essere utilizzato oggi. Infatti, anche se Windows Server 2016 Hyper-V ha aumentato il limite massimo di supporto dell'architettura per gli LP host a 512, la partizione radice sarà comunque limitata a un massimo di 320 LP.

Uso di Minroot per vincolare e isolare le risorse di calcolo host

Con la soglia predefinita elevata di 320 LP in Windows Server 2016 Hyper-V, la configurazione minroot verrà usata solo nei sistemi server molto più grandi. Tuttavia, questa funzionalità può essere configurata su una soglia molto inferiore dall'amministratore host Hyper-V e quindi sfruttata per limitare notevolmente la quantità di risorse della CPU host disponibili per la partizione radice. Il numero specifico di indirizzi IP radice da usare deve naturalmente essere scelto con attenzione per supportare le richieste massime delle macchine virtuali e dei carichi di lavoro allocati all'host. Tuttavia, i valori ragionevoli per il numero di LP host possono essere determinati tramite un'attenta valutazione e monitoraggio dei carichi di lavoro di produzione e convalidati in ambienti non di produzione prima della distribuzione generale.

Abilitazione e configurazione di Minroot

La configurazione minroot viene controllata tramite le voci BCD dell'hypervisor. Per abilitare minroot, da un prompt dei comandi con privilegi di amministratore:

     bcdedit /set hypervisorrootproc n

Dove n è il numero di VP radice.

Il sistema deve essere riavviato e il nuovo numero di processori radice verrà mantenuto per tutta la durata dell'avvio del sistema operativo. La configurazione minroot non può essere modificata in modo dinamico in fase di esecuzione.

Se sono presenti più nodi NUMA, ogni nodo otterrà n/NumaNodeCount processori.

Si noti che con più nodi NUMA, è necessario assicurarsi che la topologia della VM sia tale che siano presenti sufficienti LP liberi (ad esempio, LP senza VP di root) per ogni nodo NUMA per eseguire i VP del nodo NUMA della relativa VM.

Verifica della configurazione minroot

È possibile verificare la configurazione minroot dell'host usando Gestione attività, come illustrato di seguito.

Configurazione minroot dell'host visualizzata in Gestione attività

Quando Minroot è attivo, Gestione attività visualizzerà il numero di processori logici attualmente assegnati all'host, oltre al numero totale di processori logici nel sistema.