• Welcome to Advance DreamBox Forum. Please login or sign up.
 

CPU compatibiliteit binnen XenServer

Started by arjanhs, November 24, 2010, 07:20:31 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arjanhs

Net als bij VMware en bij Hyper-V moet ook XenServer rekening houden met de CPU-compatibiliteit op het moment van een live migration. Dit is nu eenmaal inherent aan de verschillen die in de loop der tijd tussen de generaties van CPU-modellen ontstaan. Een applicatie kan immers ten gevolge van live migration  tussen willekeurig opeenvolgende CPU-instructies overgezet worden van de ene naar de andere server. Als die andere server dan niet exact dezelfde features ondersteunt zal zo'n applicatie minstens vreemd gedrag vertonen en waarschijnlijk crashen. En datzelfde geldt ook voor het operating systeem zelf.



Overigens houdt dit niet automatisch  in dat zo'n applicatie niet probleemloos op zowel de ene als de andere server (en dus CPU) kan draaien. Zowel operating systemen als applicaties kunnen namelijk bij het opstarten de features van de onderliggende CPU opvragen en daar dan gedurende de rest van de executie rekening mee houden. Je kunt echter moeilijk verwachten dat ze dat tussen elke instructie opnieuw opvragen, vandaar dat de features vanaf start tot terminatie gelijk dienen te blijven.

XenServer 5.6 onderkent vier gevallen van CPU-incompatibiliteit als je servers toevoegt aan een bestaande pool van servers:

   1. Toevoegen van een CPU met meer features aan een pool van CPU's met minder features.
   2. Toevoegen van een CPU met minder features aan een pool van CPU's met meer features.
   3. Toevoegen van van een CPU met zowel meer als minder features ten opzichte van de bestaande pool van CPU's.
   4. Toevoegen van een ander CPU-model een een bestaande pool van CPU-modellen, echter wel met dezelfde features.

In de gevallen 1 t/m 3 is bestaat de oplossing uit het "maskeren" van de extra features; vandaar de term CPU-masking. Bij 1 maskeer je de nieuwe CPU, bij 2 de oude CPU's en bij 3 alle CPU's. Let op: je houdt dus altijd een pool van CPU's over met de kleinste set van features; alle extra features worden weg-gemaskeerd en dus niet gebruikt. Bij 4 hoef je niets te maskeren.

Denk overigens niet meteen dat een nieuwe CPU altijd wel meer features zal hebben dan een oudere. Het komt ook voor dat nieuwe CPU's bepaalde oude features niet langer ondersteunen.

Citrix heeft de problematiek rond CPU-masking van XenServer 5.6 beschreven in een Knowledge Base artikel.