Saya seorang pengembang dan kami menggunakan Quartz.Net, perpustakaan penjadwalan yang banyak digunakan dengan toko dukungan SQL untuk menjalankan cluster server pekerjaan (VMs pada ESXI cluster).
Quartz.Net mensyaratkan bahwa waktu akan disinkronkan antara instance server pekerjaan dan merekomendasikan menggunakan NTP untuk itu.
Jam harus berada dalam satu detik satu sama lain.
Sysadmin kami menggunakan windows NTP untuk menyinkronkan waktu dengan pengontrol domain. Sinkronisasi VM dengan host ESXI tidak aktif.
Mereka terus bersikeras bahwa "dalam hitungan detik" bukan persyaratan yang benar dan tidak dapat dipenuhi tanpa perangkat sinkronisasi perangkat GPS. Tingkat SLA & pemantauan mereka "dalam 3 menit".
Kami mengalami periodik (sekali dalam 2-3 bulan) Kuarsa menunjukkan perilaku tidak sinkron yang konsisten dengan waktu yang tidak sinkron.
- Apakah benar bagi kita untuk meminta "dalam hitungan detik" atau kita perlu membuang Kuarsa sepenuhnya?
- Jika ya, perubahan apa yang disarankan untuk pengaturan kami?
sumber
Jawaban:
Ini adalah 2018. Windows mampu menjaga server disinkronkan dalam waktu 2 ms atau lebih, seperti yang dipersyaratkan oleh Peraturan MIFID II. Jadi, masalah Anda bukan masalah.
Mengapa? Tuan rumah dapat menangani ini jauh lebih baik (menjadi perangkat keras) dan Anda memiliki lebih sedikit. Sysadmin Anda menembak diri sendiri di kaki, lalu mengeluh mereka berdarah.
TUA - kuno - Windows disinkronkan dalam jangka waktu itu karena tiket Kerberos memiliki validitas 5 menit.
Tapi ini, seperti yang saya katakan, 2018. Industri keuangan memiliki persyaratan yang cukup brutal hari ini dan MS telah menanganinya untuk - sejak 2012, saya rasa. 2016 menerapkannya sepenuhnya. Akurasi milidetik melalui internet adalah masalah yang diselesaikan - dipecahkan 50 tahun yang lalu sebenarnya, untuk koneksi yang layak. NTP dapat mengatasinya. Anda mungkin harus memasang kotak perangkat keras yang murah jika Anda ingin mengurangi lalu lintas (yaitu membuat sumber waktu 3 NTP Anda sendiri), tetapi sekali lagi itu bahkan tidak mahal.
Anda perlu memprogram untuk masalah waktu sesekali - seperti yang Anda lakukan dengan perangkat keras. Tapi "dalam hitungan detik" adalah lelucon tentang suatu persyaratan - itu sepele untuk bertemu dalam keadaan normal.
Beberapa referensi:
https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/accurate-time
Banyak detail dan instruksi di sana. Ini adalah bacaan luar biasa sebenarnya jika Anda harus menyelesaikan masalah ini. Anda mungkin harus memutakhirkan hypervisor Anda - mereka berbicara tentang Hyper-V. VMWare harus dapat melakukan hal yang sama, tetapi tidak yakin berapa umur versi Anda.
sumber
Ada banyak alasan yang sangat baik untuk berbagai tumpukan aplikasi yang membutuhkan kontrol waktu yang ketat dan apa yang diminta Quartz jauh dari tidak biasa.
Taruhan terbaik adalah membuat setiap bagian dari sistem Anda menggunakan NTP dan mengarahkannya ke pasangan server NTP yang sama. Jadi host ESXi dan VM yang menjalankannya, semua menggunakan sumber NTP yang sama, sama untuk hal lain yang terlibat. Dengan cara ini, bahkan jika server NTP 'off time' maka setidaknya setiap bagian dari sistem Anda mutakhir satu sama lain.
sumber
https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/support-boundary
Dukungan Akurasi Tinggi untuk Windows 8.1 dan 2012 R2 (atau Sebelumnya)
Versi Windows sebelumnya (Sebelum Windows 10 1607 atau Windows Server 2016 1607) tidak dapat menjamin waktu yang sangat akurat. Layanan Windows Time pada sistem ini:
Asalkan ketepatan waktu yang diperlukan untuk memenuhi persyaratan otentikasi versi 5 Kerberos
Menyediakan waktu yang akurat dan longgar untuk klien Windows dan server yang bergabung dengan forest Active Directory yang umum
Persyaratan akurasi yang lebih ketat berada di luar spesifikasi desain Layanan Waktu Windows pada sistem operasi ini dan tidak didukung.
Windows 10 dan Windows Server 2016
Akurasi waktu di Windows 10 dan Windows Server 2016 telah jauh meningkat, sambil mempertahankan kompatibilitas NTP mundur penuh dengan versi Windows yang lebih lama. Di bawah kondisi operasi yang tepat, sistem yang menjalankan Windows 10 atau Windows Server 2016 dan rilis yang lebih baru dapat memberikan 1 detik, 50 ms (milidetik), atau akurasi 1 ms.
Akurasi Target: 1 Detik (1d)
Untuk mencapai akurasi 1 untuk mesin target tertentu bila dibandingkan dengan sumber waktu yang sangat akurat:
Sistem target harus menjalankan Windows 10, Windows Server 2016.
Sistem target harus menyinkronkan waktu dari hierarki NTP server waktu, yang berpuncak pada sumber waktu NTP Windows yang sangat akurat.
Semua sistem operasi Windows dalam hierarki NTP yang disebutkan di atas harus dikonfigurasikan sebagaimana didokumentasikan dalam dokumentasi Sistem Konfigurasi untuk Akurasi Tinggi.
Latensi jaringan satu arah kumulatif antara target dan sumber tidak boleh melebihi 100 ms. Penundaan jaringan kumulatif diukur dengan menambahkan penundaan satu arah individual antara pasangan NTP client-server node dalam hierarki yang dimulai dengan target dan berakhir pada sumbernya. Untuk informasi lebih lanjut, silakan tinjau dokumen sinkronisasi waktu akurasi tinggi.
https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy
sumber