Bagaimana cara menyinkronkan waktu pada mesin virtual ESXi Windows dalam satu detik?


12

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.

  1. Apakah benar bagi kita untuk meminta "dalam hitungan detik" atau kita perlu membuang Kuarsa sepenuhnya?
  2. Jika ya, perubahan apa yang disarankan untuk pengaturan kami?

11
Menyinkronkan ke satu detik tidak ada artinya , bahkan pada server virtual (yang memiliki stabilitas waktu sendiri sangat buruk). Tiga menit?! Tertawa. Anda tidak dapat menjalankan jaringan dengan cara itu.
Lightness Races with Monica

Jawaban:


20

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.

Sysadmin kami menggunakan windows NTP untuk menyinkronkan waktu dengan pengontrol domain. Sinkronisasi VM dengan host ESXI tidak aktif.

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.

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".

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.

Apakah benar bagi kita untuk meminta "dalam hitungan detik" atau kita perlu membuang Kuarsa sepenuhnya?

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

Peraturan Pemerintah seperti: akurasi 50 ms untuk FINRA di AS 1 ms ESMA (MiFID II) di UE.

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.


FWIW, kepatuhan MiFID II dalam industri keuangan [Inggris] sangat buruk (bank lebih suka membayar denda yang remeh daripada repot-repot dengan semua itu) tetapi Anda secara teknis benar tentu saja.
Lightness Races with Monica

Ini bukan tentang kepatuhan, ini tentang KEMAMPUAN untuk patuh. MS memecahkannya sejak lama. Dengan demikian, "3 menit akurat" OP berbicara tentang lelucon.
TomTom

Saya setuju; ini hanya samping.
Lightness Races with Monica

2
Saya bersama Anda bahwa NTP lebih dari cukup cepat, tetapi VMware tidak merekomendasikan menggunakan layanan integrasi untuk menyinkronkan waktu, dalam sebagian besar (meskipun tidak semua) kasus NTP biasa melakukan pekerjaan yang lebih baik dan lebih cepat.
HoD

Karena kekhawatiran Anda adalah waktu relatif antar server, Anda dapat menggunakan NTP untuk menyinkronkannya dengan sakelar jaringan yang pada gilirannya menyinkronkan dengan ISP Anda - tidak diperlukan perangkat keras tambahan.
grahamj42

6

Apakah benar bagi kita untuk meminta "dalam hitungan detik" atau kita perlu membuang Kuarsa sepenuhnya?

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.

Jika ya, perubahan apa yang disarankan untuk pengaturan kami?

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.


4

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


Sebenarnya, kami menggunakan Windows 2012R2. Tampaknya itu adalah akar masalah (bersama dengan tidak menyinkronkan dengan host ESXI)
Leotsarev

1
@Leotsarev: jika ini adalah anggota domain, mereka tidak boleh disinkronkan dengan host VM.
Greg Askew
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.