ρύθμιση ntp για update ώρας μηχανήματος;

Alexandros Kosiaris alex at noc.ntua.gr
Sun Oct 14 13:01:02 EEST 2007


Giorgos Pallas wrote:
> Antonis Christofides wrote:
>> On Saturday 13 October 2007 20:38:21 Giorgos Pallas wrote:
>>   
>>> Έψαξα αλλά απέτυχα: το documentation του ntp είναι αρκετά αποκρυφιστικό
>>> για τα μέτρα μου για να βγάλω άκρη με το εξής απλό: κάθε πότε θα
>>> ρυθμίζει την ώρα του μηχανήματός μου...
>>>
>>> Έχω ένα VM (σε VMWare) του οποίου το ρολόι μένει πίσω περίπου κανένα
>>> 20λεπτο/ώρα. Όχι άσχημα ε; Από ό,τι διάβασα είναι γενικό και μη
>>> αντιμετωπίσιμο στη ρίζα του πρόβλημα. Οπότε στην ιδανική περίπτωση θα
>>> ήθελα να κάνω το ntp να γκαζώνει (με slew δηλαδή) το ρολόι ώστε να
>>> δείχνει σωστή ώρα, ή εναλλακτικά, να το διορθώνει κάθε, ας πούμε, 2
>>> λεπτά. Γίνεται;
>>>     
>> 1) Τι διανομή έχεις;
>> 2) Το μηχάνημα είναι συνέχεια στο δίκτυο;
>>
>> Αν η απάντηση στο (2) είναι ναι τότε σε Ubuntu δεξί κλικ στο ρολόι,
>> Adjust Date & Time, και στο Configuration επιλέγεις Keep synchronized
>> with Internet servers. Σε Debian, aptitude install ntp. Δεν νομίζω ότι
>> χρειάζεται κάτι άλλο.
>>   
> 
> 1)debian lenny (testing)
> 2) ναι
> 
> Το μηχάνημα έχει ήδη εγκατεστημένο ntp. To  πρόβλημα όπως το βλέπω είναι
> ότι με το που ξεκινάει ο ntp daemon (/etc/init.d/ntp {re}start), μου λεει:
> 
> Oct 14 00:00:10 smf-deb ntpd[6653]: kernel time sync status 0040
> Oct 14 00:00:10 smf-deb ntpd[6653]: frequency initialized -500.000 PPM
> from /var/lib/ntp/ntp.drift
> Oct 13 20:32:23 smf-deb ntpd[6653]: synchronized to 155.207.113.227,
> stratum 3
> Oct 13 20:32:23 smf-deb ntpd[6653]: time reset -12480.330449 s
> Oct 13 20:32:23 smf-deb ntpd[6653]: kernel time sync status change 0001
> 
> Διορθώνει το ρολόι δηλαδή. Μετά όμως απο λίγη ώρα, και ενώ συνεχίζει να
> τρέχει ο δαίμονας, ενώ είναι 21:32, το ρολόι δείχνει
> smf-deb:/var/log# date
> Sat Oct 13 21:58:50 EEST 2007
> 
> (τελικά το ρολόι δεν πάει πίσω, μπρος πάει)
> 
> Έχει περάσει δηλαδή τόση ώρα και το ntp δεν έχει ξαναδιορθώσει την ώρα,
> και ούτε έχω ιδέα πότε θα την ξαναδιορθώσει. Εδώ είναι και το ερώτημά
> μου: που ρυθμίζω κάθε πότε θα διορθώνει την ώρα;
> 
> Σχετικά με το ntpdate που πήρα απάντηση, επειδή έχω διαβάσει ότι το
> ntpdate παει προς κατάργηση, προτιμούσα τo ntp. Aν τελικά δεν βγάλω άκρη
> όμως, μάλλον θα ξανακαταφύγω στο ntpdate...
> 
> G.
> 
> 
> ------------------------------------------------------------------------
> 
> 

Καλημέρα,

