Virtualisation et coeurs logiques

Répondre
Partager Rechercher
Je me posais une question à propos de machines virtuelles et de processeurs à cœurs logiques (donc relativement virtuels).
Qu'est-ce qui est le plus efficace pour mettre en place plusieurs machines virtuelles sur un seul pc ? Un processeur avec des cœurs multiples physiques, ou un processeur avec moins de cœurs physiques mais de l'hyper threading en plus?

Donc ouais, je compare bien un Phenom x6 et un i7
Je suppose que l'i7 permettra d'installer plus de machines à la fois, mais qu'il aura plus de mal à faire tourner plus de machines simultanément qu'il a de cœurs.
Ca va essentiellement dependre de la gestion des coeurs au niveau de ton soft de virtualisation, et si tu lance un process par machine virtuel, ou un seul regroupe le tout.

Ensuite, pour la base:
L'avantage des multicore, c'est de traiter plus d'information en parraléle, si les machines virtuelles sont utilisé en parraléle, le multicore donnera de meilleurs résultat, si c'est plus une utilisation consecutive , un gros monoproco aura tendance a fournir de meilleur resultats.

Si derriere le soft a une gestion merdique du multi core , ou pire pas de prise en charge, le mono sera preferable.

Pour l'exemple, j'ai un très gros soft, qui tourne sur un xeon quad core, mais ce #### de soft a pas de prise en charge multicore, je vais donc aveoir un processus qui va sauter en permanence d'un core a l'autre et qui n'utilisera donc que au mieux 25% de ma capa de calcul.
Donc pour ce cas, un monocore plus puissant qu'un de mes core donnera un meilleur resultat.

Au niveau d'un soft, coeur logique ou physique, c'est vu quasiment de la meme facon.
Je sais pas quel type de VM tu veux faire tourner (Serveur ou client), mais en fait, le plus important à l'heure actuelle, ce n'est pas vraiment la puissance des procs et leur nombre de thread mais la mémoire.

Pour te donner une idée, sur un HP DL360 G6, (Xeon à 2.26 GHz, 4 cores/4 threads) avec 12 Go de mémoire, tu fais tourner 8 VMs(2008 Server) sous Hyper-V sans problèmes.
Citation :
Publié par Elmet Hachem
Je sais pas quel type de VM tu veux faire tourner (Serveur ou client), mais en fait, le plus important à l'heure actuelle, ce n'est pas vraiment la puissance des procs et leur nombre de thread mais la mémoire.

Pour te donner une idée, sur un HP DL360 G6, (Xeon à 2.26 GHz, 4 cores/4 threads) avec 12 Go de mémoire, tu fais tourner 8 VMs(2008 Server) sous Hyper-V sans problèmes.
Je sais pas trop ce que tu veux dire par 'thread' en parlant d'un proc mais le plus important c'est le nombre de core ( et le cache ) C'est d'ailleurs sur ce terrain qu'AMD tente de gagner sur Intel. Je pense qu'un bon nombre de VPS tournent sous AMD vu que le prix / core est plus bas que Intel.
Peu importe le proco c'est vraiment pas le plus sollicité en Virtu comme dis plus haut.

Avec un Simple ML350G5 Xeon Dual Core 2.13 on fait tourner une 10ene de VM (du 2008 , du 2003 server avec pas mal de SQL Server dessus pour environement de test) et c'est vraiment la memoire qui fait defaut (on est rendu a 16go et ca commence a etre short) sur un Hyper V

