Panoramica completa delle migliori pratiche di memoria dinamica di Hyper-V

Una macchina virtuale Hyper-V (VM) avviata in Windows Server 2008 R2 con SP1 utilizzava inizialmente la quantità completa di RAM assegnatale, il che portava all’uso eccessivo della memoria e influiva sulle prestazioni complessive della VM. Inoltre, l’importo di memoria disponibile per la VM poteva essere modificato solo quando la VM era spenta. Di conseguenza, la necessità di una allocazione di memoria dinamica ha portato all’introduzione della funzionalità Hyper-V Dynamic Memory.

Cos’è la memoria dinamica Hyper-V?

La memoria dinamica Hyper-V è una funzionalità che consente di allocare in modo dinamico le risorse di memoria alle VM in esecuzione negli ambienti Hyper-V. Questa funzionalità recupera una parte di memoria non utilizzata dalle VM che non ne hanno bisogno in quel momento e la riassegna ad altre VM che ne hanno effettivamente bisogno.

Con la memoria dinamica Hyper-V, è possibile specificare l’importo di memoria di avvio che la VM può utilizzare, impostare l’intervallo di memoria fisica disponibile per una specifica VM e determinare la priorità della VM per l’allocazione della memoria. La memoria fisica può essere assegnata in modo efficiente e dinamico alla VM in base alle esigenze e con un impatto minimo sulle prestazioni. Di conseguenza, si ha un maggiore controllo granulare sull’utilizzo della memoria e un’ottimizzazione delle risorse avanzata.

Vantaggi e svantaggi della memoria dinamica Hyper-V

La memoria dinamica Hyper-V è una funzionalità utile che offre molti vantaggi, come:”

  • Riduzione del consumo di memoria, poiché la VM utilizza solo la quantità di memoria che effettivamente necessita entro i limiti impostati da un amministratore
  • Distribuzione efficiente della memoria, poiché è possibile assegnare dinamicamente più o meno memoria alla VM in esecuzione
  • Alti numeri di consolidamento grazie all’uso più efficiente delle risorse di memoria
  • Maggiore affidabilità per le operazioni di riavvio con l’aiuto di Hyper-V Smart Paging
  • Economicità in quanto le risorse della VM non vengono sprecate

Tuttavia, la Memoria Dinamica di Hyper-V ha anche una serie di svantaggi, che possono influire negativamente sulle prestazioni della memoria della VM. Questi includono quanto segue:

  • Rischio di sovradimensionamento della memoria fisica del computer nel caso in cui non si tenga traccia dell’allocazione della memoria all’interno del proprio ambiente virtuale
  • Alcune impostazioni di memoria non possono essere modificate quando la VM è in esecuzione. Pertanto, non è possibile diminuire o aumentare l’importo massimo e minimo di memoria, nonché modificare l’importo di memoria di avvio della VM, quando la VM è ancora in esecuzione o in pausa.
  • Quando la Memoria Dinamica di Hyper-V è abilitata, potrebbero verificarsi problemi con le applicazioni di database. Si consiglia di utilizzare applicazioni compatibili con la Memoria Dinamica di Hyper-V per evitare problemi di prestazioni.

Impostazioni della Memoria Dinamica di Hyper-VLa Memoria Dinamica di Hyper-V include cinque impostazioni della VM che possono essere configurate in Gestione Hyper-V. A tale scopo, aprire Gestione Hyper-V, selezionare la VM richiesta, fare clic su Impostazioni e scegliere Memoria. Vedrai quanto segue:

Hyper-V Dynamic Memory include cinque impostazioni per il VM che possono essere configurate nel Hyper-V Manager. Per fare ciò, apri il Hyper-V Manager, seleziona il VM richiesto, fai clic su Impostazioni e scegli Memoria. Vedrai quanto segue:

Tuttavia, prima di iniziare a configurare le impostazioni di Hyper-V Dynamic Memory, è consigliabile prima conoscere come funzionano questi componenti e quali vantaggi possono offrire. Diamo un’occhiata a ciascuno di loro.

RAM di avvio

Questo valore di Hyper-V Dynamic Memory definisce la quantità minima di memoria fisica che un VM selezionato può utilizzare durante il suo avvio. La RAM di avvio dovrebbe essere abbastanza alta da consentire al VM di avviarsi rapidamente e senza interruzioni. Tieni presente che la RAM di avvio non può essere modificata quando il VM è in esecuzione.

RAM minima

Questo valore di Hyper-V Dynamic Memory determina la quantità minima di memoria fisica che dovrebbe essere assegnata al VM dopo che è stato avviato. Se altri VM richiedono RAM aggiuntiva, il host Hyper-V può iniziare a reclamare memoria inutilizzata da questo VM fino a raggiungere il valore di RAM minima. Tieni presente che il valore può essere impostato come basso come 32 MB ma non può essere superiore alla RAM di avvio. Inoltre, non è possibile aumentare la memoria minima mentre il VM è in esecuzione o sospeso, ma è possibile diminuirla (ad esempio, puoi cambiare il valore di RAM minima da 512 MB a 64 MB).

RAM massima

Questo valore di memoria dinamica Hyper-V specifica la quantità massima di memoria fisica che la VM può utilizzare. Si noti che questo valore non può essere inferiore alla RAM assegnata all’avvio, ma può arrivare fino a 1 TB (1.048.576 MB). Inoltre, non è possibile diminuire la quantità massima di memoria mentre la VM è in esecuzione o sospesa, ma è possibile aumentarla (ad esempio, è possibile modificare il valore della RAM massima da 512 MB a 2048 MB).

Buffer di memoria

Questo valore di memoria dinamica Hyper-V determina la percentuale di memoria fisica che dovrebbe essere allocata alla VM come buffer. Il buffer di memoria è una porzione di memoria fisica che viene riservata alla VM in base alle sue esigenze di memoria. Per calcolare il buffer di memoria, è necessario utilizzare la seguente formula:

Quantità di buffer di memoria = quanta memoria effettivamente serve alla macchina virtuale / (valore del buffer di memoria / 100).

Per impostazione predefinita, il valore del buffer di memoria ammonta al 20%, ma può essere impostato fino ad arrivare al 5% e fino al 2000%. È possibile modificare il valore del buffer di memoria in qualsiasi momento, anche mentre la VM è in esecuzione.

Peso della memoria

Questo valore di memoria dinamica Hyper-V specifica la priorità della VM selezionata rispetto ad altre VM su questo host. Sulla base di questa gerarchia di priorità, è possibile determinare come distribuire la memoria disponibile tra più VM in esecuzione sullo stesso host Hyper-V.

Si noti che se la priorità della VM è impostata troppo in basso e la quantità di memoria fisica disponibile diminuisce, c’è il rischio che questa VM non riesca a avviarsi. È possibile modificare il valore del peso della memoria in qualsiasi momento, anche mentre la VM è in esecuzione.

Best Practices per la Memoria Dinamica di Hyper-V

Per ottenere prestazioni elevate e migliorare l’utilizzo della memoria in ambienti Hyper-V, si consiglia di attenersi alle best practices per la Memoria Dinamica di Hyper-V.

Le best practices per la Memoria Dinamica di Hyper-V elencate di seguito possono migliorare notevolmente le prestazioni della memoria delle VM e la tua esperienza complessiva negli ambienti Hyper-V.

Abilita i Servizi di Integrazione di Hyper-V

Servizi di Integrazione di Hyper-V è un insieme di utilità che consentono di migliorare le prestazioni della VM negli ambienti Hyper-V. Ogni Servizio di Integrazione di Hyper-V deve essere abilitato sia nel host che nel guest affinché possano funzionare correttamente e fornire i servizi richiesti. Di default, tutti i Servizi di Integrazione di Hyper-V, ad eccezione dell’Interfaccia Servizio Guest di Hyper-V, sono abilitati sui sistemi operativi guest.

Per garantire che la Memoria Dinamica di Hyper-V funzioni efficacemente, assicurati che i Servizi di Integrazione di Hyper-V siano aggiornati alla versione più recente e che il sistema operativo guest supporti la funzionalità della Memoria Dinamica. Altrimenti, Hyper-V potrebbe riscontrare problemi perché la memoria non può essere fornita dinamicamente e le richieste di memoria non possono essere gestite correttamente.

A partire dalla versione di Windows Server 2016, i Servizi di Integrazione di Hyper-V e gli aggiornamenti corrispondenti possono essere installati tramite Windows Update. Pertanto, dovresti configurare le tue VM per ricevere aggiornamenti al fine di assicurarti che la tua infrastruttura Hyper-V utilizzi la versione più recente dei Servizi di Integrazione di Hyper-V.

Monitora l’uso della memoria e l’allocazione delle risorse

Attualmente, ci sono molti strumenti di gestione di Hyper-V sul mercato che ti consentono di monitorare l’utilizzo della memoria e l’allocazione delle risorse negli ambienti Hyper-V. Con la memoria dinamica di Hyper-V abilitata, è possibile sovrapprovvisionare la RAM e esaurire completamente la memoria. Pertanto, si consiglia di tenere traccia della RAM che si assegna a varie VM nel tuo host Hyper-V.

A tal fine, puoi utilizzare strumenti di monitoraggio nativi o acquistare software di terze parti. Ad esempio, puoi controllare lo stato della memoria della VM attraverso l’host in Hyper-V Manager o la VM ospite in Task Manager.

In questo modo possiamo monitorare come vengono utilizzate le risorse di memoria nel sistema. Tuttavia, tieni presente che Hyper-V Manager e Task Manager mostrano output diversi per l’utilizzo della memoria. Il tool di monitoraggio dell’ospite non mostra i risultati effettivi perché la VM ospite ritiene che la quantità totale di memoria assegnata alla VM sia effettivamente utilizzata dal suo driver. In realtà, l’host è generalmente più consapevole del modo in cui la memoria viene distribuita alle VM all’interno dell’infrastruttura. La memoria inutilizzata viene effettivamente riassegnata ad altre VM e questo è riflesso in Hyper-V Manager.

Tieni in considerazione la RAM di avvio

Impostare la RAM di avvio più alta o più bassa può influire significativamente sulle prestazioni di Hyper-V. Dovresti aumentare la RAM di avvio per assicurarti che il sistema operativo e le applicazioni in esecuzione su di esso si avvii come richiesto. Questo perché Windows richiede più RAM durante l’avvio rispetto a quando il sistema operativo è inattivo.

Inoltre, durante le operazioni di installazione o aggiornamento, la quantità di RAM disponibile per il sistema operativo ospite è pari al valore di RAM di avvio. Pertanto, prima di eseguire installazioni o aggiornamenti, è fondamentale garantire che il valore di RAM di avvio soddisfi i requisiti minimi di memoria del sistema operativo selezionato.

Si noti che se il valore di RAM di avvio è impostato troppo alto, ciò potrebbe anche influire negativamente sulle prestazioni della memoria dinamica di Hyper-V e sull’utilizzo complessivo della memoria. Pertanto, si consiglia di assegnare 512 MB come valore di RAM di avvio per il sistema operativo ospite in modo che possa avviarsi senza interruzioni.

Non dimenticare le perdite di memoria

Quando si impostano i limiti della memoria dinamica di Hyper-V per una determinata macchina virtuale, è fondamentale tenere a mente che la propria infrastruttura potrebbe essere soggetta a perdite di memoria. Le perdite di memoria implicano una graduale perdita di memoria disponibile a causa di un’allocazione di memoria non corretta. Di solito si verifica quando un’applicazione non riesce a rilasciare la memoria che era stata fornita solo per un uso temporaneo. Se il problema non viene rilevato prima che venga fatto qualsiasi danno serio, la memoria del sistema operativo può esaurirsi e l’applicazione finirà per fallire.

Per mitigare gli effetti negativi di questo problema, si consiglia di installare uno strumento di monitoraggio (ad esempio RAMMap) e di eseguire una scansione dell’intera infrastruttura per individuare eventuali incongruenze e rilevare casi insoliti di utilizzo della memoria da parte delle applicazioni in esecuzione. Inoltre, tali strumenti possono aiutarti a determinare i valori minimi e massimi di RAM che sarebbero più appropriati per questa determinata macchina virtuale.

Configura i valori massimo e minimo di RAM

Per garantire che la memoria dinamica di Hyper-V funzioni come richiesto, si consiglia di determinare limiti che il sistema non può superare. In questo modo, l’utilizzo della memoria all’interno della tua infrastruttura è controllato efficacemente, il che significa che la VM non consumerà troppa o troppo poca memoria.

Imposta attentamente il valore del Buffer di memoria

Una best practice della memoria dinamica di Hyper-V è assegnare il valore del Buffer di memoria appropriato, che specifica quanta memoria extra deve essere resa disponibile per una VM selezionata. Se il valore del Buffer di memoria è impostato alto, questa quantità extra di memoria viene generalmente utilizzata per il caching dei file nelle VM su larga scala e per ottimizzare le operazioni di I/O all’interno del sistema.

