Le novità di Windows Server 2012 : i nuovi limiti di Hyper-V

Hyper-V 3.0 in Windows Server 2012 implementa nuovi limiti (per host e per macchina virtuale), molti dei quali ampiamente superiori alla precedente release.

Eccoli riassunti nelle seguenti tabelle :

Limiti per host Hyper-V

hypervlimxsrv.jpg

Fig. 1 : limiti per singolo Host Hyper-V

Limiti per macchina virtuale

hypervlimxvm2.jpg

Fig. 2 : limiti per singola macchina virtuale

Ecco qua sotto ulteriori delucidazioni sul contenuto delle tabelle precedenti.

(1)     (2)

Differenza tra processori logici e virtuali

Per capire bene la differenza tra Processori Logici (Logical Processor) e Processori Virtuali (Virtual Processor), nel modo in cui la concepisce Microsoft,  è necessario avere un minimo di conoscenza dell’architettura dei processori e delle tecniche di MultiThreading.

I concetti base si possono sintetizzare così :

  1. Un processore è un dispositivo che esegue istruzioni (chiamate “Thread”)
  2. Inzialmente i processori eseguivano i thread in maniera seriale, uno alla volta
  3. Dai primi anni 2000 è stata introdotta la tecnica “MultiThreading”, che permette ad un processore di eseguire più thread in contemporanea.  Intel ha chiamato questa tecnica “Hyper-Threading”, ed ha cominciato ad implementarla sui suoi processori a partire dal 2002, limitando i suoi processori all’esecuzione di non più di 2 thread in contemporanea
  4. Dal punto di vista del sistema operativo, un processore con la tecnica Hyper-Threading viene visto (per esempio nel Task Manager) come un doppio processore, e le due CPU condividono RAM e Cache.  Per sfruttare correttamente l’Hyper-Threading (e migliorare le prestazioni), le applicazioni devono saper interagire con questa tecnica
  5. Intel ha abbandonato la tecnologia Hyper-Threading con l’avvento dei processori dual-core, per poi reintrodurla intorno al 2008 con l’architettura Nehalem.
  6. Quindi ora esistono processori multi-core e multi-threading : per fare un esempio, un processore quad-core multi-threaded può eseguire 4*2=8 thread in contemporanea, e quindi viene visto dal sistema operativo come un processore “a 8 vie” (vedi Fig. 3) :

taskmgrcores.JPG

Fig. 3 : rappresentazione in Task Manager di un processore Intel I7 Q720 (Quad-Core con Hyper-Threading)

Chiariti questi concetti base, ora possiamo dare le seguenti definizioni :

  • Processore fisico : il chip fisico inserito in un socket nelle mainboard
  • Processore logico : può rappresentare un Core o un Thread a seconda delle caratteristiche del processore fisico :
    • Se non è dotato di tecnologia Hyper-Threading (e quindi esegue solo un thread alla volta), allora 1 Processore Logico = 1 Core (quindi si dice che un processore fisico quad-core è dotato di 4 processori logici)
    • Se è dotato di tecnologia Hyper-Threading (e quindi esegue due thread alla volta), allora 1 Processore Logico = 1 thread (quindi si dice che un processore fisico quad core è dotato di 8 processori logici)
  • Processore virtuale : il processore assegnato in utilizzo alle macchine virtuali

Ulteriori chiarimenti sono necessari per comprendere come Microsoft utilizza i Processori Virtuali : essi sono associati ai processori logici, e non ai Core o ai processori fisici.

E’ stata fatta questa scelta per avere una misura più precisa e accurata della potenza di calcolo dei processori : se i processori virtuali fossero stati associati ai Core, sarebbe stata ignorata l’architettura del processore fisico (single-threaded o multi-threaded).  Associando un processore virtuale ai processori logici, si tiene invece conto dell’architettura del processore fisico.

Ecco perché, nella tabella di Fig. 1, sono riportati due limiti :

  • Il numero massimo di Processori Virtuali per Processore Logico
  • Il numero massimo di Processori Virtuali per intero Server

(3)

In Windows Server 2008 R2 SP1, è supportato un massimo di 12 processori virtuali per processore logico, ma solo se tutti i sistemi operativi guest del server eseguono  Windows 7 (quindi per ambienti VDI); altrimenti il numero massimo supportato di processori virtuali per processore logico è 8.

In Windows Server 2012 ogni limite è stato rimosso.

(4)

In Windows Server 2008 R2 SP1, il numero massimo supportato di processori virtuali per Server dipende dal numero massimo supportato di processori virtuali per processore logico : in ambienti VDI, con il rapporto 12:1, allora possiamo avere 64*8=512 processori virtuali; in ambienti non-VDI, con il rapporto 8:1, possiamo avere 64*12=768 processori virtuali.

In Windows Server 2012 il limite è stato aumentato a 2048.

(5)

La grandezza massima è determinata dal sistema operativo guest

(6)

Sia Windows Server 2008 R2 SP1 che Windows Server 2012 supportano un massimo di 8 schede di rete di tipo sintetico e 4 schede di rete di tipo legacy (queste ultime utilizzabili per effettuare un boot PXE, in quanto il loro driver è emulato via software).

Inoltre Windows Server 2012 supporta anche 4 adattatori a fibra ottica (FCA) per il collegamento delle macchine virtuali a un “Virtual Fibre Channel per Hyper-V”, che permette alle macchine virtuali stesse di collegarsi direttamente a SAN raggiungibili in fibra ottica.  Questo consente, per esempio, ad un’applicazione come SQL, in esecuzione in una macchina virtuale, di connettersi direttamente ai LUN di una SAN a fibra ottica.

Share / Save :

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *