$ timedatectl status
...
Network time on: yes
NTP synchronized: no
Seperti yang disiratkan oleh output, waktu belum disinkronkan. Dapatkah seseorang tolong bantu saya dengan pertanyaan-pertanyaan berikut?
Berapa lama untuk timesyncd untuk disinkronkan dengan NTP? Pada interval berapa ia melakukan itu, di mana saya bisa memeriksa dan mengubahnya?
Dalam kasus mendesak: Dapatkah saya hanya mengatur waktu secara manual atau bisakah saya memaksa timesyncd untuk segera menyinkronkan dengan server NTP?
Untuk menggunakan implementasi NTP yang sebenarnya, Anda perlu menginstal dan mengonfigurasinya, chronyatau mungkin ntpd. Lakukan jika Anda memerlukan pemantauan kinerja waktu. Saya akan menganggap chrony.
Tambahkan iburstke poolatau server baris Anda di konfigurasi Anda untuk mempercepat beberapa paket awal. Masih butuh beberapa menit untuk stabil, bersabarlah.
chronyc trackingakan menampilkan offset saat ini. Punya gagasan tentang apa kebutuhan Anda, akurasi satu detik dapat dengan mudah mentolerir puluhan milidetik offset.
chronyc makestepakan segera melakukan penyesuaian. Biasanya tidak perlu.
Tentang satu-satunya cara untuk mengatur waktu dengan timesyncd adalah secara manual: timedatectl set-time "2019-01-15 00:40:16". Itu tidak memiliki sarana yang kuat untuk mendisiplinkan dan memantau jam. Statistik NTP dasar via timedatectl timesync-statusadalah hal yang relatif baru, saya tidak berpikir bahwa opsi tersedia di Red Hat 7 atau Ubuntu 18.04.
systemd mendefinisikan "disinkronkan" menjadi jika NTP pernah digunakan untuk memberitahu Linux untuk menyesuaikan jam. Secara khusus, jika panggilan disiplin kernel adjtimex () dikembalikan tanpa kesalahan, dan bukan keadaan awal. Lihat kode sumber, systemd / src / basic / util-util.c.
Terima kasih atas jawaban Anda, John. Jadi sebenarnya saya bisa menonaktifkan systemd-timesyncd dan hanya menggunakan chrony? Saya tidak yakin saya mengerti mengapa systemd memiliki opsi NTP dan disebut timeSYNCd jika tidak dapat menyinkronkan waktu sebenarnya? "Systemd mendefinisikan" disinkronkan "menjadi jika adjusterex panggilan kernel NTP () dikembalikan tanpa kesalahan, dan bukan keadaan awal" - ini tidak terlalu jelas bagi saya.
manifestor
1
@chevallier systemd-timesyncd sangat sederhana, dan itu cukup baik untuk kasus yang paling umum, misalnya server dengan jam waktu nyata yang diharapkan akan berjalan dan pada jaringan 24x7. Milik Anda bukan kasus umum, jadi sebaiknya Anda tidak menggunakannya. chrony jauh lebih baik dalam menangani gangguan konektivitas jaringan dan dimatikan untuk waktu yang lama (misalnya laptop) atau tidak memiliki RTC sama sekali (misalnya perangkat yang disematkan).
Michael Hampton
1
timesyncd adalah klien SNTP, sehingga mengatur waktu tanpa mendisiplinkannya dengan benar. Yang bagus untuk persyaratan akurasi kasar. Jika Anda ingin mengukur kinerja waktu, atau menunggu hingga disinkronkan, gunakan NTP lengkap seperti chrony atau ntpd.
John Mahowald
11
Tanpa menginstal paket lagi ... Matikan NTP, atur waktu secara manual agar cukup dekat , nyalakan kembali NTP:
Setel Layanan NTP tidak aktif
$ timedatectl set-ntp false
Atur waktu secara manual
Ya, itu menyedihkan tetapi itu berhasil dan Anda tidak perlu repot-repot menginstal apa pun dan membuatnya bekerja. Dapatkan perkiraan waktu LOKAL dari jam dinding, ponsel Anda, Internet. Tidak harus sempurna karena kami akan mengaktifkan kembali ntp sebentar lagi ...
$ sudo timedatectl set-time "2019-06-22 13:41:00"
Setel layanan NTP aktif
$ sudo timedatectl set-ntp true
Tunggu
john@mybox:~$ timedatectl
Local time: Sat 2019-06-22 13:49:53 AEST
Universal time: Sat 2019-06-22 03:49:53 UTC
RTC time: Sat 2019-06-22 03:49:54
Time zone: Australia/Sydney (AEST, +1000)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
"Jam sistem disinkronkan: tidak" akan berubah menjadi "ya" bila sudah cukup disesuaikan untuk dianggap 'sinkron'.
Penyelesaian masalah
$ cat /etc/systemd/timesyncd.conf
[Time]
NTP=pool.ntp.org
$ timedatectl timesync-status
Server: 13.210.208.89 (au.pool.ntp.org)
Poll interval: 8min 32s (min: 32s; max 34min 8s)
Packet count: 0
$ grep systemd-timesyncd /var/log/syslog | tail
Jun 22 14:13:09 meebox systemd-timesyncd[8333]: Timed out waiting for reply from 103.214.220.220:123 (au.pool.ntp.org).
Menginstal layanan waktu-sinkronisasi lain juga merupakan ide pertama saya, tetapi itu hanya solusi. Saya sedang mencari perbaikan nyata. Itu jawabannya. Berhasil. Terima kasih :-)
Tanpa menginstal paket lagi ... Matikan NTP, atur waktu secara manual agar cukup dekat , nyalakan kembali NTP:
Setel Layanan NTP tidak aktif
Atur waktu secara manual
Ya, itu menyedihkan tetapi itu berhasil dan Anda tidak perlu repot-repot menginstal apa pun dan membuatnya bekerja. Dapatkan perkiraan waktu LOKAL dari jam dinding, ponsel Anda, Internet. Tidak harus sempurna karena kami akan mengaktifkan kembali ntp sebentar lagi ...
Setel layanan NTP aktif
Tunggu
"Jam sistem disinkronkan: tidak" akan berubah menjadi "ya" bila sudah cukup disesuaikan untuk dianggap 'sinkron'.
Penyelesaian masalah
Paket ntp saya diblokir oleh firewall perusahaan.
sumber