เคยแก้ปัญหาให้กับลูกค้าบน ESX 3.0.2 แต่คิดว่าน่าจะเหมือนกับ ESX 3.5 ส่วนใหญ่เป็นเพราะ Hardware ที่ลง ESX ซื้อมาไม่พร้อมกัน และทำให้ CPU ต่าง Series กัน
ข้อมูลด้านล่างนี้เป็นประสบการณ์ที่เคยไปทำมา อาจจะเหมือนหรือต่างกับคนอื่นก็ได้ค่ะ โดยการแก้ไขค่าที่ VC แทนการแก้ไขที่ ESX ทุกตัวค่ะ
1. ตรวจสอบ CPU mask โดยใช้คำสั่ง cat /proc/vmware/cpuinfo (ดูตัวอย่างจากไฟล์ที่แนบค่ะ)
2. คำนวณเฉพาะค่า ecxfeat จากเลขฐาน 16 เป็นเลขฐาน 2 ตัวอย่างเช่น
ESX01 0x040ce3bd = 100000011001110001110111101
ESX02 0x000ce3bd = 11001110001110111101
ESX03 0x0004e3bd = 1001110001110111101
3. เติมเลข 0 ด้านหน้าเลขฐาน 2 ให้ครบ 32 digits และแบ่งตัวเลขเป็นกลุ่มละ 4 ดังนี้
ESX01 0000 0100 0000 1100 1110 0011 1011 1101
ESX02 0000 0000 0000 1100 1110 0011 1011 1101
ESX03 0000 0000 0000 0100 1110 0011 1011 1101
4. ให้คลิกขวาที่ VM เลือก Edit Settings ไปที่ Options Tab > Advanced > Advanced Button.
5. พอดีว่าตอน VMotion แล้วมัน error เกี่ยวกับ CPUID level 0x1 register 'ecx'
ก็เลยต้องหาค่า Guest OS Default mask ของ Level 1 ecx. มันคือค่า RRRR RRRR RRRR RRR0 00XR R0H0 000H 0RRH
คำอธิบาย
R and H bits are the most important for VMotion
0 and X could be ignored
ดังนั้นวิธีการแก้ไขให้ตรวจสอบตัวเลขใน column ของ R และ H ถ้ามันต่างกันให้แก้ไข bit เป็น 0.
ESX01 0000 0
100 0000
1100 1110 0011 1011 1101
ESX02 0000 0
000 0000
1100 1110 0011 1011 1101
ESX03 0000 0
000 0000
0100 1110 0011 1011 1101
RRRR RRRR RRRR
RRR0 00XR R0H0 000H 0RRH
---- -0-- ---- 0--- ---- ---- ---- ----
6. ไปที่เครื่อง VC แล้วหาไฟล์ vpxd.cfg ซึ่งโดยปกติจะอยู่ที่ C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter
7. นำค่าที่ได้ไปใส่ไว้ในไฟล์ vpxd.cfg (ดูตัวอย่างได้จากไฟล์ที่แนบ)
<config>
<vpxd>
<guestOSDescriptor>
<esx-3-x-x>
<all-versions>
<all-guests>
<cpuFeatureMask>
<default-vendor>
<level-1>
<ecx>----:-0--:----:0---:----:----:----:----</ecx>
</level-1>
</default-vendor>
</cpuFeatureMask>
</all-guests>
</all-versions>
</esx-3-x-x>
</guestOSDescriptor>
...
</vpxd>
</config>
8. Restart service ของ VirtualCenter Server เพื่อ enable the new masking.
9. ตรวจสอบทุก VM จะต้องใช้ default CPU masks.
ข้อมูลเพิ่มเติมค่ะ
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1993http://www.vmware.com/files/pdf/vmotion_info_guide.pdfhttp://blog.scottlowe.org/2006/11/23/vmotion-compatibility/