Zeitprobleme bei VmWare
Linux unter VmWare hat des Öfteren Probleme mit der asynchroner Zeit. Es gibt hier 2 Verhalten
* zu langsam
* zu schnell
Der Grund dafür liegt in unterschiedlichen Interrupt Timer zwischen Gast und Wirt. Da der Linux Kernel durch die Interrupts die Zeit “generiert”, werden durch schnellere Interrupt Timer des Wirtsystems diskrepanzen verursacht.
Dabei gibt es unterschiedliche Einstellungen für jedes System:
Windows: 1000 HZ
Linux 2.4: 100 HZ
Linux 2.6: 100 HZ / 250 HZ / 1000 HZ
Das Ganze wird weiterhin durch SMP “verschärft”, da hier normale Interrupts als auch APIC Interrupts erfolgen. Daher gibt es Mal soviel Timer Interrupts wie bei normalen Systemen:
bei 2 Cores und 1000 HZ 3000 clock interrupts pro Sekunde.
Workaround: Zeit zu schnell
Der Grund für die zu schnelle Uhr ist der “overcorrection for lost ticks” Bug des Kernels. Dieser ist in 2.6.18 fixed. Daher:
* Upgrade auf kernel 2.6.18
* Anleitung auf kb.vmware.de “Preventing the Clock from Running Too Quickly”
Workaround: Zeit zu langsam
Der Grund für die zu schnelle Uhr ist ein zu schneller interrupt Timer auf dem Wirt und ein zu langsamer auf dem Guest. Daher:
* Interrupt Timer angleichen
* Kernel auf Guest mit “nosmp noapic nolapic” starten ( gefährlich )
* Kernel mit clock=pit starten
Weiteres Material:
http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1420
http://blog.scottlowe.org/2005/12/23/centos-ntpd-problem-mostly-resolved/
http://kbase.redhat.com/faq/FAQ_43_9259.shtm