A contrario le dernier test low ressource qu'on a fait c'est sur un vieu ML350G4 Xeon simple core multithreader a 1.6 me semble . On tien sans aucun soucis un 2003 Server Controleur de domaine + un serveur TSE de comptatibilité pour 5 utilisateurs. le processeur est suffisant (c'est pas byzance mais ca tourne sans ralentissement) par contre avec 3go de Ram c'est juste le minimum vital.

Donc vu que tu te base sur du matos grand public tout va dépendre de ce que tu veux héberger et avec quoi. Hyper V ne fonctionne pas comme ESXi.

Apres je pense que Core physique > Multithreading pour la virtualisation de X machine. (De toute pour te donner une idée un SBS avec une base SQL qui tourne dessus me bouffe en moyenne 10% d'un Core , par contre 4go de ram et autant qu'on veux bien lui en donner (SQL Server de *ù$^*ù))
c'est amusant, moi je fait aussi attention aux i/o des disques surtout si tu héberge des bases mysql ou svn de manière virtualisé!
(Chose qui n'est d’ailleurs pas super conseillé)
Bon, alors j'aurais du préciser que ce n'est pas du tout dans une optique professionnelle mais dans une optique apprentissage personnel. Grosso-modo ce que je veux faire c'est un petit réseau pro virtuel sur mon pc personnel pour m'entraîner et tester des trucs et des machins.

Donc mon objectif ce n'est pas de mettre en place des serveurs pour faire tourner des applis mais de faire tourner des fake serveurs et des fake postes clients sur mon pc perso, et dans des conditions qui soient correctes pour bidouiller. En gros, je ne veux pas que ça rame un max à chaque fois que je clique pour tester un truc.

Au niveau du soft de virtualisation, j'en ai aucune idée. Je ne savais même pas ce qu'était la virtualisation il y a deux semaines xD.
J'avais pris VMware player parce que c'est gratos et parce que c'est ce dont on m'a parlé. Après je ne sais même pas s'il y a des limitations du nombre de postes, ou des softs qui seraient plus intéressants pour ce que je veux faire (ou qui vaillent plus le coup d'être appréhendés), donc si vous avez des conseils de ce coté-là, je suis preneur.

Je constate aussi que ça n'accapare pas les ressources processeur comme je l'avais cru au premier abord, donc ma question perds de son intérêt. Par contre, je crois qu'il y a plus ou moins une réservation de ram puisque je n'ai pas pu ouvrir 2 VM à 4Go de ram chaque en même temps sur mon pc (qui a 4Go total), alors que je peux en ouvrir plus en baissant la ram.
Sinon, je constate effectivement que ça fait travailler un max le HDD.


Je trouve que vos impressions sur l'usage professionnel sont intéressantes (voire plus intéressantes que la réponse à ma question), donc si vous avez des choses à rajouter sur ce topic n'hésitez pas
Citation :
Publié par Arkhan Denyall
Bon, alors j'aurais du préciser que ce n'est pas du tout dans une optique professionnelle mais dans une optique apprentissage personnel. Grosso-modo ce que je veux faire c'est un petit réseau pro virtuel sur mon pc personnel pour m'entraîner et tester des trucs et des machins.

Donc mon objectif ce n'est pas de mettre en place des serveurs pour faire tourner des applis mais de faire tourner des fake serveurs et des fake postes clients sur mon pc perso, et dans des conditions qui soient correctes pour bidouiller. En gros, je ne veux pas que ça rame un max à chaque fois que je clique pour tester un truc.

Au niveau du soft de virtualisation, j'en ai aucune idée. Je ne savais même pas ce qu'était la virtualisation il y a deux semaines xD.
J'avais pris VMware player parce que c'est gratos et parce que c'est ce dont on m'a parlé. Après je ne sais même pas s'il y a des limitations du nombre de postes, ou des softs qui seraient plus intéressants pour ce que je veux faire (ou qui vaillent plus le coup d'être appréhendés), donc si vous avez des conseils de ce coté-là, je suis preneur.

Je constate aussi que ça n'accapare pas les ressources processeur comme je l'avais cru au premier abord, donc ma question perds de son intérêt. Par contre, je crois qu'il y a plus ou moins une réservation de ram puisque je n'ai pas pu ouvrir 2 VM à 4Go de ram chaque en même temps sur mon pc (qui a 4Go total), alors que je peux en ouvrir plus en baissant la ram.
Sinon, je constate effectivement que ça fait travailler un max le HDD.


Je trouve que vos impressions sur l'usage professionnel sont intéressantes (voire plus intéressantes que la réponse à ma question), donc si vous avez des choses à rajouter sur ce topic n'hésitez pas
J'm'étais monté une petite tour exprès pour ça à l'époque. un Phenom x4 avec 4go derrière, sur lequel j'avais installé ESXi 3.5 (on peut le télécharger gratuitement). Du coup y'a moyen de se faire pas mal plaisir déjà. Je ne faisais pas tourner des applis lourdes, mais pas mal de machines (Windows server / Linux server) pour des tests.

Pour ce qui est simulation d'un nombre important de machines, je te conseil de te renseigner sur netkit, qui est super pour ça (génère des machines virtuelles pesant ~20mo en mémoire, et offrant chacune un système linux complet).
Lol, ta "p'tite tour" ressemble comme deux gouttes d'eau à ma config actuelle
Le truc si je me goure pas, c'est qu'ESX(i) va me niquer ma config actuelle donc je ne peut pas trop utiliser cette solution-là à moins de changer de machine.

En y réfléchissant bien, je n'ai pas forcément besoin d'avoir une horde de postes clients dans un premier temps, mais de serveurs et d'un mini-réseau.
Citation :
Publié par Arkhan Denyall
Je constate aussi que ça n'accapare pas les ressources processeur comme je l'avais cru au premier abord, donc ma question perds de son intérêt. Par contre, je crois qu'il y a plus ou moins une réservation de ram puisque je n'ai pas pu ouvrir 2 VM à 4Go de ram chaque en même temps sur mon pc (qui a 4Go total), alors que je peux en ouvrir plus en baissant la ram.
Sinon, je constate effectivement que ça fait travailler un max le HDD.
Je trouve que vos impressions sur l'usage professionnel sont intéressantes (voire plus intéressantes que la réponse à ma question), donc si vous avez des choses à rajouter sur ce topic n'hésitez pas
Ca dépend si tu comptes y faire tourner un serveur PEC/Nagios qui requête plus de 5000 noeuds toutes les 2 secondes, ça sera gourmand en CPU
Mais comme déjà dit, effectivement c'est la RAM qui part le plus vite, il faut toujours sur-dimensionner celle-ci.
On a par exemple une cluster de 5 serveurs en ESXi4.1 avec chacune 16GB de ram, et on a dû vite limiter le nombre de VM pour éviter la saturation, alors que côté CPU c'est plutôt calme.
Par contre on a un autre cluster de 2 serveurs, Core i7 avec 64GB de ram chacun, et là c'est parfait, équilibre CPU/RAM trouvé.

