TechEd 2009 US - le novità su Hyper-V R2

Ieri sera si è tenuta la keynote di apertura di TechEd 2009 US, la principale conferenza tecnica annuale di Microsoft

Durante la keynote sono state annunciate alcune importanti novità su Hyper-V R2; vediamole

Supporto di 64 processori logici nell’host

Gli host di virtualizzazione installati con Windows Server 2008 R2 con il ruolo di Hyper-V attivo e Microsoft Hyper-V Server 2008 R2 supporteranno 64 processori logici (es. 8 socket * 8 core)

Entriamo un poco in dettaglio sull’argomento.

Con Processor Socket (o package) intendiamo un’unità di calcolo che si inserisce sulla motherboard del computer. I moderni processor package sono costituiti da più processor core (2,4,6,o 8 unità di calcolo distinte). Ogni processor call può supportare più thread di esecuzione nel qual caso si parla di Hyper Thread o SMT (tipicamente sono 2 per core). L’hyper thread deve essere normalmente esplicitamente abilitato. Nel caso sia abilitato il multi thread, i diversi thread condividono le risorse del processor core.

Se considieriamo un server con 2 processori Nehalem quad core questo avrà 2 processor package, 8 core e 16 thread se si abilita SMT.

Da un punto di vista del capacity planning si teve tener conto solo dei processor core e non dei thread.

Qual’è l’influenza dell’SMT abilitato (o Hyper Threading se preferite) sulle performance di Hyper-V R2?

Il team di sviluppo ha notato un miglioramente delle performace di Hyper-V R2 quando SMT è abilitato, ma l’incremento di performance dipende dal reale workload in esecuzione nelle VM.

Nel team di sviluppo si pensa (ad oggi, ma questi valori stanno cambiando velocemente) di raggiungere un livello di consolidamento di 8 processori virtuali per processore logico o un massimo di 384 macchine virtuali per host (si applica il valore minore).

SConfig

Come sapete con Windows Server 2008 è stata introdotta la possibilità di installare il sistema operativo in modalità Server Core, ossia riducendo al minimo i componenti del sistema operativo installati.

Ad un anno dalla disponibilità di Windows Server 2008 i dati raccolti internamente e presso i clienti che collaborano a diversi programmi ci consentono di dire che un’installazione Server Core riduce di circa il 60% il numero di reboot dei server resi necessari da update, hotfix, ecc.

L’installazione in modalità Server Core è quella consigliata per i server destinati a fungere da host di virtualizzazione.

Uno dei problemi riscontrati dai clienti Microsoft con questa modalità di installazione è la necessità di usare diversi tool per eseguire le configurazioni iniziali.

In Microsoft Hyper-V Server il problema è risolto da un tool a linea di comando che consente di eseguire le configurazioni iniziali scegliendo diverse opzioni da un menù testuale.

HVSR2-001
Tool di configurazione di Microsoft Hyper-V Server 2008

Dalla RC lo stesso tool, text based, è disponibile anche nelle installazioni Server Core di Windows Server 2008 semplificando in questo modo la configurazione iniziale degli host di virtualizzazione (ma anche di altri ruoli).

sconfig
SConfig in Windows Server 2008 R2 RC

La gestione giorno per giorno può essere poi eseguita da remoto usando per esempio da Windows 7 i Remote Server Administration Tools (RSAT).

Hyper-V Processor Compatibility Mode

Questa è una novità molto interessante che richiede qualche parola per essere descritta.

Iniziamo col descrivero lo scenario di usabilità.

I sistemi operativi (tutti) e le applicazioni (quelle scritte bene) usano l’istruzione CPUID per ottenere l’elenco delle funzioni messe a disposizione dalla specifica CPU su cui sono in esecuzione.

Hyper-V espone all’avvio, alle macchine virtuali, le funzioni rese disponibili dalla CPU fisica.

Quando si spostano le macchine virtuali da un host di virtualizzazione ad un altro senza spegnerle, per esempio usando Live Migration o Quick Migration (vi ricordo che stiamo parlando di processori omogenei per marca: Intel con Intel e AMD con AMD), potrebbero nascere dei problemi se le CPU sui diversi host non espongono esattamente lo stesso insieme di funzioni.

In questo scenario la CPU sull’host di arrivo può essere di tipo leggermente diverso (e quindi fornire funzioni diverse) rispetto alla CPU sull’host di origine della VM; i sistemi operativi e/o le applicazioni potrebbero cercare di usare, dopo la migrazione, funzioni del processore non più disponibili e quindi avere dei problemi di funzionamento.

In questa situazione la piattaforma di virtualizzazione deve garantire il corretto funzionamento delle applicazioni: Hyper-V R2 impedisce le migrazioni di VM che potrebbero causare problemi di funzionameno alle applicazioni.

Il funzionamento appena descritto è ottenuto con un confronto tra le funzioni dei processori su host origine e destinazione prima di iniziare lo spostamento della VM.

Supponendo quindi di avere due host (A e B) con processori leggermenti diversi vediamo qual’è la matrice delle migrazioni possibili a seconda della funzioni disponibili.

