This post is also available in: Inglese

Reading Time: 4 minutes

L’ultima build di Microsoft Windows Server 2016 Technical Preview 4 introduce un’interessante funzionalità chiamata Discrete Device Assignment.

Di fatto si tratta di una funzione di tipo “device passthrough”, ossia la capacità di mappare un dispositivo fisico collegato all’host direttamente alla macchina virtuale, senza passare della funzioni di virtualizzazione. Ad esempio, permette di aggiungere una scheda PCI Express ad una guest VM, come se fosse una macchina fisica (ovviamente le possibilità di migrazione della macchina diventano poi limitate).

Chi conosce VMware, riconoscerà la funzionalità chiamata VMDirectpath I/O introdotta tanti anni fa con VMware vSphere 4.0 (e il virtual hardware 7) o disponibile anche in KVM. Ora qualcosa si simile sarà disponibile anche su Microsoft Hyper-V.

In realtà di funzioni di passthrough in Hyper-V già ve ne erano nelle versioni precedenti: si pensi al disk passthrough (concettualmente simile a RDM nel mondo VMware vSphere e presente in Hyper-V fin dalle prime versioni, anzi, fin da quando Hyper-V ancora non esistema e si usava Virtual Server), oppure si pensi a RemoteFX per le schede video oppure al supporto SR-IOV per le schede di rete.

La differenza è che con il Discrete Device Assignment si avrà qualcosa di generico per ogni tipo di dispositivo, sfruttando funzionalità di partizionamento hardware come SR-IOV e funzionalità di virtualizzazione assistita in hardware come le Intel VT-d!

Ma perché mai potrebbe servire una simile funzionalità?

Un caso d’uso ovvio è laddove vi sia una dipendenza hardware che impedisca la virtualizzazione: si pensi ad esempio ad un gateway VoIP o ad un dispositivo di controllo che richieda particolari schede. Finora questi erano sistemi non virtualizzabili (almeno non con Hyper-V), ora lo potranno diventare. Anche particolari sistemi di monitoraggio o di gestione potrebbero richiede un accesso diretto e quindi si prestano a questo tipo di soluzione.

Ma la motivazione più significativa è quella di eliminare qualunque collo di bottiglia dovuto alla parte di virtualizzazione dei device: per ragioni di prestazioni alcuni dispositivi potrebbero richiede un accesso diretto (e il supporto di SR-IOV in Hyper-V era stato pensato anche per questo, per le nuove schede di rete ad alta velocità). Si pensi ad un SSD o meglio ancora ad una memoria flash collegata direttamente ad un bus PCIe o ad una memoria NVMe collegata al posto di banchi di memoria: in questi casi per sfruttare al meglio questi dispositivi ed avere la minima latenza il passthough è l’unica soluzione.

Questo gioverà anche ad alcune soluzione di SDS basate su macchine virtuali (VSA) e soprattutto ad alcune soluzioni iper-convergenti, come ad esempio Nutanix (dove la macchina di controllo deve avere un accesso il più possibile diretto all’hardware).

Anche il caso di GPU (graphics processors) potrebbe rientrare in questa casistica, ovviamente nel caso di soluzioni VDI.

Un altro caso di utilizzo potrebbero essere i dispositivi USB… vero che non è una soluzione specifica come la gestione USB di vSphere, ma potrebbe comunque risolvere quei particolari casi di token o altri device che blocchino la virtualizzazione.

Rimane comunque da ribadire che questo potrebbe limitare di molto la “mobilità” di queste VM, però a ben guardare l’implementazione del SR-IOV in Hyper-V è molto interessante e garantisce enorme mobilità delle VM. Rimarrà quindi da vedere nella versione RTM quale sarà l’effettivo supporto di questa funzionalità e le relative limitazioni.

Notare che Microsoft supporterà Discrete Device Assignment solo nella versione Hyper-V su Windows Server 2016 e non su Windows 10. Del resto per ora è più prioritario ed utile implementare questa funzione lato server che non lato client. A differenza ad esempio della nested virtualization che è molto più utile lato client.

Per maggiori informazioni vedere anche questi post (in inglese):

Share

Virtualization, Cloud and Storage Architect. Tech Field delegate. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-24. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-23. Nutanix NTC 2014-20. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.