alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von pangu » 15.08.2012 17:27:03

Hi all,

ich würde gerne folgendes erzielen:

Blade-Center Chassis (also genau gesagt das Management-Modul) ist so konfiguriert, dass es seine Zeit von meinem NTP-Server holt (meine IPFire). Somit ist die Bladechassis mit aktueller Zeit versorgt. Nun möchte ich die einzelnen Blades (auf denen jeweils Xenserver) beibringen, dass sie diese Zeit ihrer übergeordneten Objektes nutzen (also dem Bladecenter). Die einzelnen VMs sollen schließlich die Zeit ihres jeweiligen Xenservers erhalten. Also die Wege sehen so aus:

IPFire fungiert als Zeitserver und lauscht auf UDP 123
/ \
|
|
Bladechassis / ManagementModul holt sich die Zeit vom IPFire
/ \
|
|
auf den einzelnen Blades läuft Xenserver. Die jeweils sollen ihre Zeit vom BladeChassis holen
/ \
|
|
die einzelnen VMs sollen ihre Zeit von ihrem zugehörigen VM-Host (Xenserver) beziehen

Bisher dachte ich, dass ich in der /etc/ntp.conf folgende Zeilen hierfür verwenden kann:

Code: Alles auswählen

##
## Undisciplined Local Clock. This is a fake driver intended for backup
## and when no outside source of synchronized time is available.
##
server 127.127.1.0 # local clock (LCL)
fudge  127.127.1.0 stratum 10   # LCL is unsynchronized
Wenn ich jedoch in der ntp.conf keine Zeile beginnend mit "server 1.2.3.4" verwende, dann startet der NTP-Dienst gar nicht und /etc/init.d/ntp status sagt mir unused.

Wie also muss ich den NTP-Dienst konfigurieren, dass er nicht eine IP-Adresse abfrägt, sondern sein System in dem es liegt? mit hwclock --show konnte ich auch nicht anfangen, da kommt entweder leerer Prompt als Ergebnis, oder eben der Hinweise dass die Zeit nicht ausgelesen werden konnte, da der Sensor nicht angesprochen wurde.

Und komischerweise habe ich eine SLES11-VM die ebenfalls das Paket NTP installiert hat (nicht XNTP!) und dort funktioniert es wohl?? . Gebe ich /etc/init.d/ntp status an, spuckt er mir sogar eine Liste aus so wie man es vom Befehl "ntpq -p" her kennt. In dieser Liste sehe ich dann:
sles11test:~ # /etc/init.d/ntp status
remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) .LOCL. 10 l 7 64 1 0.000 0.000 0.001
ns1.testdomain .INIT. 16 u - 64 0 0.000 0.000 0.001
ns2.testdomain 192.168.0.2 12 u 2 64 1 0.369 0.435 0.001

Checking for network time protocol daemon (NTPD): running
sles11test:~ #
Der hat wohl als erste Quelle lokal das System genutzt? Und dann sogar die zwei DNS-Server, womöglich von der resolv.conf ausgelesen? Aber trotzallem müsste ich mich doch erstmal auf die hwclock konzentrieren, oder nicht? Ich würde gerne die hwclocks alle synchron haben, also <BladeChassis----BladeServer----VMs> sollten alle identische hwclocks haben. Wer kann hier helfen, wie ich dieses Ziel erreiche?
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von rendegast » 15.08.2012 20:05:48

server 127.127.1.0
Eine Adresse mit 0???

Ohne ntp soll ein Abgleich möglich sein, siehe zBsp. http://blog.blackslash.de/archives/7-XE ... en-ab.html
Dazu in der jeweiligen domU.cfg einen Eintrag machen:
extra = "independent_wallclock=1"
resp.
extra = "independent_wallclock=0"
Zuletzt geändert von rendegast am 15.08.2012 20:10:00, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von pangu » 15.08.2012 20:06:57

Steht standardmäßig in der ntp.conf, stammt nicht von mir :) ist so 'ne Art Fake falls kein externer Server als Quelle genutzt werden kann. Deswegen frage ich ja, wie genau das und in welchem Zusammenhang mit hwclock das funktioniert.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von rendegast » 15.08.2012 20:11:39

Okay, "127.127.1.0" scheint eine Spezialität des ntp für eine lokale Uhrzeit zu sein.
Weitere Server einfach unter der fudge-Zeile anfügen.

Falls doch mit ntp,
erstmal herausfinden, was von der VM aus die Adresse des gewünschten Zeitservers ist
(in diesem Fall die des Hosts).

Ich kenne die Fähigkeiten von xen nicht,
vielleicht kann es den Host-Zeitserver in die vlans zu den Maschinen mappen?



Im Nachhinein,
der Zeitabgleich mit dem Host ist vielleicht gar keine so gute Idee.
Über die xen-Option würden zwar die ntpclient-Dienste in den VM eingespart,
Geplante Zeitspielereien auf dem Host bringen aber wohl die Dienste der laufenden VM ins Stottern.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von pangu » 15.08.2012 22:28:49

Momentan hab ich wirklich auf jeder einzelnen VM (und ich hab wirklich verdammt viele) mühselig den NTP Dienst konfiguriert und als Server meinen im LAN befindlichen Zeitserver mitgegeben. Ich würde so einen enorm hohen Administrationsaufwand in Zukunft vermeiden, und deshalb meine Idee mit dem Host.