Host A Host B Migrazioni di VM Risultato
Funzioni: X, Y, Z, Come B Funzioni: X, Y, Z, Come A A -> B B -> A SI SI
Funzioni X, Y, Z Sovra insieme di B Funzioni X,Y Sotto insieme di A A -> B B -> A NO SI
Funzioni X,Y Sotto insieme di B Funzioni X, Y, Z Sovra insieme di A A -> B B -> A SI NO
Funzioni Z,Y Diverso da B Funzioni W,Y Diverso da A A -> B B -> A NO NO

A questo punto entra in gioco il Processor Compatibility Mode che è abilitabile durante la creazione o in una fase successiva accedendo alle proprietà della singola VM.

clip_image001

Quando una VM è avviata con il Processor Compatibility Mode abilitato, Hyper-V R2 mostra alla VM solo le funzioni di processore comuni a tutti i processori “Hyper-V enabled” di una certa architettura (Intel o AMD).

Più dettagliatamente, quando si abilita il Processor Compatibility Mode le seguenti funzioni di processore sono mascherate e quindi non accessibili dalla VM:

Processori AMD

SSSE3, SSE4.1, SSE4.A, SSE5, POPCNT, LZCNT, Misaligned SSE, AMD 3DNow!, Extended AMD 3DNow!

Processori Intel

SSSE3, SSE4.1, SSE4.2, POPCNT, Misaligned SSE, XSAVE, AVX

Inoltre la dimensione della cache line flush è allineata a 8 byte su entrambe le architetture.

ATTENZIONE
Il Processor Compatibility Mode NON consente la migrazione di VM da host con processi Intel a host con processori AMD e viceversa.

Vediamo allora come la tabella precedente cambia abilitando il Processor Compatibility Mode

 

Host A Host B Migrazione di VM Risultato Funzioni CPU disponibili
Funzioni: X,Y,Z Come B Funzioni: X,Y,Z Come A A -> B B -> A SI SI X,Y,Z
Funzioni: X,Y,Z Sovra insieme di B Funzioni: X,Y Sotto insieme di A A -> B B -> A SI SI X,Y
Funzioni: X,Y Sotto insieme di B Funzioni: X,Y,Z Sovra insieme di A A -> B B -> A SI SI X,Y
Funzioni: Z,Y Diverso da B Funzioni: W,Y Diverso da A A -> B B -> A SI SI Y

Come si vede in questo caso le migrazioni vanno sempre a buon fine.

Prima di abilitare questa funzionalità si devono analizzare le applicazioni in esecuzione nelle VM e tenere in considerazione:

  • Possibili perdite di prestazioni dovute alla perdita di funzioni di processore. Potrebbero essere impattate in particolare applicazioni multimediali, di cifratura, di high-performance computing
  • Il fatto che alcune applicazioni potrebbero usare metodi non raccomandati per risalire alle funzioni di processore (es. cercare di eseguire un’istruzione per determinare la presenza di una funzione). Queste applicazioni potrebbere avere problemi di installazione o esecuzione
  • Il fatto che alcune applicazioni potrebbero non avviarsi per la mancanza di una o più funzioni di processore

Questo lungo post si chiude qui e se siete arrivati fino qui a leggere: GRAZIE

Vi ricordo che potete iniziare ad implementare Windows Server 2008 R2 nelle vostre aziende usando il programma IT Pro Momentum.

Questo programma è dedicato ai professionisti IT, ai partner e alle aziende che vogliono implementare nuove tecnologie Microsoft prima del loro rilascio definitivo (o subito dopo). Il programma fornisce diversi benefit tra cui:

  • documentazione relativa alle tecnologie supportate non ancora disponibile al pubblico
  • una sottoscrizione gratuita annuale a TechNet Plus Direct
  • il supporto tecnico sulle tecnologie non ancora rilasciate in versione definitiva (normalmente Microsoft non fornisce supporto sui prodotti in pre-release se non si fa parte di qualche programma di “early adoption”)

Windows 7, Windows Server 2008 R2 e Microsoft Hyper-V Server 2008 R2 (con altre tecnologie) sono prodotti supportati in IT Pro Momentum.

Se volete parteciapre a questo programma con uno o più progetti scrivetemi mettendo come subject ITPROMOMENTUM.

Update

I due post  hanno lo stesso titolo ma contenuti diversi, in particolare il secondo contiene informazioni importanti anche su Virtual Machine Manager 2008 R2: storage migration (migrazione dello storage di una VM in esecuzione ), SAN enhancement (Migrazione di iSCSI targets e SAN-based storage attraverso cluster), rapid provisioning (basato su template), maintenance mode (spostamento automatico di VM dall'host messo in modalità manutenzione) e controllo di compatibilità per degli host per la live migration (Processor Compatibility  Mode).
Per maggiori dettagli su queste funzionalità andate qui.

Buona giornata a tutti

Giorgio

Technorati Tags: Microsoft.Virtualization,Hyper-V