Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

vMotion zwischen verschiedenen CPUs - so wirds gemacht...

Hilfe bei Problemen mit Installation & Benutzung des VMware ESX/ESXi Server 3.

Moderatoren: Dayworker, irix

Member
Beiträge: 43
Registriert: 09.06.2006, 12:51

vMotion zwischen verschiedenen CPUs - so wirds gemacht...

Beitragvon bauers » 23.04.2007, 16:29

Hallo alle miteinander,
aus gegebenem Anlass will ich hier einen kleinen Beitrag verfassen, um euch viel Zeit zu ersparen.
Konkret hatte ich das Problem, dass ich vMotion zwischen einem Maxdata Platinum 3200 Server und einem HP DL 380 zum Laufen bekommen wollte. Das Problem: Der Maxdata hat zwei Intel Xeon 2,8GHZ und der HP zwei Intel 5130 2,0GHz Dualcore CPUs verbaut hat. Dass es bei dieser Konstellation zu Problemen kommen kann war mir durchaus bewusst. Wie es aber doch funktioniert zeige ich euch im Folgenden:

In jeder CPU sind die Features, die die CPU zur Verfügung stellt (z.B. SSE-Version, NX-Bit usw) in Form eines Hex-Wertes hinterlegt.
Virtual Center überprüft anhand dieses Hex-Codes, ob die CPUs zwischen denen vMotion erfolgen soll, die gleichen Features bieten.
Ist dies nicht der Fall können Fehlermeldungen wie:

unable to migrate from xyz to zyx:
The CPU of the host is incompatible with CPU feature requirements of virtual machine; problem detected at CPUID level 0x1 register 'eax'

VMware bietet nun die Möglichkeit auf VM-Basis die Features der CPUs zu maskieren. D.h. bestimmte Funktionen, die die ältere CPU nicht bietet werden für die VM einfach ausgeblendet und können somit auch nicht verwendet werden. Der Vorteil ist, dass vMotion funktioniert.
Die Bit-Maske kann in folgendem Menü bearbeitet werden:
Eigenschaften der VM -> Reiter Optionen -> erweitert

Zuerst muss man allerdings herausfinden wo sich die beiden CPUs unterscheiden.
Dazu muss der Host mit der von VMWare bereitgestellten bootcd (http://download3.vmware.com/software/vi ... bility.zip) gestartet werden.
Dort werden dann die CPUIDs angezeigt. Bei mir z.b.: "ID1ECX 0x0000641d", "ID1EDX 0xbfebfbff", usw...
Diese IDs müssen nun von beiden CPUs in binärcode umgerechnet werden, entweder per Hand oder per Windows-Rechner.
Anschließend muss verglichen werden, wo die IDs nicht übereinstimmen. Bits, die bei der neuen CPU auf "1" stehen und bei der alten auf "0" stehen müssen demnach für die VM auf "0" gesetzt werden, um die Funktion abzuschalten.
Wenn man nun die Bit-Maske errechnet hat kann man Sie in die VM übernehmen, zumindest fast. VMWare hat bereits seinerseits eine Bit-Maske erstellt, die bereits manche Bits für die VM ausblendet. Lässt man sich die Legende anzeigen wird schnell klar welche Bits dann effektiv noch geändert werden müssen.
In meinem Fall musste ich im Register "Ebene1 ecx" folgende Maske hinterlegen:
"---- ---- 0---- -0-- ---- --0- ---- ----"
Zusätzlich musste ich im Register "Ebene1 eax" noch folgende Maske angeben:
"---- ---- ---- ---- ---- 0--X ---- ----"
Diese konnte ich nicht ausrechnen, da das CPUID-Tool von VMWare keine Angaben dazu macht. Somit blieb mit nur nach dem Prinzip Try and Error zu arbeiten.

Seit ich diese Konfig. benutze funktioniert das vMotion einwandfrei und die VMs laufen fehlerlos.

Hier sind noch einige Links zu diesem Thema, die mir sehr geholfen haben das Thema zu verstehen:
Die Präsentation zum Thema auf der VM-Word 2006
http://download3.vmware.com/vmworld/2006/tac1356.pdf

Eine Detailierte Anleitung um die Bit-Maske zu errechnen
http://blog.scottlowe.org/2006/09/25/sn ... mitations/
http://blog.scottlowe.org/2006/11/23/vm ... atibility/

Eine Kompatibilitätsliste von Dell:
http://www.dell.com/downloads/global/so ... _matix.pdf

Das Pendant von HP
http://h18004.www1.hp.com/products/serv ... atrix.html

VMWare KB-Artikel
http://www.vmware.com/community/thread. ... 0&tstart=0
http://kb.vmware.com/selfservice/micros ... nalId=1377

Last but not least, die Diskussion im VMTN-Forum
http://www.vmware.com/community/thread. ... 91&#566391

Ich hoffe ich kann mit diesem Beitrag einigen von euch weiterhelfen.
Für weitere Erfahrungen und Diskussionen bin ich jederzeit offen.
Viel Spass beim Testen :grin:

Grüße

Sebastian

Benutzeravatar
Moderator
Beiträge: 3476
Registriert: 23.02.2005, 09:14
Wohnort: Burgberg im Allgäu
Kontaktdaten:

Beitragvon Tschoergez » 23.04.2007, 21:24

Hi!

:shock: Klasse!!!!!
Vielen Dank für den Beitrag, und für die Mühen, das so ausführlich zu beschreiben!

Ich kanns kaum erwarten, das auszuprobieren (hab nur leider immer homogene und VMotion-kompatible Umgebungen, drum wirds ne weile dauern)...

@Moderatoren: Ich finde, das ist ein Beitrag, den man gerne "nach oben pinnen" kann.

Viele Grüße,
Jörg

Member
Beiträge: 8
Registriert: 04.03.2008, 19:54

THX

Beitragvon TechoFreak » 31.03.2008, 17:14

Ober Geil hat mir Top weiter geholfen und richtig easy!!

PS: mit CPUz läst sich die CPUid auch ermitteln.


Vielen Dank


Zurück zu „ESX 3 & ESXi 3“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste