Le problematiche hardware e software a volte portano a una scarsa performance della VM. Ciò può diminuire la comodità e l’agilità del tuo ambiente virtuale. Leggi questo post del blog per scoprire i metodi per migliorare le prestazioni della VM VMware quando ci si trova di fronte a VM lente. Scopri i problemi più comuni che portano alla degradazione delle prestazioni della VM e apprendi le possibili soluzioni.
Motivi per Migliorare le Prestazioni della VM
Diamo uno sguardo ai principali motivi per eseguire la diagnostica e migliorare le prestazioni della VM:
- La performance della macchina virtuale è più lenta rispetto alla performance di una VM identica su un altro host.
- Le applicazioni funzionano più lentamente di quanto dovrebbero. Ma quando si migra una VM su un altro host, le prestazioni delle applicazioni sono normali.
- Le applicazioni impiegano molto tempo per avviarsi.
- Le applicazioni in esecuzione non rispondono.
- Utilizzo della CPU, della memoria o del disco al 100%.
CPU e Memoria
Le risorse hardware insufficienti sono tra le ragioni più comuni per una lenta performance della VM. Se non si forniscono abbastanza risorse CPU per una VM, il software all’interno della VM potrebbe funzionare lentamente con ritardi. Per risolvere questo problema, impostare una VM per utilizzare più core CPU o aggiungere più processori virtuali. Inoltre, prendere in considerazione l’aggiornamento dell’hardware della macchina host se si dispone di un processore vecchio con un basso numero di core, cache e frequenza bassa.
Quando imposti la quantità di RAM per una macchina virtuale, assicurati che questa quantità di RAM sia sufficiente per la VM. Allo stesso tempo, deve esserci abbastanza RAM per la macchina host. Se non fornisci abbastanza memoria per una VM, il sistema operativo guest utilizza intensivamente un file di swap e le prestazioni complessive della VM sono lente. Se fornisci una grande quantità di memoria per una VM e non lasci abbastanza memoria per il sistema operativo host, allora il sistema operativo host utilizza un file di swap. Questo porta al degrado delle prestazioni del sistema operativo e delle applicazioni. Inoltre, le prestazioni della VM degradano anche in questo caso. Non assegnare troppa memoria a una VM e, allo stesso tempo, lasciane un po’ per l’host. Fornisci sempre all’host abbastanza memoria.
Leggi i requisiti di sistema per il tuo sistema operativo e le applicazioni. Consideriamo un esempio. La tua macchina host ha 8 GB di memoria e esegue ESXi 7.0 o Windows 10 con VMware Workstation. Una VM di Windows Server 2019 è in esecuzione su questa macchina host. Se assegni 4 GB di RAM per una VM di Windows Server 2019, rimangono 4 GB di RAM per il sistema operativo host. Questo è sufficiente per il corretto funzionamento sia del sistema operativo host che del sistema operativo guest (senza eseguire applicazioni aggiuntive che consumano risorse). Il rapporto è 1:2 (4 GB/8 GB), e 1/2-1=-0.5 è il valore attuale di MEM overcommit avg. Se fornisci 2 GB di RAM per una VM che esegue Windows Server 2019, in questo caso, le prestazioni della VM sarebbero lente. Se fornisci 6 GB di RAM per una VM di Windows Server 2019, la quantità di memoria per la macchina host non è sufficiente e, di conseguenza, sia le macchine fisiche che virtuali sono lente.
Se esegui applicazioni pesanti come database su macchine virtuali, regola la configurazione della VM e aggiungi più risorse CPU e memoria di conseguenza.
Il sovraimpegno della memoria è una situazione in cui l’allocazione totale delle risorse supera la capacità. Se hai un host con 8 GB di RAM e esegui cinque VM configurate per utilizzare 2 GB di RAM ciascuna, tutte le VM e la macchina host possono mostrare prestazioni scarse perché la memoria è sovraimpegnata (se tutte le VM stanno utilizzando intensivamente la memoria). Se alcune VM sono in esecuzione, ma sono leggermente caricate, la memoria è utilizzata principalmente dalle VM che sono pesantemente caricate perché ESXi migliora l’utilizzo della memoria. Il sovraimpegno della memoria ha senso negli ambienti di test.
Inoltre, controlla il memory ballooning e la configurazione di questa funzione per recuperare la memoria inutilizzata dalle VM per un utilizzo efficiente della memoria fisica. A volte, questa funzione può influenzare le prestazioni delle VM quando la VM deve utilizzare un disco per uno swap.
Sovraimpegno della CPU. VMware fornisce tecniche per un uso razionale delle risorse, consentendoti di assegnare più processori virtuali alle VM rispetto ai core CPU fisici presenti sull’host. Il parametro di sovraimpegno della CPU è il rapporto tra il numero di processori virtuali assegnati alle VM e il numero di core CPU fisici sull’host. Se il valore è 3:1, non ci dovrebbero essere motivi di preoccupazione. Se il valore è 5:1, le prestazioni delle VM si degradano. Se il valore di sovraimpegno della CPU è 6:1 o superiore, le prestazioni delle VM sono lente e ciò può causare molti problemi.
Come risolvere i problemi di CPU e memoria?
Considera di aggiornare l’hardware e aggiungere più RAM alla macchina fisica su cui esegui macchine virtuali. Cerca di avere abbastanza memoria per evitare che i sistemi operativi host e guest utilizzino file di swap. Evita sovraimpegni di memoria.
A volte le funzionalità di gestione dell’alimentazione della CPU possono causare una bassa performance della VM. Prova a disattivarle.
Controlla le risorse CPU e di memoria libere sull’host.
Su ESXi, esegui questo comando nella riga di comando per verificare se il tuo server è sovraccarico:
esxtop
Controlla il parametro load average.
1.0 – significa che la CPU è completamente utilizzata
0.5 – significa che la CPU è utilizzata al 50%
2.0 – significa che la CPU è sovraccarica del doppio, e devi prendere provvedimenti
Premi questi tasti per cambiare la visualizzazione: c – metriche della CPU (visualizzate per impostazione predefinita), m – memoria, n – rete, d – disco. Premi spazio per aggiornare i valori visualizzati (i valori vengono aggiornati automaticamente ogni 5 secondi). Premi h per aiuto e q per uscire.
Controlla il parametro MEM overcommit avg per esaminare l’utilizzo della memoria su ESXi. Il valore MEM overcommit avg è il seguente: il rapporto tra la memoria richiesta e la memoria disponibile meno 1. Il valore consigliato per questo parametro è 0 o inferiore.
Se si utilizza VMware Workstation installato su Linux o Windows per eseguire le VM, utilizzare gli strumenti di monitoraggio di sistema standard disponibili nel proprio sistema operativo.
Controllare l’utilizzo della CPU e della memoria nel sistema operativo guest. Alcune applicazioni potrebbero non funzionare correttamente e consumare tutte le risorse della CPU (core della CPU). Verificare i processi in esecuzione e individuare quello che carica la CPU. Controllare la temperatura dei processori fisici sull’host perché una temperatura eccessivamente elevata (superiore a 80 °C) causa problemi di prestazioni e costituisce un rischio per un processore (un processore potrebbe danneggiarsi).
Effettuare un aggiornamento hardware: installare una CPU più potente o più processori sull’host. Controllare la configurazione della VM. Se il numero di processori virtuali per le VM è superiore al necessario, ridurre il numero di processori virtuali per le VM per liberare risorse per l’host.
In VMware vSphere, è possibile utilizzare un cluster DRS (Distributed Resource Scheduler) per migrare le VM da un host ESXi sovraccarico a un host ESXi che dispone di risorse hardware libere.
Problemi di disco
La bassa performance di un sistema di archiviazione causa una bassa performance delle macchine virtuali che memorizzano dischi virtuali su questo sistema di archiviazione. La latenza di archiviazione è critica per la performance delle VM. Prova a utilizzare dischi SSD (Solid State Drive) per memorizzare le macchine virtuali. Se non è possibile utilizzare dischi SSD, utilizza dischi HDD (Hard Disk Drive) con 7200 RPM o 10000 RPM. I dischi rigidi con 5400 RPM offrono una bassa performance aggiuntiva. L’utilizzo di dischi con interfaccia SAS è preferito.
Se utilizzi VMware Workstation, puoi memorizzare le VM su dischi esterni SATA (eSata) o USB 3.0 tenendo conto delle raccomandazioni sopra riportate. Non scollegare un disco esterno finché non hai spento una macchina virtuale.
In ambienti di produzione, utilizza dischi spessi non espandibili o preallocati. I dischi spessi con allocazione “eager-zeroed” sono più veloci per le prime operazioni di scrittura.
Se utilizzi un HDD per memorizzare le VM, esegui la deframmentazione di questo disco fisico o array e esegui la deframmentazione di un disco virtuale nelle impostazioni della macchina virtuale. Utilizza partizioni per ridurre la frammentazione del disco. Installa un sistema operativo su una partizione, memorizza i file utilizzati dalle applicazioni (ad esempio, un database) su un’altra partizione.
Verifica se il firmware di un HBA (Host Bus Adapter) è aggiornato. Aggiorna il firmware del tuo HBA su un server.
Verifica lo stato di salute del disco. Esegui la diagnostica del disco e del file system. Se il disco è corrotto, sostituiscilo immediatamente.
Verifica i cavi dell’interfaccia (SAS, SATA).
La crittografia del disco riduce le prestazioni a causa degli oneri. Spostare i file della VM su uno storage non crittografato se la crittografia non è essenziale per la VM, o disattivare la crittografia del disco.
Utilizzare controller RAID indipendenti (hardware) che offrono prestazioni e affidabilità superiori.
Assicurarsi che ci sia spazio libero su un disco all’interno di una VM. Lo spazio disco insufficiente causa degrado delle prestazioni perché un sistema operativo e le applicazioni non possono scrivere file temporanei.
È possibile migrare la propria VM su un altro disco o array di dischi non sovraccaricato. In VMware vSphere, considerare l’uso di DRS e Storage DRS. Ridurre il numero di VM in esecuzione sullo stesso LUN o datastore.
Snapshot
Snapshot del disco virtuale riducono le prestazioni del disco virtuale. Ogni snapshot produce un file delta VMDK aggiuntivo di un disco virtuale. Viene utilizzato il meccanismo di copia su scrittura. Ogni delta VMDK contiene differenze di dati (registro delle modifiche) rispetto a un file VMDK genitore, e una VM legge tutti questi dati quando interagisce con un disco VM. Di conseguenza, i dati vengono letti da file di dischi virtuali multipli sullo stesso disco fisico, e questo riduce le prestazioni della VM. Per lo stesso motivo, non utilizzare file VMDK divisi per le VM in VMware Workstation (questa opzione è creata per vecchi sistemi di file che non supportano file più grandi di 4 GB). Il sovraccarico del disco aumenta man mano che cresce il numero di snapshot. Gli snapshot vengono di solito utilizzati per scopi temporanei (ad esempio, quando si copiano dati durante un lavoro di backup o si installa o si testa un’applicazione all’interno di una VM). Eliminare o consolidare gli snapshot il prima possibile.
In VMware Workstation, è necessario arrestare una VM, chiudere VMware Workstation ed eseguire un comando in cui si definisce il percorso del file VMDK principale esistente e il percorso di un nuovo file disco virtuale:
“C:\Program Files (x86)\username\VMware Workstation\vmware-vdiskmanager.exe” -r
“D:\VMs\cartella-VM\nome-VM.vmdk” -t 0 “D:\VMs\cartella-VM\NuovoDisco.vmdk”
Quindi riconfigurare la VM per utilizzare un nuovo disco virtuale o creare una nuova VM e impostarla per utilizzare il nuovo disco virtuale consolidato.
Su ESXi, eseguire questo comando per rimuovere gli snapshot:
vmware-cmd path_to_vmx_file removesnapshots
o
vim-cmd vmsvc/snapshot.removeall VMID
È possibile visualizzare il VMID con questo comando:
vim-cmd vmsvc/getallvms
Unisci i file VMDK divisi se vengono utilizzati. Fai questo sulla macchina Windows su cui è installato VMware Workstation con il comando:
“C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe” -r splitdisk.vmdk -t 0 mergeddisk.vmdk
Memorizza i dati sensibili alle prestazioni su un disco più veloce.
Strumenti VMware
Assicurati che gli Strumenti VMware siano installati sul sistema operativo guest. Gli Strumenti VMware sono un insieme di driver e utility utilizzati per migliorare le prestazioni della VM e l’esperienza dell’utente. Le prestazioni grafiche aumentano dopo l’installazione degli Strumenti VMware. Il mouse è sincronizzato e funziona senza ritardi. Con gli Strumenti VMware, è possibile utilizzare una VM in modalità schermo intero con prestazioni superiori. Verifica se gli Strumenti VMware sono installati.
In Windows, fare clic sull’icona degli Strumenti VMware nella barra delle applicazioni vicino all’orologio, o vai a C:\Program Files\VMware\VMware Tools\ (questa è una directory predefinita) ed esegui il comando:
VMwareToolboxCmd.exe -v
In Linux, esegui il comando nella console:
vmware-toolbox-cmd -v
Controlla la versione degli Strumenti VMware sugli ospiti VM leggendo i log VM nella riga di comando ESXi:
grep toolbox /vmfs/volumes/datastore/vm_name/vmware.log
o
grep build- /vmfs/volumes/datastore/vm_name/vmware.log
Nel client VMware vSphere, controlla se VMware Tools è installato sul sistema operativo guest in esecuzione sulla VM. Le informazioni su VMware Tools sono visualizzate nella scheda Riepilogo di una VM (lo stato e la versione).
Problemi di rete
Se il tuo host ESXi è collegato a storage come SAN (Storage Area Network) o NAS (Network Attached Storage), assicurati che la velocità di rete sia sufficiente e che la rete non sia sovraccaricata.
Dovresti utilizzare reti di gestione ESXi separate, rete vMotion e rete di storage in vSphere per ottenere elevate prestazioni.
Configura il NIC Teaming (aggregazione link) sugli host ESXi che utilizzano switch virtuali.
Se la larghezza di banda di rete esistente non è sufficiente per soddisfare i requisiti, considera un aggiornamento di rete. Ad esempio, configura adattatori di rete, switch e router da 5 Gbit o 10 Gbit anziché l’attrezzatura esistente da 1 Gbit.
Antivirus
Assicurati che il software antivirus sull’host non stia eseguendo la scansione dei file del disco virtuale poiché la scansione di questi file può degradare le prestazioni della VM. È possibile escludere i file VMDK nelle directory VM dalla scansione antivirus.
Controlla lo stato di salute del sistema operativo in esecuzione sull’host OS e sull’OS ospite. Assicurati che non ci siano virus o altri malware o ransomware.
Considera l’utilizzo di soluzioni antivirus speciali che funzionano con VMware vShield sugli host ESXi anziché installare software antivirus su ciascun OS ospite delle VM. Questo approccio ti consente di ottenere prestazioni migliori ed è razionale per ambienti virtuali di grandi dimensioni. Se utilizzi vShield, configura correttamente questo software poiché una configurazione errata può degradare le prestazioni della VM.
Problemi correlati a Hyper-V
Se si utilizza VMware Workstation 15.5 o una versione successiva che supporta l’esecuzione delle VM di VMware quando la funzionalità Hyper-V è installata su un host Windows, le prestazioni delle VM di VMware possono essere più lente. Quando il ruolo Hyper-V è installato, Hyper-V utilizza direttamente le funzionalità di virtualizzazione della CPU come Intel VT-x o AMD-V, che non sono disponibili per VMware Workstation con Virtual Machine Monitor (VMM) che deve essere eseguito in modalità privilegiata. Il VMM di VMware Workstation viene eseguito in modalità utente o ULM (anziché in modalità privilegiata) per motivi di compatibilità, poiché il VMM non può accedere alle funzionalità di virtualizzazione hardware della CPU quando sono utilizzate da Hyper-V. In questo caso, il VMM utilizza le API WHP di Microsoft che fungono da livello aggiuntivo tra il VMM e la CPU e riducono le prestazioni delle VM di VMware.
Disinstallare Hyper-V e le funzionalità correlate come la Sicurezza basata sulla virtualizzazione da un host Windows. In seguito, il VMM di VMware Workstation verrà eseguito in modalità privilegiata e funzionerà direttamente con le funzionalità di virtualizzazione della CPU con elevate prestazioni. Questa soluzione aiuterà a risolvere le lente prestazioni delle VM di VMware.
Monitoraggio delle prestazioni delle VM
Il monitoraggio delle prestazioni delle macchine virtuali è un metodo ampiamente utilizzato per rilevare sovraccarichi e problemi di prestazioni correlati. Il monitoraggio delle prestazioni delle macchine virtuali ti aiuta a individuare la causa del problema. Ricorda di monitorare le prestazioni delle macchine virtuali a livello di host e non all’interno del sistema operativo ospite. Un sistema operativo ospite non è consapevole delle funzionalità di virtualizzazione, come l’allocazione dinamica delle risorse, e potrebbe visualizzare dati non corretti. VMware fornisce contatori a livello di host. Questi contatori forniscono informazioni corrette e vengono utilizzati per il monitoraggio delle prestazioni delle macchine virtuali. Sapendo come vengono raccolte le informazioni sulle prestazioni all’interno delle macchine virtuali, VMware ha sviluppato librerie di contatori specifici per le macchine virtuali che consentono di visualizzare informazioni corrette sulle prestazioni delle macchine virtuali utilizzando l’utilità Perfmon in sistemi operativi Windows ospiti. VMware Tools devono essere installati su un sistema operativo ospite per il monitoraggio delle prestazioni delle macchine virtuali.
Per verificare le risorse hardware utilizzate in VMware vSphere Client, seleziona una macchina virtuale, apri la scheda Monitor e quindi seleziona Prestazioni > Panoramica o Prestazioni > Avanzate per visualizzare grafici e altre informazioni. Nella pagina Panoramica, puoi visualizzare l’utilizzo della CPU, della memoria, della rete e dello storage (spazio libero, spazio utilizzato e prestazioni di input/output) in tempo reale e per il giorno precedente, la settimana, il mese, l’anno o un intervallo personalizzato. Seleziona queste opzioni in due menu a discesa in questa pagina (Periodo e Visualizza).
Fai clic su Utilizzo nella scheda Monitor per visualizzare informazioni aggiuntive sull’utilizzo della CPU della macchina virtuale, della memoria della macchina virtuale e della memoria ospite.
Allo stesso modo, è possibile selezionare un host ESXi o un cluster nel client vSphere e monitorare le risorse utilizzate e disponibili in tempo reale e per il periodo selezionato.
Conclusioni
In questo post del blog sono stati spiegati i punti principali che richiedono la tua attenzione quando si parla di problemi di prestazioni delle VM e le raccomandazioni che aiutano a migliorare le prestazioni delle macchine virtuali. Dovresti disporre di hardware che fornisca prestazioni sufficienti, evitare sovraimpegno della memoria e configurare correttamente il software. Utilizza il monitoraggio delle prestazioni delle VM per individuare le cause delle lentezze delle prestazioni delle VM.
Il danneggiamento del disco è il problema più pericoloso che causa lentezza delle prestazioni delle VM perché, oltre alle scarse prestazioni della macchina virtuale, è possibile perdere anche i dati. Per evitare la perdita di dati, esegui regolarmente il backup dei dati di VMware. Utilizza NAKIVO Backup & Replication per il backup di VMware, la soluzione universale di protezione dei dati che supporta VMware vSphere 7.0 e offre molte funzionalità utili per migliorare la velocità e l’affidabilità del backup.
Source:
https://www.nakivo.com/blog/a-full-overview-of-vmware-virtual-machine-performance-problems/