>J'en profite pour une question : migration de vm à froid d'esx3.5 et 4.0 vers esxi4.1, ayant des snapshots. Une autre solution plutôt qu'éditer à la main les vmdk pour y mettre les CID du snapshot parent ?
Citation :
Publié par Vinx Itak
>J'en profite pour une question : migration de vm à froid d'esx3.5 et 4.0 vers esxi4.1, ayant des snapshots. Une autre solution plutôt qu'éditer à la main les vmdk pour y mettre les CID du snapshot parent ?
Sauf erreur de compréhension, tu veux garder les snapshot des vm en les migrant vers vsphere 4.1 ? Habituellement c'est plutot un merge des snap en premier lieu, donc pas trop de retour dessus.
Mais sinon, tu as essayé d'intégrer tes esx 3.5 dans ton environnement 4.1, migrer tes vm arrêtées avec snapshot vers un host 4.1 (surtout pas upgrader le matériel des vm, ça se fait une fois les esx 3.5 complètement dégagés, et les vmtools mis à jour), virer les esx 3.5 puis voir ce que ça donne ?
et installer un nouveau vcenter sur un os x64 si ce n'est pas déjà le cas de l'ancien

D'un autre coté je pensais au fait qu'en mettant à jour le matériel, et donc obligatoirement les vm tools, les anciens snapshot ne sont plus utilisables, sous peine de plantage de la vm au reboot.
Sauf à mettre les vm dans un coin sans qu'elles aient une mise à jour de quoi que ce soit de lié à vmware ....

Citation :
Publié par Arkhan Denyall
En y réfléchissant bien, je n'ai pas forcément besoin d'avoir une horde de postes clients dans un premier temps, mais de serveurs et d'un mini-réseau.
Globalement, tu peux facilement monter plusieurs machines avec juste le minimum vital. pour W7, 512Mo lui suffit, le boot est juste un peu lent ...
Au pire, fait l'installation avec 1G de ram et 2 cpu, puis une fois fini, descend le matériel à 512 voir 384 et 1 cpu. (Pour du linux sans interface graphique, 256 ça lui va bien aussi)
Et rappel : pas besoin d'installer 10 fois la même vm : installe en une, puis duplique le répertoire en le renommant. Au démarrage ton outil de virtualisation devrait (pour vmware il le fait) demander ce qu'il s'est passé, indique que c'est une nouvelle vm, il changera automatiquement l'adresse mac.
Il ne reste qu'à changer le hostname ensuite, et l'ip si tu n'a pas laissé le dhcp actif.

D'ailleurs, petit conseil, installe toujours l'os de tes vm avec 2 cpu dispo, puis diminue à 1 une fois le système fonctionnel. Parce que rajouter un 2e cpu suite à une install mono cpu laisse parfois de droles de surprises, surtout avec XP/2003.

c'est ton disque dur qui va bosser
Oui, on a des plateformes de test où les utilisateurs font pas mal de snapshots (genre 3 snaps à 3/4 branches d'arborescence), ces vm sont hébergées sur des esx 3.5 (et stockées sur des lun de baies san). On souhaite vider ces serveurs esx pour les réinstaller en esxi 4.1, or la migration avec snaps n'est pas prévue.
A chaud tu as une alerte sur vsphere, mais machine éteinte les vm se migrent. Sauf qu'au boot, tu as une belle erreur.
J'ai trouvé une KB sur le site de vmware qui explique que l'erreur vient des CID qu'on trouve dans les vmdk.
Dans chaque snapshots (et donc chaque vmdk) tu as le CID de ton snapshots et aussi le CID de ton snapshots parents (comme ça tu sais dans ton snapshots manager l'arborescence finale)

Or en migrant, les CID sont complètement changés, et donc tes snapshots sont dans un bordel pas possible ! Il faut tout éditer à la main mais en ayant au préalable noté l'arborescence qu'avait les snapshots (et un serveurxxx.0000000001.vmdk, serveurxxx.0000000002.vmdk, serveurxxx.0000000003.vmdk, etc.. c'est pas très parlant !)


(et sinon non je ne faisais pas l'upgrade hard, les vmtools sont en 4 sur l'esx 3.5, et en 7 sur l'esxi 4.1, mais comme je n'arrive même pas à les allumer)
On fait le tour des utilisateurs pour savoir si on peut aplatir les vmdk (tu as des snapshots qui date de 2008..., bonjour les perfs), mais ce n'est pas toujours possible.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés