GNU/Linux >> Belajar Linux >  >> Cent OS

CentOS / RHEL 7 :Tips Mengatasi Masalah NTP / kroni

Layanan chrony tidak mengubah waktu
Kesalahpahaman yang sering terjadi adalah bahwa layanan kroni mengatur waktu ke waktu yang diberikan oleh server NTP. Ini salah – yang sebenarnya terjadi adalah berdasarkan jawaban dari server NTP, chrony hanya memberitahu jam sistem untuk berjalan lebih cepat atau lebih lambat. Karena itu, terkadang meskipun waktunya salah dan server NTP berfungsi, waktu tidak segera diperbaiki.

Hanya waktu ketika chrony menyetel waktu

Saat layanan chrony dimulai, ada beberapa pengaturan di /etc/chrony/chrony.conf file yang memberitahunya untuk benar-benar mengatur waktu jika kondisi tertentu terjadi:

# Force system clock correction at boot time.
makestep 1000 10

yang berarti bahwa jika chrony mendeteksi selama 10 pengukuran pertama setelah dimulai bahwa waktu mati lebih dari 1000 detik, jam akan disetel.

Beberapa perintah yang berguna

Di bawah ini adalah beberapa perintah berguna yang dapat digunakan untuk pemecahan masalah terkait kroni.

# chronyc tracking  
# chronyc sources
# chronyc sourcestats
# systemctl status chronyd
# chronyc activity
# timedatectl

Periksa status kroni

Untuk memeriksa status daemon chronyd :

# systemctl status -l chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-08-12 13:22:22 IST; 1s ago
  Process: 33263 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 33259 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 33261 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─33261 /usr/sbin/chronyd

Aug 12 13:22:22 NVMBD1S11BKPMED03 systemd[1]: Starting NTP client/server...
Aug 12 13:22:22 NVMBD1S11BKPMED03 chronyd[33261]: chronyd version 2.1.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +DEBUG +ASYNCDNS +IPV6 +SECHASH)
Aug 12 13:22:22 NVMBD1S11BKPMED03 chronyd[33261]: Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift
Aug 12 13:22:22 NVMBD1S11BKPMED03 systemd[1]: Started NTP client/server.

Perintah chronyc sources

Menjalankan chronyc sources -v menunjukkan status server NTP saat ini yang dikonfigurasi dalam sistem. Berikut adalah contoh output, di mana ntp.example.com ditampilkan sebagai server valid yang sedang online:

# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = OK for sync, '?' = unreachable,
| /                'x' = time may be in error, '~' = time is too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||                                                /   xxxx = adjusted offset,
||         Log2(Polling interval) -.             |    yyyy = measured offset,
||                                              |    zzzz = estimated error.
||                                   |           |                         
MS Name/IP address           Stratum Poll LastRx Last sample
============================================================================
^* ntp.example.com          3    6     40    +31us[  -98us] +/-  118ms

Perhatikan bahwa status Sumber yang berbeda dari '*' biasanya menunjukkan masalah dengan server NTP.

Source state '~' berarti waktunya terlalu bervariasi
Jika status Sumber adalah ‘~ ', itu mungkin berarti server dapat diakses tetapi waktunya terlalu bervariasi. Ini dapat terjadi jika server merespons terlalu lambat atau terkadang merespons lebih lambat dan terkadang lebih cepat. Anda dapat memeriksa waktu respons ping ke server untuk melihat apakah lambat atau bervariasi. Status ini juga terlihat saat server berjalan di mesin virtual yang terlalu lambat sehingga menyebabkan masalah pengaturan waktu.

Periksa kroni dan mulai ulang setiap jam

Sekali dalam satu jam, layanan kroni memeriksa keluaran sumber kroni -v perintah, dengan menjalankan skrip /usr/sbin/palladion_chrony_healthcheck yang menjalankan /usr/sbin/palladion_check_chrony dan memeriksa outputnya:

  • jika /usr/sbin/palladion_check_chrony mengembalikan 1 – itu berarti tidak ada sumber online (tidak ada sumber dengan status Sumber =‘*’), jadi chrony memulai ulang dalam upaya untuk menginisialisasi ulang status server
  • jika /usr/sbin/palladion_check_chrony mengembalikan 0 – ini berarti semuanya baik-baik saja, chrony tidak perlu dimulai ulang karena sudah memiliki sumber online yang valid