Wenn das klappen würde, müsste ich nämlich nur noch sorgen, dass mein BladeCenter, also die Chassis mit den zwei Netzwerkmanagement-Modulen die aktuelle Internetzeit haben. Schwupps hätten alle einzelnen Blades und falls darunter noch VMs laufen (wie in meinem Falle) alle dieselbe Uhrzeit. Es gibt ja auch adjtimex im Xenserver, also ich muss ja nichtmal auf die harte Tour hwclock setzen und so 'n Kram. Aber dazu wollte ich es nie kommen lassen, denn die hwclock ist mir doch 'eigentlich' egal. Die setze ich einmal anhand meiner Systemzeit und gut ist.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von rendegast » 16.08.2012 02:45:39

Momentan hab ich wirklich auf jeder einzelnen VM (und ich hab wirklich verdammt viele) mühselig den NTP Dienst konfiguriert
clusterssh o.ä.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von pangu » 16.08.2012 07:49:43

Das würde sicherlich den Aufwand minimieren, aber eine 'saubere' Lösung ist das immer noch nicht in meinen Augen. Korrigiert mich falls ich falsch liege
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

delaytime0
Beiträge: 207
Registriert: 07.06.2012 10:23:04

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von delaytime0 » 16.08.2012 08:58:36

Am saubersten wäre wahrscheinlich, gar kein ntp auf den VMs zu haben. Sprich "independant_wallclock=0".
Der Xen-Host fungiert ja outofthebox für alle VMs als Hardwareuhr.

Um nun allen VMs die gleiche Zeit zu verpassen muss also der Host seine per NTPd bekommene Zeit via "hwclock --systohc" ins BIOS prügeln und die VMs sich die Zeit via hwclock --hctosys abholen.
Das könntest du mit einem script im cron.daily sogar ständig erneuern lassen, falls die VMs wider erwarten die Zeit nicht von allein abholen.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von pangu » 16.08.2012 09:44:28

das wäre genau das was ich eigentlich gerne hätte. Leider hatte die VMs nicht alle dieselbe Uhrzeit, warum auch immer. Deswegen bin ich erstmal den mühsamen Weg über NTP gegangen was aber IMHO nicht so ganz sauber und Sinn der Sache ist. Was genau meintest du mit "independant_wallclock=0" ? Ich kanns zwar ins Deutsche übersetzen, aber was genau ist das? Eine Direktive in der ntp.conf oder wo wird diese Zeile verwendet?

Wenn ich aber in jeder einzelnen VM einen crontab einrichten müsste, dann kann ich mir den ganzen Umweg über die hwclock doch sparen und gleich den NTP verwenden, oder nicht? In den manuals von hwclock und auch in diversen Seiten im Internet wird sowieso oft darüber gesprochen, dass man mit der LINUX SYSTEM TIME arbeiten sollte und das diese auch die ausschlaggebende ist. Die Hwclock dient nur dazu, falls der Rechner mal aus ist und die Zeit zwischengespeichert wird, sonst sollte mit der hwclock nicht gearbeitet werden.

Ausserdem können die VMs unterhalb des Xenservers mit "hwclock --show" oder "hwclock -s" usw... gar nicht umgehen, weil ich ständig als Fehlermeldung zurückbekomme:
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von rendegast » 16.08.2012 11:45:42

Versuche es mit der Methode '--directisa'.
Aber wie du einwirfst, das dürfte nicht die rtc des Hosts sein, sondern eine xen-Emulation.

xen-FAQ:
2.4. How to set the virtual guest clock?

By default, the clocks in a Linux VM are synchronized to the clock running on the control domain, and cannot be independently changed
(Any attempts to set or modify the time in a guest will fail).
This mode is a convenient default, since only the control domain needs to be running the NTP service to keep accurate time across all VMs
Paravirtualized guests may also perform their own system clock management:

Add the following lines to /etc/sysctl.conf, and reboot the system:
# Set independent wall clock time
xen.independent_wallclock = 1
...
Note
This setting does not apply to hardware virtualized guests.
Wenn also die VM unsynchronisiert sind, so ist bei denen xen.independent_wallclock wohl aktiviert worden.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von pangu » 16.08.2012 13:14:43

--directisa zeigte auch keine Wirkung. Rendegast, der Text hat mir zum Verständnis geholfen. Danke! Das erklärt mir nun, warum ich bei manchen VMs trotzdem hwclock nutzen konnte, weil sie eben paravirtualisiert sind. Vielen Dank für diesen Text (wo hast du den her? Ich hatte gegoogelt und auch auf Citrix Supportforen gesucht, leider nix finden können). Ah hier zum Bleistift --> http://zhigang.org/files/docbook/xen-fa ... uest_clock
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

delaytime0
Beiträge: 207
Registriert: 07.06.2012 10:23:04

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von delaytime0 » 16.08.2012 14:36:05

Dass unter Xen die DomUs ihre Zeit immer wieder nicht richtig stellen (ob mit oder ohne hwclock) ist ja weitreichend bekannt.
Daher auch mein Tippp mit dem täglichen cron.

Ich persönlich lasse alle Container(LXC, OpenVZ) ohne eigenen NTP laufen und gebe nur HW-VMs nen (lokalen) NTP-Server mit.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: alle Xen-VMs sollten Zeit vom Xen-Host nutzen

Beitrag von pangu » 16.08.2012 16:52:57

in meinem Fall scheint's korrekt zu laufen, es waren lediglich die PV VMs, die aus der Reihe tanzten :) Danke euch Allen.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Antworten