ESXi Windows sanal makinelerinde zaman bir saniye içinde nasıl senkronize edilir?


12

Ben bir geliştiriciyim ve iş sunucuları kümesini (ESXI kümesindeki VM'ler) çalıştırmak için SQL destek deposu ile yaygın olarak kullanılan zamanlama kütüphanesi Quartz.Net kullanıyoruz.

Quartz.Net , zamanın iş sunucusu örnekleri arasında senkronize edilmesini gerektirir ve bunun için NTP kullanılmasını önerir.

Saatler birbirinin bir saniye içinde olmalıdır.

Sysadmins, etki alanı denetleyicisi ile zamanı eşitlemek için Windows NTP'yi kullanıyor. VM'lerin ESXI ana bilgisayarıyla senkronizasyonu kapalı.

Onlar "saniye içinde" doğru bir gereksinim olmadığını ve donanım GPS senkronizasyon cihazları olmadan karşılanamayan ısrar ediyorlar. SLA'ları ve izleme seviyeleri "3 dakika içinde" dir.

Senkronize olmama süresiyle tutarlı olan periyodik (2-3 ayda bir) Kuvars örnekleri senkronize olmayan davranışlar yaşıyoruz.

  1. "Saniyeler içinde" istememiz doğru mu yoksa Quartz'ı tamamen terk etmemiz mi gerekiyor?
  2. Evetse, kurulumumuz için hangi değişiklikler önerilir?

11
Bir saniyede senkronizasyon , sanal sunucularda bile (kendi başlarına kötü bir zaman istikrarına sahip olmayan) hiçbir şey değildir . Üç dakika?! Gülmek. Bir ağı bu şekilde çalıştıramazsınız.
Yörüngedeki Hafiflik Yarışları

Yanıtlar:


20

Bu 2018'dir. Windows, MIFID II Düzenlemeleri'nin gerektirdiği şekilde sunucuları 2 ms içinde senkronize tutabilir. Yani, probleminiz sorun değil.

Sysadmins, etki alanı denetleyicisi ile zamanı eşitlemek için Windows NTP'yi kullanıyor. VM'lerin ESXI ana bilgisayarıyla senkronizasyonu kapalı.

Neden? Ana bilgisayar bunu çok daha iyi işleyebilir (donanım olarak) ve çok daha azınız var. Sistem yöneticileriniz kendilerini ayağa vururlar, sonra kanamalarından şikayet ederler.

Onlar "saniye içinde" doğru bir gereksinim olmadığını ve donanım GPS senkronizasyon cihazları olmadan karşılanamayan ısrar ediyorlar. SLA'ları ve izleme seviyeleri "3 dakika içinde" dir.

ESKİ - eski - Windows bu zaman aralığında senkronize edildi, çünkü Kerberos biletleri 5 dakikalık bir geçerliliğe sahipti.

Ama bu dediğim gibi 2018. Finans endüstrisinin bugünlerde oldukça acımasız gereksinimleri var ve MS bunu 2012'den beri ele alıyor. 2016 bunu tamamen yürürlüğe koydu. İnternet üzerinden milisaniye doğruluğu, 50 yıl önce iyi bir bağlantı için çözülmüş bir sorundur. NTP bunu halledebilir. Trafiği azaltmak istiyorsanız (yani kendi 3. seviye NTP zaman kaynağınızı yapmak istiyorsanız) ucuz bir donanım kutusu koymak zorunda kalabilirsiniz, ancak bu yine de pahalı değildir.

"Saniyeler içinde" istememiz doğru mu yoksa Quartz'ı tamamen terk etmemiz mi gerekiyor?

Donanımla yaptığınız gibi, zaman zaman sorunları için program yapmanız gerekir. Ancak "saniye içinde" bir şaka şakasıdır - normal şartlar altında buluşmak önemsizdir.

Bazı referanslar:

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/accurate-time

Hükümet Düzenlemeleri gibi: ABD'de FINRA için 50 ms doğruluk AB'de 1 ms ESMA (MiFID II).

Çok fazla ayrıntı ve talimatlar var. Bu sorunu çözmek zorundaysanız, bu şaşırtıcı bir okuma aslında. Hipervizörünüzü yükseltmeniz gerekebilir - hepsi Hyper-V hakkında konuşuyorlar. VMWare de aynısını yapmalı, ancak sürümünüzün kaç yaşında olduğundan emin değil.


FWIW, [İngiltere] finans endüstrisindeki MiFID II uyumluluğu şok edici derecede zayıftır (bankalar para cezalarını tüm bunlarla uğraşmaktan ziyade para cezası ödemeyi tercih ederler) ama teknik olarak elbette haklısınız.
Yörüngedeki Hafiflik Yarışları

Uyumla ilgili değil, YETENEKLE uyumlu olmakla ilgili. MS bunu uzun zaman önce çözdü. Bu nedenle, OP'nin alan şakasından bahsettiği "3 dakikalık doğruluk".
TomTom

Katılıyorum; bu sadece bir yana.
Yörüngedeki Hafiflik Yarışları

2
NTP'nin yeterince hızlı olduğunu, ancak VMware zamanı senkronize etmek için entegrasyon hizmetlerini kullanmanızı önermez, çoğu durumda (hepsi olmasa da) normal NTP daha iyi ve daha hızlı bir iş yapar.
HoD

Endişeleriniz sunucular arasındaki göreceli zaman ile ilgili olduğundan, NTP'yi ağ anahtarlarıyla senkronize etmek için kullanabilirsiniz, bu da ISS'nizle senkronize olur - ekstra donanım gerekmez.
grahamj42

6

"Saniyeler içinde" istememiz doğru mu yoksa Quartz'ı tamamen terk etmemiz mi gerekiyor?

Çeşitli uygulama yığınlarının sıkı zaman kontrolüne ihtiyaç duyması için çok iyi nedenler vardır ve Quartz'ın istediği sıradışı olmaktan çok uzaktır.

Evetse, kurulumumuz için hangi değişiklikler önerilir?

En iyi seçenek, sisteminizin her bir parçasının NTP kullanmasını sağlamak ve aynı NTP sunucusuna yönlendirmektir. Böylece ESXi sunucuları ve üzerlerinde çalışan VM'ler, hepsi de aynı NTP kaynaklarını kullanıyor, diğer her şey için aynı. Bu şekilde, NTP sunucuları 'kapalı kalma süresi' olsa bile, sisteminizin en azından her kısmı birbirleriyle günceldir.


4

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/support-boundary

Windows 8.1 ve 2012 R2 (veya Öncesi) için Yüksek Doğruluk desteği

Windows'un önceki sürümleri (Windows 10 1607 veya Windows Server 2016 1607'den önceki sürümler) son derece doğru zamanı garanti edemez. Bu sistemlerde Windows Saati hizmeti:

  • Kerberos sürüm 5 kimlik doğrulama gereksinimlerini karşılamak için gerekli zaman doğruluğunu sağladı

  • Ortak bir Active Directory ormanına katılan Windows istemcileri ve sunucuları için gevşek ve doğru zaman sağlandı

Daha sıkı doğruluk gereksinimleri, bu işletim sistemlerinde Windows Zaman Hizmeti'nin tasarım belirtimlerinin dışındaydı ve desteklenmiyor.

Windows 10 ve Windows Server 2016

Windows 10 ve Windows Server 2016'daki zaman doğruluğu, eski Windows sürümleriyle tam geriye dönük NTP uyumluluğu korunurken önemli ölçüde geliştirilmiştir. Doğru çalışma koşulları altında, Windows 10 veya Windows Server 2016 ve daha yeni sürümleri çalıştıran sistemler 1 saniye, 50ms (milisaniye) veya 1ms doğruluk sağlayabilir.

Hedef Doğruluğu: 1 Saniye (1s)

Yüksek doğrulukta bir zaman kaynağıyla karşılaştırıldığında belirli bir hedef makine için 1 sn hassasiyet elde etmek için:

  • Hedef sistem Windows 10, Windows Server 2016 çalıştırmalıdır.

  • Hedef sistem, zamanı son derece hassas, Windows uyumlu bir NTP zaman kaynağıyla sonuçlanan bir NTP zaman sunucusu hiyerarşisinden senkronize etmelidir.

  • Yukarıda belirtilen NTP hiyerarşisindeki tüm Windows işletim sistemlerinin Yüksek Doğruluk İçin Sistemleri Yapılandırma belgelerinde belgelendiği şekilde yapılandırılması gerekir.

  • Hedef ve kaynak arasındaki kümülatif tek yönlü ağ gecikmesi 100 ms'yi geçmemelidir. Kümülatif ağ gecikmesi, hedefle başlayıp kaynakta biten hiyerarşideki NTP istemci-sunucu düğümleri çiftleri arasında tek yönlü gecikmeler eklenerek ölçülür. Daha fazla bilgi için lütfen yüksek doğrulukta zaman senkronizasyonu belgesini inceleyin.

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy


Aslında, Windows 2012R2 kullanıyoruz. Sorunun kökü gibi görünüyor (ESXI ana bilgisayarı ile senkronize edilmemesiyle birlikte)
Leotsarev

1
@Leotsarev: bunlar etki alanı üyesiyse, VM ana bilgisayarıyla senkronize edilmemelidir.
Greg Askew
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.