# cat /etc/cron.d/chrony
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#
# Check chrony every hour and restart if necessary.
#
16 * * * *     root    /usr/sbin/palladion_chrony_healthcheck

Log kroni

Ada beberapa log kroni yang dapat digunakan untuk memecahkan masalah. Sebagian besar terletak di /var/log/chrony/ . Perhatikan bahwa file terbaru tidak selalu yang *.log. Kadang-kadang bahkan file *.log.2 atau *.log.3 adalah file yang lebih baru. Berikut adalah contoh daftar file dengan pengurutan berdasarkan yang terbaru:

# ls -lisaht  /var/log/chrony/
total 1.5M
3801115 580K -rw-r--r--  1 root root 574K Oct 21 14:56 measurements.log.3
3801131 544K -rw-r--r--  1 root root 540K Oct 21 14:56 statistics.log.3
3801166 356K -rw-r--r--  1 root root 350K Oct 21 14:56 tracking.log.3
3801089 4.0K drwxr-xr-x 16 root root 4.0K Oct 21 00:01 ..
3801114 4.0K drwxr-xr-x  2 root root 4.0K Oct 21 00:01 .
3801128    0 -rw-r--r--  1 root root    0 Oct 21 00:01 tracking.log
3801110    0 -rw-r--r--  1 root root    0 Oct 21 00:01 measurements.log
3801120    0 -rw-r--r--  1 root root    0 Oct 21 00:01 statistics.log
3801167    0 -rw-r--r--  1 root root    0 Oct 20 00:01 tracking.log.1
3801165    0 -rw-r--r--  1 root root    0 Oct 20 00:01 statistics.log.1
3801159    0 -rw-r--r--  1 root root    0 Oct 20 00:01 measurements.log.1
............

Coba setel hanya satu server NTP dengan memasukkan alamat IP-nya

Jika sampai saat ini Anda telah menggunakan dua atau lebih server NTP (baik karena disetel atau karena Anda memasukkan FQDN yang diselesaikan di alamat IP yang berbeda), cobalah untuk menyetel satu server NTP dengan memasukkan hanya satu alamat IP. Ini dapat memecahkan masalah terkait NTP Anda.

Melacak komunikasi dengan server NTP

Untuk memeriksa ulang apakah server NTP menjawab atau tidak, Anda dapat melacak lalu lintas antara chrony dan server NTP untuk jangka waktu tertentu sambil memantau server:
1. Mulai jejak pcap dengan tcpdump pada port NTP 123 dan biarkan berjalan sampai masalah muncul (jalankan di 'layar' atau dengan 'nohup' untuk menghindarinya berhenti jika Anda memutuskan sambungan dari perintah shell)
2 . Segera setelah masalah muncul kembali, dapatkan Diagnostik Sistem yang mencakup seluruh riwayat karena Anda telah mengatur server ke nama DNS hingga celah itu muncul kembali. Jika ini menghasilkan file yang terlalu besar, dapatkan Diagnostik Sistem untuk data Saat Ini dan selain itu salin semua file dari /var/log/chrony/, dan semua file bernama /var/log/syslog* . Ingatlah untuk menghentikan jejak yang Anda mulai pada langkah 1


Cent OS
  1. CentOS / RHEL 7 :Chrony V/s NTP (Perbedaan Antara ntpd dan chronyd)

  2. CentOS / RHEL 7 :Cara menyinkronkan kroni ke jam lokal

  3. CentOS / RHEL 7 :Cara Mengubah Zona Waktu

  1. Memecahkan masalah kdump di CentOS/RHEL

  2. Cara Menginstal Layanan dan Klien NTP di CentOS/RHEL 8

  3. CentOS / RHEL :panduan pemecahan masalah iptables

  1. Kelola NTP dengan Chrony

  2. CentOS / RHEL 7 :Mengkonfigurasi NTP menggunakan chrony

  3. CentOS / RHEL 7 :Aktifkan NTP untuk memulai saat boot setelah instalasi baru (nonaktifkan chrony)