Wer einen Xen-virtualisierten betreibt staunt manchmal nicht schlecht, wie langsam die -Uhr geht. Am Anfang sind es wenige Sekunden. Irgendwann ist es schon eine Minute…

Es gibt Software, die dies beheben könnte, aber sie scheint nicht zu funktionieren. Egal wie oft man versucht, die Zeit neu einzustellen – es geht nicht.

Die Ursache liegt darin, dass Xen versucht, die System-Zeit der Hardware zu nutzen (genauer gesagt, den Sysclock des Wirtes). Diese kann man natürlich aus dem Xen-Gast heraus nicht setzen. Doch es gibt einen anderen Weg: Man schaltet im Xen einen eigenen Sysclock ein. Das geht mit root-Rechten sehr schnell:

echo 1 > /proc/sys/xen/independent_wallclock

Danach ist ein Zeitabgleich von dauer – der Sysclock des Xen-Systems lässt sich setzen. ZB mit:

/usr/sbin/ntpdate europe.pool.ntp.org

Damit man die Übung nicht immer per Hand exerzieren muss, schafft man eine neue Datei an und gibt Folgendes ein:

#!/bin/bash
echo 1 > /proc/sys/xen/independent_wallclock
/usr/sbin/ntpdate europe.pool.ntp.org

Speichern + chmod 700 macht es zu einem Pseudo-Programm. Jetzt nur noch den vollen Pfad zu dieser Datei im crontab eintragen (oder unter Debian/Ubunut die Datei in /etc/cron.daily/ ablegen). Und schon kümmert sich der Server selber um seine Zeit-Updates.