Machine virtuelle et exploitation des capacités hardware

Bonjour tout le monde,

Je me suis créé il y a 2 ans une grosse config pour pouvoir utiliser un logiciel de montage dont je fais un usage qui va s’avérer de plus en plus avancé (production de vidéos pour un site pro).

Pour plusieurs raisons, je souhaiterais que ce logiciel ne soit pas en contact avec le reste de l’ordinateur (pas d’accès à internet dans l’environnement où je l’utilise, pas de liens direct (sauf pour récupérer les exports) avec les fichiers de mon ordinateur, etc.).
J’ai pensé utiliser une machine virtuelle, en y installant Windows 7 et mon logiciel.

Cependant, de ce que j’ai pu tester par le passé du principe des machines virtuelles (avec Virtual Box par exemple), j’avais l’impression qu’elles n’exploitaient jamais pleinement les ressources de mon PC, en gros en résumant ses périphériques à des périphériques génériques. Est-ce le cas ? Sinon, y a-t-il un moyen d’utiliser les ressources de mon PC de façon complète sur une machine virtuelle ou non ?

Merci par avance de vos réponses et conseils.

Bonsoir,

Pour info la virtualisation a pas mal évolué aujourd’hui et tu as accès en particulier aux parties 3D des cartes graphiques pour les application qui en ont besoin.

Ensuite il existe 2 types de virtualisation, la “perso” a exécuter sur son poste et la “pro” a exécuter sur un serveur de virtualisation comme par exemple un ESXi de VMWare à utiliser pour faire tourner une ou plusieurs machines virtuelles regroupées sur une ou plusieurs machine physiques.

Dans ton cas je pense que tu peux déjà essayer une version récente de VirtualBox ou de VMWare Player (version gratuite mais moins évoluée que VMWare Workstation), voir même le VirtualPC intégré dans Windows 7/8 Pro qui ne gère pas l’accélération 3D mais peut-être que pour faire du montage vidéo ça n’est pas suffisant.

Ensuite tu as aussi la solution de te créer une machine en dual-boot avec un boot sur un Seven spécial boulot dans lequel tu auras pris soin de désactiver le réseau par exemple et que tu auras installé dans une partition chiffrée truecrypt, ainsi quand tu booteras depuis ton Windows “perso” celui-ci n’aura pas accès à la partition chiffrée sauf si tu décides de la monter manuellement ou alors d’installer ce windows “pro” sur un disque USB externe à retirer quand tu n’en a pas besoin (et que tu peux aussi chiffrer pour plus de sécurité en cas de vol).

Enfin bref il y a des solutions mais je me pose aussi la question de savoir pourquoi tu veux absolument l’isoler, ça pourrait aider à te répondre plus précisément.

Pour ce qui est de ton impression de “non exploitation complète des ressources”, qu’entends-tu par là au juste ? tu parles de la vitesse ? des périphériques, disque, mémoire, CPU ?

cdlt.
Edité le 14/05/2014 à 23:23

Merci pour vos réponses.

La raison principale, c’est surtout qu’on m’a toujours conseillé d’isoler une station dédiée au travail d’internet, pour éviter les ralentissements, les incompatibilités, bugs, etc.
Après, les autres raisons sont très annexes : focalisation sur le travail (ça évite nettement la tentation), protection des données, etc.

Pour le dual-boot, c’est une éventualité à laquelle j’avais pensé. Mais je n’ai jamais osé le faire parce que j’ai longtemps lu (mais est-ce encore le cas ?) que c’était risqué de partitionner un dd tout en gardant un OS déjà installé (pour des problèmes, notamment de fragmentation du disque). J’avais jadis hésité à me faire un dual boot avec Xubuntu, sur une ancienne machine sous Windows XP, changée depuis donc, et j’avais lâché l’affaire vus les risques que j’avais lus (à moins de formater mon disque et de réinstaller tout ensemble).
En gros, alors que ça fait 2 ans que j’ai mon PC, l’idée de devoir recréer de A à Z mon Windows 7 tel qu’actuellement configuré et avec les programmes installés, ça ne me bouge pas des masses.

Par rapport à “l’exploitation complète des ressources”, disons qu’en créant ce PC, je m’étais fait aider pour avoir une configuration qui soit adaptée à mes besoins. Je fais principalement du son (musique donc besoin de ressources pour pouvoir coller un max d’effets type VST) et du montage, comme dit plus haut (idem + gagner un temps précieux à l’export + envisager l’achat d’Adobe After Effect) et je ne peux pas me permettre d’être en galère de ressources ou d’attendre 3h pour l’export d’une vidéo de 30 min (c’était le cas avant… quand je vois que généralement pour 30 min, j’ai aujourd’hui 45 min d’export dans le pire des cas, ça fait plaisir).

Pour isoler ta station rien de plus simple, désactive la carte réseau pendant que tu bosses :slight_smile:

