VmDirectPath, une fonctionnalité qui rend les VMs plus créative !

Je ne sais pas si vous connaissez la fonctionnalité de vSphere 4,VmDirectPath, qui permet à une machine virtuelle d'adresser en direct des périphériques du serveur hôte comme par exemple une carte ethernet, un carte hba ou ... une carte son.


Dans son mode de fonctionnement natif, l'hyperviseur présente aux machines virtuelles un ensemble de drivers génériques (CPU, réseau, hba, usb, scsi, ...) qui font l'interface entre les machines virtuelles et les périphériques physiques. Cette approche permet aux machines virtuelles de s'exécuter sur des plateformes x86 de constructeurs différents ; en mettant en œuvre le principe d'indépendance à la couche matérielle des machines virtuelles.
La fonctionnalité VmDirectPath se positionne « a contrario » de ce principe d'indépendance. Elle offre la possibilité d'adresser des périphériques tiers du serveur hôte et de bénéficier de toutes les fonctionnalités de ce périphérique au sein de la machine virtuelle.

Cette approche présente un double intérêt :
- La machine virtuelle offre plus de performance sur le périphérique adressé en direct. Le fait que le driver ne soit plus générique et qu'il y ait une couche d'abstraction en moins permet d'améliorer très significativement les accès. Par exemple, en dédiant une carte hba à une machine virtuelle, le flux de stockage entre cette VM et le SAN sera plus optimisé. La carte est dédiée uniquement à la machine virtuelle.

- La machine virtuelle, en suivant cette approche, peut bénéficier de fonctionnalités supplémentaires. Par exemple, en attachant en direct une carte son à une VM, nous retrouverons l'intégralité des fonctionnalités de cette carte dans la VM ; soit un vrai studio multipiste dans la VM.  Je vous renvoie vers cet article du DS45 pour avoir toutes les informations

VmDirectPath, quelques contraintes :
Adresser un périphérique physiques en direct dans une machine virtuelle ne se fait pas sans quelques contraintes. 
- La plus évidente concerne la compatibilité du périphérique matériel. Il doit être reconnu par l'hyperviseur. A ce sujet, je pense que Microsoft HyperV présente une matrice de compatibilité plus large que celle de Vmware vSphere 4. Si l'hyperviseur ne reconnait pas le périphérique ; point de salut.

- L'attachement direct avec la VM est considéré comme de l'affinité entre le périphérique et la machine virtuelle. Cet attachement « bride » quelques fonctionnalités qui ne peuvent plus être exécutées dans la VM. Ainsi, il ne sera plus possible de bénéficier de la migration à chaud d'une machine virtuelle vers un autre serveur hôte. Dans le même registre, les machines virtuelles avec un attachement direct ne bénéficient plus des fonctionnalités de HA, Fault Tolerance , PRA, ...

- En cas de dysfonctionnement du périphérique matériel, la stabilité de la VM est fortement compromise puisque dépendante de ce périphérique.

- Le périphérique attaché à la machine virtuelle lui ai dédié et n'est plus considéré comme une ressource mutualisée dans l'infrastructure.

Le VmDirectPath est une fonctionnalité innovante qui permet à l'administrateur d'être créatif avec ses machines virtuelles et de pouvoir mettre à disposition des utilisateurs des typologies de machines virtuelles a priori non éligibles à la virtualisation. Il faut juste garder à l'esprit qu'il y a des contraintes fortes dans l'exploitation de ce type de machines.

Olivier Domy

Je suis un pragmatique qui a cœur de proposer des solutions cohérentes et en phase avec un contexte client spécifique. Je travaille essentiellement autour des concepts liés à la rationalisation des infrastructures des systèmes d’information et particulièrement sur les projets de transformation des environnements utilisateurs.