Το πρόβλημα είναι το vmware και δυστυχώς δεν επιλύεται σοβαρά με το ntp.
Προσωπικώς επειδή βαριέμαι να ασχολούμαι και κυρίως επειδή δεν έχω
κανένα production μηχάνημα σε Vmware κάνω ένα ntpdate κάθε μισή ώρα.
Από την άλλη ανάλογα το load έχω παρατηρήσει να χάνει μέχρι και  2 λεπτά
στα 3.

Παρακάτω παραθέτω τα συμπεράσματα που είχε ποστάρει στην λίστα ο Νίκος
Δήμου πριν καιρό όταν ξαναείχαμε αυτή την συζήτηση:


>for reference:
> - ναι είναι γνωστό πρόβλημα εδώ και κάμποσο καιρό και είναι
>εντονότερο σε kernels που τρέχουν το timer interrupt στα 1000Hz (1000
>interupts / sec) ή σε kernels που τρέχουν σε πολλαπλούς επεξεργαστές
>με smp (γιατί και το σύστημα σαν σύνολο και κάθε cpu ξεχωριστά ζητά να
>δημιουργηθούν timer interrupts για πάρτη της οπότε με 2 cpu έχουμε τα
>τριπλάσια interrupts/sec από ότι με μία)
> - οφείλεται στο γεγονός πως ο guest ζητά Ν timer interrupts σε κάθε
>δευτερόλεπτο τα οποία το virtual machine πρέπει να εξομοιώσει. Όταν
>ζητά πολλά, είτε ο host δεν μπορεί να τα παράγει είτε o guest δεν
>προλαβαίνει να εκτελέσει το επόμενο γιατί ακόμα εκτελεί το
>προηγούμενο. Σημείωση ο host δεν μπορεί να παράγει περισσότερα virtual
>Tim.Ints. από όσα real tim.ints. έχει αξιώσει απο το real HW να του
>στέλνει.
> - δεν συνίσταται (και συχνά δεν έχει νόημα) να προσπαθήσεις να λύσεις
>το πρόβλημα του λάθος ρολογιού με ntpd, ntpdate και τα σχετικά. Πρέπει
>να βασιστείς στα vmware-tools και μια σχετική option στο vmx αρχείο
>για να συγχρονίζετε ο guest από τον host στον οποίο host αν θες
>τρέχεις ntpd ή ότι άλλο είναι πρέπον. Ακόμα και αυτό όμως μπορεί να
>μην παίξει αν έχεις μεγάλη διαφορά

>για όλα τα παραπάνω βλ. >http://www.vmware.com/pdf/vmware_timekeeping.pdf

>επίσης από όσα κατάλαβα:
> - ως host τα windows XP/200X παίζουν στα 1000Hz χωρίς να κάνεις κάτι
>(φροντίζει το vmware)
> - kernel 2.4 παίζουν κατά κανόνα στα 100Hz αλλά υπάρχουν patched 2.4
>kernels που παίζουν παραπάνω
> - kernel 2.6 παίζουν by default στα 1000Hz αλλά έχουν σχετικό option
>στο *source *

>στην περίπτωση μου έχω vmware σε host windows 2003 server 2 X Xeon 2.8G
>ο guest είναι debian sarge με 2.6.8 (αν θημάμαι σωστά) και το πρόβλημα
>είναι τόσο έντονο που τα vmware-tools δεν μπορούν να κρατήσουν το
>ρολόι συγχρονισμένο

>συνεπώς θα χρειαστεί kernel recompilation για να κατέβω στα 100Ηz

Κατά συνέπεια, δοκιμάζεις αρχικά με vmware-tools που είναι η πρώτη και
εύκολη λύση αφού διαβάσεις λιγάκι το παραπάνω pdf και στην χειρότερη πας
για kernel recompilation.

Σημείωση: Το πρόβλημα εμφανίζεται και σε άλλα λειτουργικά που έχουν
υψηλό timer interrupt (px FreeBSD στις εκδόσεις 6.χ αλλά όχι στις
εκδόσεις 5.χ, και πρόκειται να διορθωθεί στις 7.χ)




More information about the Linux-greek-users mailing list