Les incompatibilités ? je ne vois pas sauf si tu installes des tonnes de drivers ou de logiciels qui peuvent potentiellement installer des pilotes ou DLL en versions incompatible avec ceux installés par ton logiciel de montage vidéo.

Le coup du partitionnement qui entraînerait une fragmentation ??? bidon !

:hello:

Quels ralentissements / bugs / incompatibilités ?

Après si c’est pour éviter les malwares ou autres, en ne faisant pas n’importe quoi sur le net, les risques sont très limités.
Je n’ai jamais rencontré de problèmes depuis des années. :neutre:

Risqué ? J’ai encore partitionné le disque de mon netbook avec Windows déjà installé il y moins d’un mois, sans le moindre soucis.
Le truc surtout c’est de ne pas s’y prendre n’importe comment.

Quand au fait que ça entrainerait de la fragmentation, j’aimerais bien voir où tu as vu ça.

Ah oui, mais justement : comment doit-on faire pour ne pas s’y prendre n’importe comment ? As-tu un lien de tuto à me donner ou quelque chose du style ?
Car ça m’intéresse !

Non, je me suis mal fait comprendre. Ce que j’ai lu à l’époque, c’est que Windows étant généralement fragmenté sur le disque dur (en tout cas à l’époque ; on était encore tous sous XP), il fallait faire une défragmentation du disque avant toute tentative de repartition. Le soucis, c’est que ça ne garantissait pas quelques erreurs, vu que la défragmentation d’un disque n’est pas toujours complète.
Mais ça a peut-être évolué depuis. J’ai récemment entendu dire par un ami (dont je ne sais pas le niveau en informatique) que le problème de la fragmentation était moins d’actualité depuis Windows 7 car l’OS défragmenterait automatiquement régulièrement de toute façon (c’est pour ça que je préfère poser la question, car je ne sais pas si cette source est fiable).

La défragmentation fonctionne, cependant il faut que l’outil soit capable de défragmenter aussi la MFT ou autres fichiers particuliers sinon il est en effet possible de se retrouver avec des morceaux qui traînent en bout de partition qui empêchent une réduction efficace de sa taille pour faire plus d’espace pour l’autre.

Defraggler ou UltraDefrag sont deux outils efficaces pour cela, l’un est assez convivial, l’autre bien plus technique avec plus de possibilités mais un poil plus austère.

Juste un petit à ce sujet. Dans Windows8 ce n’est plus VitrualPC mais Hyper-V, et pour peu que l’on dispose d’un CPU compatible Hyper-V avec RemoteFX sait donner l’accès aux ressources du GPU aux machines virtuelles.
Pour cela il faut simplement avoir un Intel Corei disposant de toutes les extensions nécessaire, ou n’importe quel AMD pas trop vieux.

Mais bon, ce n’est pas pour autant la meilleure solution pour le truc. Limite je ferais l’inverse, c’est à dire l’OS Hote pour la station de montage et une machine virtuelle pour tout le reste, comme ça on a deux environnement bien distincts qui n’interagissent pas entre eux (sauf à le demander) tout en gardant l’accès direct au hardware et au maximum de performances pour le montage.

ceci dit, le dual-boot ça reste de loin la solution la plus efficace pour séparer deux environnements de travail, mais avec la contrainte de devoir rebooter à chaque fois.

Pour Hyper-V il a précisé qu’il est sous Seven donc je n’en ai pas parlé mais le GPU est pris en compte par VirtualBox tout comme VMWare.

Pour le dual-boot je dis … SSD RuLeZ , ca boost un max :wink:

D’ailleurs un bon SSD pour y mettre l’OS principal et les OS des machines Virtuelles et les DATA sur un HDD c’est nickel.

Je dois trop être habitué aux ESXi sur machines à 512Go de RAM 64vCPU :wink:

Par contre les perfs pour faire du serveur ou de la bureautique ne sont pas mauvaises, de quelles perfs tu parles ? mémoire, disque, cpu, 2D, 3D ?
Edité le 18/05/2014 à 11:48

normalement pour les disques ça ne devrait pas impacter trop. Ils sont tous capable de faire du passtrought sans trop de perte sur ce point

En tous cas je ne note aucune différence sur mon serveur hyper-v à ce niveau (machine virtuelle qui fait serveur de stockage)

Idem niveau CPU on ne perd pas tropsuivan les réglages de la MV et le type de CPU

Par contre pour le GPU c’est sur qu’ils ne sont pas encore à 100% en passtrought
Edité le 18/05/2014 à 13:01

OK il faut tout de même distinguer deux types de virtualisation, celle qui se fait au dessus d’un OS comme VirtualBox, VMWare Workstation/Player ou Hyper-V (même version serveur) et celle qui se passe de l’OS hôte et devient elle même l’OS (VMWare ESXi).

