Ho una situazione di questo tipo:
Server dedicato:
Intel Xeon E5 - E5-1620v2 - 4/8t 64G di RAM
ESXi 5.5.0
Ho installato le seguenti macchine virtuali:
Windows 2012 R2 CPU 8 core (4 x 2) RAM 24 Gb su cui è residente una piattaforma web propietaria che utilizza il database di sotto
Server Ubuntu CPU 2 core (1 x 2) RAM 16 Gb su cui è installata MySQL server
Server Ubuntu CPU 1 core (1 x 1) RAM 12 GB su cui girano una decina di siti web su Apache2
Server Ubuntu CPU 1 core (1 x 1) RAM 12 Gb su cui è installata una piattaforma e-learning moodle
Finora ha "girato" tutto bene, da qualche giorno il server windows con IIS 8 si blocca perchè la CPU arriva ad un utilizzo del 100%, riavviato IIS tutto torna a funzionare.
La configurazione delle VM è la stessa da almeno un anno, quello che è successo di recente è stato un aggiornameno della piattaforma windows, con un'aggiunta di una funzionalità nuova, testata ancora poco.
Ma contemporaneamente abbiamo aggiunto un paio di siti sulla VM webserver e sulla piattaforma e-learning c'è molto più movimento, insomma le macchine virtuali in linux sono più impegnate di prima.
Ho già deciso e sto spostando le due ultime VM su un'altro server dedicato, ma mi chiedo se comunque sto sbagliando qualcosa nella distribuzione delle risorse.
In articolare mi chiedo: se ho un totale di 8 core sulla macchina fisica, posso assegnarle "in sovrapposizione"? Di RAM ne avevo a sufficienza e praticamente la somma delle singole VM fa quella della macchina fisica in totale, la sulla CPU avevo notato in precedenza che windows 2012 era quello che voleva più risorse in termini di CPU ed ho assegnato tutti gli 8 core disponibili, pensando che fossero il massimo delle risorse che potesse utilizzare quella VM, ma in effetti è la CPU totale e quindi quando anche le altre VM la utilizzano si ritrova a non avere più le risorse disponibili e quindi si blocca per questo?
Nell'ipotesi di lasciare solo le prime due VM lascio sempre 8 Core o è meglio scendere a 6 core e 2 core a MySQL?
Utilizzo per 6 Core
Number of virtual sochets: 2
Number of core per socket: 3
Total number of core: 6
o inverto i valori? 3 x 2?
Altra cosa: nelle impostazioni delle risorse io ho sempre lasciato i valori di default
CPU, shares: Normal. Reservation: 0 MHz. Limit: Unlimited
Advanced CPU: Hyperthreded Core Sharing, Mode: Any.
Grazie a tutti
Gianni
mi pare un po' strano che un web server abbia bisogno di 8 vCPU, in ogni modo visti i sintomi non darei la colpa all'hypervisor ma a qualcosa che succede dentro il sistema guest.
L'hypervisor assegna la cpu alle guest a frazioni di tempo, quindi puoi tranquillamente avere un numero di vCPU totali > numero core disponibili (considerando anche l'ht).
Ma per capire veramente cosa succede dal punto di vista dell'utilizzo bisogna che vai a vedere delle statistiche... installati veeam one in versione free e avrai dei dati oggettivi su cui ragionare.
Ho provato ad installare veeam one free, letto da un tuo precedente post, installato (Veeam ONE per VMware e Hyper-V), ma dopo averla installata e lanciata non sono riuscito a cottennermi al server ESXi perchè mi diceva che non era installata la versione server di Veeam, ho pensato che avrei dovuto installare sul server qualcosa e ho desistito, probabilmente sbaglio qualcosa.