Saya mencoba mengatur NTP di jaringan lokal yang tidak memiliki (dan tidak akan pernah) koneksi internet. Prioritas utama adalah bahwa mesin-mesin di jaringan disinkronkan satu sama lain, bahkan jika waktu mereka disinkronkan tidak 100% akurat.
Kami juga memiliki persyaratan untuk menggunakan hierarki NTP untuk mereplikasi pengaturan sistem yang digunakan. Yang ingin saya lakukan adalah memiliki hierarki mesin seperti ini:
Moon (Main Server running Windows) (10.1.3.10)
|____Earth (Linux x64 client) (10.1.3.1)
|____Mars (Linux x64 client) (10.1.3.2)
|____Saturn (Linux x64 client) (10.1.3.3)
|____RackCard23 (Linux x64 client and server to the two machines below) (10.1.3.23)
|___RackCard21 (Linux x64 client) (10.1.4.21)
|___RackCard22 (Linux x64 client) (10.1.4.22)
Perhatikan bahwa RackCards memiliki dua port ethernet, satu terhubung ke jaringan 10.1.3.x dan satu di jaringan 10.1.4.x. RackCard23, yang menyinkronkan dari server master Moon akan melakukannya pada jaringan 10.1.3.x dan RackCard22 / 23 akan terhubung ke RackCard23 pada jaringan 10.1.4.x. Ini karena saya tidak ingin RackCards22 / 23 meninggalkan jaringan mereka untuk menyinkronkan waktu dan karena itu mereplikasi sistem yang digunakan terakhir.
Sejauh ini saya telah berhasil mendapatkan semua yang seharusnya dengan menyinkronkan Moon untuk menyinkronkan dengan benar (termasuk RackCard23).
Tetapi saya mengalami kesulitan mendapatkan RackCard22 dan 23 untuk melakukan sinkronisasi dari RackCard23.
[root@RackCard23]# cat /etc/ntp.conf
# NTP Deamon Configuration File "ntp.conf"
# Created on 27/04/2010
# Original backed-up as "ntp.conf.backup"
server 10.1.3.10 iburst minpoll 4 maxpoll 4 prefer #This is what we want to happen
fudge 127.127.1.0 stratum 2 #Not sure about these two lines, was trying to force it to be a stratum 2 server
fudge 127.127.0.1 stratum 2
# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift
restrict 10.1.3.10 mask 255.255.255.255 nomodify notrap noquery
#Attempt to get to act as an NTP Server
broadcast 10.1.4.255
restrict 10.1.3.21 mask 255.255.255.255 nomodify notrap
restrict 10.1.4.21 mask 255.255.255.255 nomodify notrap
Ini adalah output dari ntptrace:
[rootRackCard23]# /usr/sbin/ntptrace
localhost.localdomain: stratum 16, offset 0.000000, synch distance 0.000030
Seperti yang Anda lihat mesin melaporkan dirinya sebagai server strata 16, meskipun telah disinkronkan ke server "strata 1" (Bulan):
[root@RackCard23 awd]# /usr/sbin/ntpdate -d 10.1.3.10
21 Jun 13:55:09 ntpdate[19410]: ntpdate [email protected] Tue May 19 13:57:56 UTC 2009 (1)
Looking for host 10.1.3.10 and service ntp
host found : 10.1.3.10
transmit(10.1.3.10)
receive(10.1.3.10)
transmit(10.1.3.10)
receive(10.1.3.10)
transmit(10.1.3.10)
receive(10.1.3.10)
transmit(10.1.3.10)
receive(10.1.3.10)
transmit(10.1.3.10)
server 10.1.3.10, port 123
stratum 1, precision -6, leap 00, trust 000
refid [LOCL], delay 0.04135, dispersion 0.00383
transmitted 4, in filter 4
reference time: cfc99402.e010624d Mon, Jun 21 2010 8:32:18.875
originate timestamp: cfc9dfad.48000000 Mon, Jun 21 2010 13:55:09.281
transmit timestamp: cfc9dfad.47e27179 Mon, Jun 21 2010 13:55:09.280
filter delay: 0.04155 0.04155 0.04137 0.04135
0.00000 0.00000 0.00000 0.00000
filter offset: -0.01448 0.000781 0.000537 0.000394
0.000000 0.000000 0.000000 0.000000
delay 0.04135, dispersion 0.00383
offset 0.000394
21 Jun 13:55:09 ntpdate[19410]: adjust time server 10.1.3.10 offset 0.000394 sec
Konfigurasi klien (RackCard21 / 22) terlihat seperti ini:
[root@RackCard21]# cat /etc/ntp.conf
# NTP Deamon Configuration File "ntp.conf"
# Created on 27/04/2010
# Original backed-up as "ntp.conf.backup"
server 10.1.4.23 iburst minpoll 4 maxpoll 4 prefer
server 127.127.1.0
fudge 127.127.1.0 stratum 10
# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift
# restrict 127.0.0.1
restrict None mask 255.255.255.255 nomodify notrap noquery
Dan ntptrace memberikan ini:
[root@RackCard21]# /usr/sbin/ntpdate -d 10.1.4.23
21 Jun 14:04:34 ntpdate[14381]: ntpdate [email protected] Tue May 19 13:57:56 UTC 2009 (1)
Looking for host 10.1.4.23 and service ntp
host found : 10.1.4.23
transmit(10.1.4.23)
receive(10.1.4.23)
transmit(10.1.4.23)
receive(10.1.4.23)
transmit(10.1.4.23)
receive(10.1.4.23)
transmit(10.1.4.23)
receive(10.1.4.23)
transmit(10.1.4.23)
10.1.4.23: Server dropped: strata too high
server 10.1.4.23, port 123
stratum 16, precision -20, leap 11, trust 000
refid [10.1.4.23], delay 0.02568, dispersion 0.00000
transmitted 4, in filter 4
reference time: 00000000.00000000 Thu, Feb 7 2036 6:28:16.000
originate timestamp: cfc9dfef.12b79516 Mon, Jun 21 2010 13:56:15.073
transmit timestamp: cfc9e1e2.aeae7d56 Mon, Jun 21 2010 14:04:34.682
filter delay: 0.02573 0.02571 0.02568 0.02568
0.00000 0.00000 0.00000 0.00000
filter offset: -499.609 -499.609 -499.609 -499.609
0.000000 0.000000 0.000000 0.000000
delay 0.02568, dispersion 0.00000
offset -499.609286
21 Jun 14:04:34 ntpdate[14381]: no server suitable for synchronization found
Jadi tidak dapat menemukan server yang cocok karena server yang saya coba gunakan melaporkan bahwa itu adalah server strata 16 (yang saya percaya berarti tidak tersinkronisasi). Ini terlepas dari kenyataan bahwa itu disinkronkan.
Jadi saya perlu entah bagaimana membuat RackCard23 lapisan yang lebih tinggi (Idealnya, lapisan 2). Bagaimana cara saya melakukan itu?
Bantuan apa pun sangat kami hargai karena saya telah berusaha agar ini berfungsi selama berhari-hari sekarang!
EDIT:
Hai Christopher,
Saya telah me-restart ntpd, ya;)
Semua kotak linux menjalankan CentOS 5.4.
Ini adalah output dari perintah yang Anda sarankan. Pertama dari server:
[root@RackCard23]# /usr/sbin/ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
10.1.3.10 .INIT. 16 u - 16 0 0.000 0.000 0.000
10.1.4.255 .BCST. 16 u - 64 0 0.000 0.000 0.001
[root@RackCard23]# /usr/sbin/ntpdc -c monlist
remote address port local address count m ver code avgint lstint
===============================================================================
localhost.localdomain 34566 127.0.0.1 1 7 2 0 0 0
10.1.4.21 123 10.1.4.23 5 3 4 180 5 1
10.1.4.22 123 10.1.4.23 7 3 4 0 2 2
Dan kemudian dari klien:
[root@RackCard21]# /usr/sbin/ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
10.1.4.23 .INIT. 16 u 10 16 0 0.000 0.000 0.000
LOCAL(0) .LOCL. 10 l 44 64 1 0.000 0.000 0.001
Jawaban:
Seperti yang disebutkan Chris, strata 16 menunjukkan server belum benar-benar disinkronkan dengan server. Hanya untuk memastikan, Anda me-restart layanan ntp, kan? (
service ntpd restart
) Saya tidak mencoba menyindir Anda ketinggalan hal-hal yang mudah, tetapi saya selalu melakukannya!Bisakah Anda memposting output beberapa perintah lagi untuk membantu mendiagnosis?
ntpq -p
di klien & server. Harus menunjukkan server apa yang telah dikonfigurasi, serta statistik untuk server tersebut.ntpdc -c monlist
di server. Harus menunjukkan klien terhubung.Juga, karena Anda tidak menyebutkan OS, saya menjalankan dengan perintah gaya RHEL. Beritahu saya jika Anda punya sesuatu yang berbeda.
Sunting setelah info lebih lanjut
OK, melihat output Anda, inilah masalah Anda: Anda tidak memiliki server strata 1. Bahkan, "Bulan" menggunakan jam lokal itu. Ini melaporkan dirinya sebagai server strata 16. Untuk referensi Anda, server Stratum1 akan memiliki GPS lokal atau jam atom. Apakah Anda memiliki salah satunya? Jika tidak, Moon perlu menyinkronkan jamnya dengan server NOT LAIN. Jika tidak memiliki akses jaringan, Anda harus memalsukan stratumnya. (Ini mengharuskan Anda untuk tidak terlalu peduli tentang waktu 'benar'. Yang tidak Anda lakukan, tetapi siapa pun yang membaca ini harus mencatat itu.)
Pada Bulan, tambahkan baris berikut ke file ntp.conf Anda:
fudge 127.127.1.0 stratum 10
. Ini akan membuatnya melaporkan jam lokalnya sebagai strata 10. Yang akan membuat semua server lain menggunakannya selama strata 16 lokal mereka.--Christopher Karel
sumber
Mungkin berada di luar topik, server Stratum 2 lokal memerlukan koneksi ke server Stratum 1 dan dalam jaringan Anda yang terisolasi, Anda tidak memilikinya.
Anda bisa mendapatkan modul GPS murah dan Raspberry Pi, komputer papan tunggal dengan konsumsi daya minimal dan kemampuan antarmuka yang luas. Kaitkan modul GPS Anda ke Raspberry Pi dan gabungkan Pi ke jaringan Anda, dengan perangkat lunak yang tepat, itu bisa menjadi server Stratum 1 NTP Anda yang menjadi server Stratum 2 Anda, atau karena Anda memilikinya di dalam jaringan Anda setiap komputer, sinkronkan waktu dengan.
sumber
NTPd akan menetapkan strata sendiri sesuai dengan:
(Ini tidak harus urutan acara, tetapi urutan di mana mereka diproses untuk keperluan pengaturan strata lokal.)
(Juga, strata 16 tidak selalu berarti itu tidak disinkronkan).
sumber
Sebagai tambahan, saya akan memasukkan beberapa analisis dari output ntpq Anda. Hanya untuk membantu pemecahan masalah generik di masa depan, untuk Anda dan orang lain.
Pertama, dari server Anda:
Kolom pertama menunjukkan dua server yang dikonfigurasi oleh mesin ini untuk disinkronkan. Yang perlu dicatat adalah kurangnya
*
atau+
yang akan menunjukkan rekan yang disinkronkan, atau kandidat sekunder. Ini berarti server Anda tidak akan menggunakan entri-entri di sini, tetapi paling tidak memeriksa mereka.Kolom tiga, "st", menunjukkan strata server tersebut. Dalam hal ini, itu menunjukkan bahwa kedua mesin tersebut menggunakan jam lokal mereka. (strata default 16) Tiga kolom terakhir akan menunjukkan seberapa jauh kedua jam itu. Baik dalam nilai "detik perbedaan jam", atau latensi antara kedua mesin, hingga perbedaan dalam latensi itu. Di sini, angka yang lebih tinggi lebih buruk.
Alasan untuk entri yang tidak disinkronkan seperti ini dapat bergantung pada beberapa faktor: Jika offset dalam jam terlalu banyak, maka ntp bahkan tidak akan mencoba, karena itu akan memperkenalkan lompatan yang terlalu besar di waktu setempat. Jika jitter menjadi buruk, klien akan melakukan sinkronisasi, sampai semuanya stabil. (Ini biasanya sementara, namun, terulang kembali) Secara bergantian, seperti dalam kasus Anda, jika server yang dikonfigurasi memiliki nilai strata yang sama atau lebih tinggi, menunjukkan mereka kurang dapat diandalkan sebagai sumber waktu, maka klien tidak akan menggunakannya.
--Christopher Karel
sumber