[RESOLU] Configuration des vCPU sur ESXi - vSphere Client

Configuration des vCPU sur ESXi - vSphere Client [RESOLU] - Processeur - Hardware

Marsh Posté le 19-01-2018 à 21:36:38    

Bonjour à tous,
 
J'ai monté il y a à peu près 1 an un lab sur un HP Microserver Gen8.
J'ai monté une plateforme ESXi, accessible via vSphere client.
 
Le serveur est basé sur un processeur Intel Xeon E3 1220 v2.
 
Malgré plusieurs recherches, y compris sur le site officiel de VMware, je me perds un peu dans tous les termes relatifs à la gestion des processeur : Coeur, socket, thread, etc.
 
Concrètement, avec le processeur que j'ai, combien de vCPU puis-je allouer à l'ensemble de mes machines (en partant du principe, même faux, qu'elles tourneront toutes au maximum en même temps) ?
A partir de combien de vCPU serai-je en overcommitment ?
 
Je pose la question car je souhaiterais limiter l'overcommitment à 1 pour 3 (voire 1 pour 2) afin d'éviter un crash brutal...
Je serais tenté de dire que mon processeur a une capacité de 4 vCPU mais avec ces notions de socket, thread et coeurs, je ne suis pas sûr du tout...
 
J'ajoute une petite capture d'écran de l'onglet "Résumé" de mon serveur afin que vous puissiez y voir plus clair.
https://rtvyqw-db3pap001.files.1drv.com/y4mk4AzEHn8lTn-UO52sJQnRgdbPBQMGfAsdOyyATdMKFvOyioe6z4Q08xe4Q2hGm5xSKp9FG9ivCzhmNDZqI_Eq8EmWnn0IxMAh2hTTpQEs2UKhNVN2WEZVVqwGae-etMZBqlFnYcnCryWG6ylXqA5Uqnrw42aYY1oMjZk--9jSRGKoT-XWJEE8Z5VSyUGExg2iXU0M8I9YF9tEPBfmVjeWA?width=1563&height=1045&cropmode=none
 
Merci beaucoup pour vos lumières !


Message édité par jeremy_azerty le 20-01-2018 à 10:41:55
Reply

Marsh Posté le 19-01-2018 à 21:36:38   

Reply

Marsh Posté le 20-01-2018 à 06:26:05    

Quand tu crée une VM tu choisi le nombre de sockets/cœurs/Thread de ta plate forme INDEPENDAMENT de ta plate forme physique.
Par exemple ton Xeon E3 1220 v2 a les caractéristique physiques suivantes :
1 Socket
4 cœurs
4 threads (pas d'hyperthreading)
 
Rien n'empêcherait dessus de créé une VM avec 2 sockets/4 cœurs/8 threads qui donnerais --> 16 vCPU.
 
L'important sous VMware c'est d'affecter UNIQUEMENT suivant le besoin de ta VM et donc des applications tournant dessus.
Et de rester dans la limite de ta mémoire physique
 
J'ai trouvé plusieurs règles de bonne pratique pour le rapport vCPU/pCPU.
Une qui évoque 4/1 pour OS serveur et 6/1 pour des ordi de bureau.
Une autre que à 3/1 il n'y aura aucun problème et que monter jusqu'à 5/1 est envisageable mais peut être contre productif.
 
 
Bref en partant de 4/1 avec ton CPU physique c'est 16 vCPU qui pourrait être gérés sans problème.
 
En exemple tu pourrais créer 4 VMs 1socket/4coeurs/4threads tournant en même temps.
Le tournant en même temps est important car les VM ne tournant pas tu t'en fout totalement

Reply

Marsh Posté le 20-01-2018 à 09:31:48    

Merci beaucoup pour ton retour !
 
Je ne comprends pas une chose sur le nombre de vCPU par processeur.
 
Tu dis au début que 2 sockets, 4 coeurs, 8 threads correspondent à 16 vCPU (2x4+8 si je comprends bien).
Tu dis que mon processeur a : 1 socket,  4 coeurs, 4 threads, ce qui correspondrait à 8 vCPU. Tu confirmes ?
Aors pourquoi tu dis qu'avec 16vCPU, j'aurais un facteur de 4/1 ? Ce ne serait pas plutôt 2/1?
 
Merci encore !

Reply

Marsh Posté le 20-01-2018 à 09:47:26    

Euh non
en fait c'est plutôt
2x4x2 pour 2(Socket)x4(Cœurs)x2(pour hyperthreading actif)
le nombre de thread par CPU étant en fait le nombre de cœurs x 2 pour l'hyperthreading actif OU 1 si il est inactif
 
 
Donc ton proco physique c'est 1x4x1 soit 4 threads
En effet si tu regarde ICI c'est clairement marqué 4 coeurs 4 threads et si tu regarde un peu plus bas Technologie Intel® Hyper-Threading  : NON
 
 
DONC avec 16vCPU tu aura un rapport de 16/4 soit 4/1  ... CQFD
Maintenant comme je disais, tu peux créer 40 machines virtuelles sans problème pour peu de NE PAS EN LANCER plus de 16vCPU en même temps NI la limite de mémoire Physique de ton hôte (Quoique c'est possible mais attends toi à des ralentissements)
 
 
Prenons un exemple :
Tu as un serveur à 2 sockets avec 2 CPU 4 cœurs qui gèrent l'hyperthreading:
 
tu aura donc
2x4x2 soit 16 threads REELLE.
 
 
Alors comment déterminer les socket/cœurs/HT à attribuer à ta machine virtuelle ?
 
Déjà voir l'utilisation que tu veux en faire. sachant que le 2 sockets est dans des cas très spécifiques et de toutes façons n'est vraiment utiles que sur des grosses infra hôte.
donc on part sur 1 socket.
Ensuite le nombre de cœurs : part sur 2. Essais plus sur certaines machines avec des appli critiques que tu lance de manière individuelles.
Pour l'hyperthreading ne le prends pas.
 
 


Message édité par charognard37 le 20-01-2018 à 10:13:43
Reply

Marsh Posté le 20-01-2018 à 10:29:37    

Merci beaucoup, c'est très clair !
 
Comment puis-je clore le sujet sur le forum ?

Reply

Marsh Posté le 20-01-2018 à 10:31:11    

Edite ton premier message puis
Dans le titre [RESOLU]


Message édité par charognard37 le 20-01-2018 à 10:42:28
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed