Poiché i clienti ha cominciato a tastare il terreno della virtualizzazione all'interno della propria organizzazione, la maggior parte ha iniziato con le applicazioni non mission-critical ", giusto per essere sicuri". Poiché il livello di comfort maggiore, la maggior parte (se non tutti) delle applicazioni non mission-critical sono stati spostati nella matrice di virtualizzazione. Ci sono ancora un bel po 'pochi i clienti che non si sente a proprio agio virtualizzazione loro Tier 1 applicazioni business-critical. Eppure, queste sono le applicazioni che probabilmente hanno il maggiore impatto sul ROI globale. Il motivo più comune che sento è che la performance delle risorse per questi alta (CPU, memoria, IO) i carichi di lavoro non si traducono anche in un ambiente virtualizzato. Questo può essere vero 4 anni fa, ma oggi, direi che con una corretta pianificazione del 99% di tutti i carichi di lavoro possono infatti essere virtualizzati.
Quando SQL Server è in esecuzione su un server fisico con un singolo socket, 4 core della CPU e 64 GB di RAM, ha pieno accesso a tutto. Questo significa che la CPU, memoria e anche le risorse di rete in quel server sono dedicati alla manutenzione di SQL Server. Quando guardo di virtualizzare questo carico di lavoro, ho bisogno di prendere in considerazione il numero di processori logici sono in hypervisor host (nel mio caso, Hyper-V) e come ho configurato il collegamento in rete per l'host. Se si esegue altre macchine virtuali (VM) su questo host, ho bisogno di essere a conoscenza del l'utilizzo complessivo di processori logici così come sono ora il momento taglio delle risorse per tutte le macchine virtuali in esecuzione. Inoltre, tutto il traffico di rete per tutte le VM in esecuzione su questo host vengono spinti sulla stessa scheda di rete fisica (s).
In questo scenario, non sarei in esecuzione il mio VM SQL Server sullo stesso host di macchine virtuali ad alta intensità di altre risorse, se possibile. Ciò significa che sarebbe un po 'delle mie macchine virtuali minore utilizzo di questo host in modo che SQL otterrà più risorse complessive. Inoltre, vorrei impostare la priorità del VM SQL in modo che è più alto in classifica. Penso che si ottiene l'immagine.
Un'altra cosa da tenere in considerazione è l'architettura della CPU effettivo che viene utilizzato sui hypervisor padroni di casa. Non tutti i processori quad core sono uguali. Dovete guardare il massimo delle prestazioni di ciascun core. Faccio notare questo perché in molte organizzazioni, il team che gestisce i server SQL di solito sono quelli che forniscono le specifiche per questi server fisici e questi non possono essere gli stessi tipi di server che vengono utilizzati dal team che gestisce gli host di virtualizzazione.
L'ultimo elemento che voglio sottolineare è la memoria. Come si inizia a lavorare con i server di memoria più elevate capacità, l'architettura NUMA entra in gioco. Se l'host Hyper-V utilizza banchi di memoria tra i nodi NUMA, le prestazioni si degradano. Dal momento che il sistema operativo nella VM non sta gestendo la memoria fisica, non ha alcun controllo su come la memoria si accede da una prospettiva NUMA. Invece, è l'host Hyper-V che gestisce questo per tutte le macchine virtuali su tale host. Per questi server ad alta capacità di memoria, la cura deve essere adottate per configurare le impostazioni della NUMA, quindi questo non si trasformi in un fattore negativo.
Nessun commento:
Posta un commento
Nota. Solo i membri di questo blog possono postare un commento.