The pengumuman systemd-timesyncd di file NEWS systemd melakukan pekerjaan yang baik menjelaskan perbedaan dari alat ini dibandingkan dengan Chrony dan alat-alat seperti itu. (penekanan milikku):
Sebuah baru "systemd-timesyncd" daemon telah ditambahkan untuk sinkronisasi jam sistem di seluruh jaringan. Ini mengimplementasikan klien SNTP . Berbeda dengan implementasi NTP seperti chrony atau server referensi NTP ini hanya mengimplementasikan sisi klien, dan tidak repot dengan kompleksitas NTP penuh, hanya berfokus pada permintaan waktu dari satu server jauh dan menyinkronkan jam lokal untuk itu . Kecuali Anda bermaksud untuk melayani NTP ke klien jaringan atau ingin terhubung ke jam perangkat keras lokal, klien NTP sederhana ini akan lebih dari cukup untuk sebagian besar instalasi. [...]
Pengaturan ini adalah kasus penggunaan umum untuk sebagian besar host di armada server. Mereka biasanya akan disinkronkan dari server NTP lokal, yang dengan sendirinya disinkronkan dari berbagai sumber, mungkin termasuk perangkat keras. systemd-timesyncd mencoba untuk memberikan solusi yang mudah digunakan untuk kasus penggunaan umum.
Mencoba menjawab pertanyaan spesifik Anda:
Apa perbedaan dunia nyata antara keduanya dalam hal akurasi?
Saya percaya Anda bisa mendapatkan akurasi yang lebih tinggi dengan mendapatkan data sinkronisasi dari berbagai sumber, yang secara khusus bukan kasus penggunaan yang didukung untuk systemd-timesyncd. Tetapi ketika Anda menggunakannya untuk mendapatkan data sinkronisasi dari server NTP pusat yang terhubung ke jaringan internal andal Anda, menggunakan beberapa sumber tidak terlalu relevan dan Anda mendapatkan akurasi yang baik dari satu sumber.
Jika Anda menyinkronkan server Anda dari server tepercaya di jaringan lokal dan di pusat data yang sama , perbedaan akurasi antara NTP dan SNTP akan hampir tidak ada. NTP dapat memperhitungkan RTT dan melakukan penghitungan waktu, tetapi itu tidak menguntungkan ketika RTT Anda sangat kecil, yang merupakan kasus jaringan lokal cepat dan mesin di dekatnya. Anda juga tidak memerlukan banyak sumber jika dapat mempercayai sumber yang Anda gunakan.
Apa perbedaan dalam efisiensi?
Mendapatkan sinkronisasi dari satu sumber jauh lebih sederhana daripada mendapatkannya dari berbagai sumber, karena Anda tidak harus membuat keputusan tentang sumber mana yang lebih baik daripada yang lain dan mungkin menggabungkan informasi dari berbagai sumber. Algoritma lebih sederhana dan akan membutuhkan lebih sedikit beban CPU untuk kasing sederhana.
Apa itu kebutuhan sinkronisasi waktu "tidak sederhana" alias kasus penggunaan untuk kroni sebagai klien NTP?
Itu dibahas dalam kutipan di atas, tetapi bagaimanapun juga ini adalah kasus penggunaan untuk Chrony yang tidak dicakup oleh systemd-timesyncd:
- menjalankan server NTP (sehingga host lain dapat menggunakan host ini sebagai sumber untuk sinkronisasi);
- mendapatkan informasi sinkronisasi NTP dari berbagai sumber (yang penting bagi penghuni yang mendapatkan informasi itu dari server publik di Internet); dan
- mendapatkan informasi sinkronisasi dari jam lokal, yang biasanya melibatkan perangkat keras khusus seperti perangkat GPS yang dapat memperoleh informasi waktu yang akurat dari satelit.
Kasus penggunaan ini membutuhkan Chrony atau ntpd atau serupa.
Saat jawaban yang lain menyatakan dengan benar,
chrony
mengimplementasikan NTP dansystemd-timesyncd
SNTP.Dari sudut pandang klien layanan waktu:
SNTP adalah protokol yang jauh lebih sederhana untuk diimplementasikan;
NTP memungkinkan untuk peningkatan bertahap / koreksi tepat waktu. Satu keuntungan utama NTP adalah bahwa ia juga memperhitungkan RTT dari jawaban untuk mendapatkan waktu yang lebih tepat.
Dari https://www.meinbergglobal.com/english/faq/faq_37.htm
Dari https://www.masterclock.com/company/masterclock-inc-blog/ntp-vs-sntp
Satu poin utama lainnya yang saya bisa lihat implementasi SNTP memberikan lebih banyak masalah daripada NTP adalah dalam virtualisasi, ketika Anda memiliki daemon hypervisor dan NTP yang mencoba mengubah waktu VM. Khususnya dengan mereka yang tidak setuju tepat waktu dengan beberapa kesalahan konfigurasi menyebabkan keduanya aktif, ini dapat menyebabkan masalah besar. (Sementara administrator sistem yang kompeten hanya akan tetap aktif satu metode untuk sinkronisasi dengan waktu, itu bisa terjadi mereka berdua aktif oleh kesalahan konfigurasi).
PS
systemd-timesyncd
tidak boleh menjadi alternatif yang disarankan saat tidak digunakansystemd
.sumber
systemd-timesyncd
program di bawah manajer layanan lain. Saya telah menyediakan bundel layanan untuk menjalankannya di bawah nosh toolkitservice-manager
sejak 2018. Yang Anda lewatkan adalah bahwa orang-orang systemd (per bug Debian # 812522) mendorong layanan tamu VirtualBox dan yang lainnya untuk secara eksplisit bertentangan dengansystemd-timesyncd
layanan untuk mencegah penggunaannya. di mesin virtual.systemd
.... Namun demikian, vmtools timesync dapat dan akan dinonaktifkan, dan harus dinonaktifkan di server yang melakukan layanan NTP (misalnya server NTP VMs), dan beberapa sysadmin tetap disinkronkan oleh vmtools, yang lain mengikuti makalah VmWare yang menonaktifkan vmtools timesync (yang seharusnya hanya digunakan ketika Anda tahu apa yang Anda lakukan). Bug itu tidak linier untuk dipecahkan, dan itu akan menjadi titik konfigurasi tambahan yang mudah dilewatkan oleh orang-orang yang mengikuti rekomendasi VmWare untuk tidak menggunakan vmtools timesync.vmware-toolbox-cmd timesync disable
di server NTP saya, apakah VmWare guys telah menonaktifkan timesync untuk VM tersebut. (Saya juga biasanya lebih suka menggunakan chrony sebagai klien NTP)chrony
bukan bentuk garpuntpd
tetapi diimplementasikan dari awal. Ini mengimplementasikan mode klien dan server protokol NTPv4 penuh ( RFC5905 ). Pada pengguna kelas perusahaan, kami melihat tren beralih dari tradisionalntpd
kechrony
seperti Red Hat (RHEL 7 dan seterusnya) dan SuSE (dari SLES 15).systemd-timesyncd
hanya menerapkan mode klien protokol SNTP ( RFC4330 ) . Karenanya kasus penggunaan yang rumit tidak dicakup oleh . Sebagai contoh, SNTP tidak dapat membuatnya lebih akurat dengan mengambil waktu dari berbagai sumber seperti NTP tidak secara default. Akibatnya tidak dapat memberikan waktu presisi setinggi .systemd-timesyncd
systemd-timesyncd
chrony
sumber