Allo stesso tempo, il valore del Buffer di memoria dovrebbe essere impostato basso se è in esecuzione un’applicazione che richiede una grande quantità di memoria fisica. Con il valore del Buffer di memoria ridotto, puoi essere sicuro che la memoria disponibile non venga completamente consumata da una singola VM.

Inoltre, se è già stato assegnato un grande quantitativo di memoria alla VM, è improbabile che abbia mai bisogno di memoria extra. Pertanto, ha più senso condividere le risorse di memoria inutilizzate con altre VM che ne hanno più bisogno.

Aggiorna i host Hyper-V se necessario

L’onere di produzione aumenta considerevolmente durante l’orario lavorativo, il che alla fine influisce sulle prestazioni di Hyper-V così come sull’allocazione delle risorse e sull’utilizzo della memoria. Come una delle migliori pratiche di Hyper-V Dynamic Memory, si consiglia di monitorare le variazioni nell’utilizzo della memoria durante il corso della giornata lavorativa. Rilevando quando si verificano tipicamente i cicli di utilizzo elevato e basso della memoria, è possibile imparare come utilizzare a proprio vantaggio la Hyper-V Dynamic Memory.

Abilita la Hyper-V Dynamic Memory solo quando è effettivamente necessaria

Anche se la Hyper-V Dynamic Memory è una funzionalità estremamente utile che migliora l’utilizzo della memoria fisica, ci sono alcuni casi in cui l’allocazione statica della memoria è l’opzione preferibile. Pertanto, dovresti considerare se la Hyper-V Dynamic Memory deve essere abilitata su una VM specifica o meno. Ad esempio, alcune applicazioni funzionano meglio se dispongono di una quantità predefinita di RAM che possono utilizzare senza interruzioni. La quantità di RAM preassegnata rimane la stessa nonostante le fluttuazioni nelle richieste di memoria.

Pertanto, si consiglia di pianificare in anticipo come sarà distribuita la memoria fisica nel tuo ambiente Hyper-V per evitare di esaurire la RAM e di evitare guasti delle applicazioni in futuro.Utilizza la Hyper-V Dynamic Memory solo con applicazioni compatibili

Anche se la memoria dinamica di Hyper-V è una caratteristica estremamente utile che migliora l’uso della memoria fisica, ci sono alcuni casi in cui l’allocazione di memoria statica è l’opzione preferibile. Pertanto, dovresti valutare se la memoria dinamica di Hyper-V deve essere abilitata su una determinata macchina virtuale o meno. Ad esempio, alcune applicazioni funzionano meglio se hanno una quantità predeterminata di RAM che possono utilizzare senza interruzioni. La quantità di RAM preassegnata rimane la stessa nonostante le fluttuazioni nelle richieste di memoria.

Pertanto, si consiglia di pianificare in anticipo come verrà distribuita la memoria fisica nell’ambiente Hyper-V per evitare di esaurire la RAM e prevenire errori delle applicazioni in futuro.

Utilizza la memoria dinamica di Hyper-V solo con applicazioni compatibili

Prima di installare qualsiasi applicazione sul tuo host o ospite Hyper-V, assicurati che questa applicazione possa essere utilizzata insieme alla memoria dinamica di Hyper-V. Per verificare tali informazioni, si consiglia di leggere prima la documentazione del supporto del prodotto per conoscere le sue funzioni e i requisiti di sistema. Tale misura precauzionale può aiutarti ad evitare eventuali problemi con l’uso e l’allocazione della memoria che potrebbero verificarsi.

In conclusione

Dopo aver appreso le migliori pratiche di Hyper-V Dynamic Memory, puoi iniziare a utilizzare la memoria fisica in modo più efficiente e sicuro. Tuttavia, la tua infrastruttura virtuale è ancora esposta a vari pericoli e minacce che possono comprometterne le prestazioni. Per garantire la sicurezza del tuo ambiente virtuale, l’utilizzo di una soluzione di protezione dei dati è l’opzione più fattibile. NAKIVO Backup & Replication è una soluzione affidabile, efficace ed economica che offre il backup delle macchine virtuali, la replica, il backup su cloud, la copia di backup, il ripristino del sito e un ricco set di funzionalità.

Source:
https://www.nakivo.com/blog/full-overview-hyper-v-dynamic-memory-best-practices/