Dans le cas d’un ESXi on a un gain de performances grâce au fait qu’on élimine certaines couches intermédiaires entre la machine virtuelle et le matériel physique, avec un ESXi on est “presque” en direct.

Ensuite côté benchs sur le CPU et la RAM sont au même niveau (je viens de relancer qlq benchs pour voir), on se dégrade pas mal avec la vidéo, mais pour une utilisation bureautique cela ne pose pas de problème on ne voit pas la différence, par contre pour les jeux 3D ça se sent nettement plus.

Ensuite côté disque, c’est très variable, on est en dessous c’est vrai mais cela dépend de plusieurs critères (accès à des disques physique directement ou via des fichiers de disques virtuels, monobloc ou multi-blocs), par contre la machine virtuelle apporte des avantages comme par exemple la gestion des snapshots, les disques non-persistents etc…

Côté mémoire on a aussi certains avantages (selon les applis de virtualisation) comme par exemple l’allocation mémoire dynamique, au début la VM ne consommera que peu de mémoire sur la machine physique, puis en consommera plus si nécessaire.

Il faudra aussi faire attention au réglage des vCPU (le nombre de coeurs CPU), par défaut la VM ne sera paspeut-être pas créée avec tous les CPU donc elle sera moins performante que la machine hôte. Mais là aussi il faut voir si on parle de faire tourner une seule VM à la fois ou plusieurs, sur sa propre machine ou sur un serveur.

La virtualisation est quelque chose de très puissant mais il fait bien connaître les possibilités des divers applications du marché pour choisir celle qui conviendra le mieux, rien que côté VMWare il y a de quoi s’y perdre entre les termes entre les licences (hors gratuit) Essential, Essential PLus, Entreprise… et les différents noms d’applications ou de technologies vSphere, vCenter, ESXi, Hyperviseur, vMotion etc…
Edité le 18/05/2014 à 15:25

La virtualisation ça fait un peu parti de mon boulot en même temps :wink:

Mais pour résumer, ESXi (gratuit en version de base) ça s’installe sur une machine qui servira de serveur hébergeant 1 à xx machines virtuelles en fonction des capacités de la machine physique.

La vie des machines virtuelles (VM pour faire court) sur ce serveur sera gérée au travers d’un module nommé Hyperviseur installé sur ce même serveur.

Lors de l’installation de l’ESXi tu effectues quelques réglages de base en interface texte, puis tu te reconnectes dessus au travers d’une interface graphique plus conviviale et surtout plus complète nommée vSphere Client pour créer et gérer les VM (à ne pas confondre avec vSphere “tout court” qui est une suite de packages commerciaux comprenant plus ou moins d’options).

Le vCenter server (pas gratuit) permettra de gérer un ou plusieurs ESXi (1000 ESXi et 10.000 VM par vCenter) pour faire des choses comme cloner des VM mais aussi gérer la haute disponibilité, la tolérance de panne. Autrement dit tu vas pouvoir faire en sorte que tes VM puissent vivre “non-stop” et ceci de façon optimale en les basculant d’un ESXi à un autre en fonction de la charge de chaque serveur (si celui-ci devoent trop chargé pour assurer les performances CPU/Mémoire minimum définies pour cette VM) ou même basculer ta VM automatiquement vers un autre ESXi en cas de crash et ceci en quelques millisecondes sans aucune perte ni même redémarrer la VM de l’autre côté, la bascule inclue une reprise de ce qui était en RAM ainsi que les registres du processeur !

Enfin bref c’est du lourd !

Pour te donner une idée voici ce qu’un ESXi peut gérer au max par serveur physique :

320 CPU physiques (qui peuvent avoir plusieurs coeurs chacun)
4096 vCPUs (un vCPU représente un coeur dans un CPU)
4 To de RAM
62 To par VMDK (fichier de disque virtuel)
Cartes réseau 40Gigabits
Fibre Optique 16 GB
Edité le 19/05/2014 à 00:34

Précision supplémentaire qui peut intéresser oldbear :

ESXi peut utiliser une technologie appelée pasthrough !

Cette dernière peut utiliser un périphérique directement dans une VM. Un disque dur, une carte graphique etc

En gros, en affectant la (ou l’une des) carte(s) graphique(s) du serveur ESXi à une VM, on a accès à tout son potentiel en installant les pilotes de la dite carte graphique dans la VM. Et oui un petit Black Ops III dans une VM est possible ^^

La technologie passthrough est une technologie supportée par les processeurs Intel Xeon mais pas seulement. Certains processeurs Intel I7 la supporte très bien.

Avec ceci, l’édition vidéo dans une VM serait simplifié et l’encodage optimisé pour peu que l’encodage soit fait avec Cuda (pour que mon exemple de la carte graphique soit complet ^^))
Edité le 28/08/2016 à 00:07