VMware Global Community
fedoxp
Contributor
Contributor

Dimensionamento memoria fisica-virtuale

Salve a tutti,   sto lavorando con un cluster ESXi da 4 hosts fisici,  ciascuno con 256GB di memoria fisica.

In quest'ambiente girano circa 70 VMs di diversa natura e differenti carichi di lavoro.

Mi è stato richiesto di ridurre il cluster a 2 soli host fisici, per un periodo temporaneo,  senza compromettere il funzionamento delle VMs o variare l'hardware (cioè aggiungendo RAM).

L'attuale allocazione di memoria di ciascun host è la seguente:  esx1=170GB,  esx2=160GB, esx3=130GB, esx4=140GB.

Ho però controllato l'uso effettivo di ciascuna VM nell'ultimo mese ed ho riscontrato che le % sono abbastanza stabili e basse rispetto alla memoria allocata a ciascuna macchina.  Ho dunque analizzato il valore di picco %  ed ho ricavato i MB di memoria di picco, aggiungendo anche qualcosa in più come margine di sicurezza.

Sommando il consumo RAM di picco delle 70 VMs  è uscito 180GB.

Vorrei chiedere se la mia analisi sulla memoria di picco ha un senso e posso concludere che anche UN singolo host con 256GB di memoria fisica potrebbe gestire tutte le 70VMs se l'occupazione si mantenesse a 180GB o comunque sotto i 256GB.

Con DUE  hosts avrei anche un miglior bilanciamento del carico.

Sto tralasciando qualcosa come swap, reservation, limit?

Grazie

Reply
0 Kudos
1 Reply
Giodomi
Hot Shot
Hot Shot

Ciao,

direi che hai fatto un analisi corretta, ovviamente a patto che l'utilizzo reale della memoria di queste vm non aumenti mentre hai questi i 2 soli host disponibili, di base gli ESXi cercano di fare un buon lavoro per permettere alle vm che richiedono memoria di averne usando diverse funzionalità:

- Balloning
- TPS (transparent page sharing)
- Memory Compression
- Swap (ultima risorsa se le precedenti non hanno aiutato a recupeare memoria)

Swap file = file presente sul datastore grande quanto la memoria configurata dentro gli edit settings di ciascuna vm
Reservation = da controllare se hai reservation configurata in qualche VM considera che stai riservando memoria (non mi sembra il tuo caso) quindi usata o no quella quantità di ram è riservata solo per quella VM
Limits = potresti limitare il consumo delle VM meno "importanti" nel caso in cui tu voglia far si che in caso di un improvviso picco di utilizzo non vadano mai a prendersi tutta la memoria che gli hai configurato (anche qui ci starei attento, eventualmente come detto solo per casi specifici di vm non veramente importanti)

Il mio consiglio è di controllare nel Tempo prima di fare attività se ci sono consumi di memoria ricorrenti, prendere un valore come campione oggi potrebbe non essere veritiero del reale consumo, controlla anche i relativi picchi avvenuti a 7, 30 e 90 giorni giusto per capire se ci sono dei cicli. Fatto questo magari vale la pena fare un po' di "downsizing" a livello di memoria magari per alcune vm che non ne utilizzano nemmeno la metà durante i picchi. (se ti torna come dato direi che puoi dimezzare la quantità di memoria configurata per quella o quel gruppo di VM, ovviamente valutare caso per caso)

https://kb.vmware.com/s/article/1002604


Kudos if it was helpful

GioDomi
Reply
0 Kudos