Share via


Azure'da Windows VM'leri için zaman eşitleme

Şunlar için geçerlidir: ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri

Zaman eşitlemesi güvenlik ve olay bağıntısı için önemlidir. Bazen dağıtılmış işlemlerin uygulanması için kullanılır. Eşitleme aracılığıyla birden çok bilgisayar sistemi arasındaki zaman doğruluğu elde edilir. Eşitleme, yeniden başlatmalar ve zaman kaynağı ile saati getiren bilgisayar arasındaki ağ trafiği de dahil olmak üzere birden çok şeyden etkilenebilir.

Azure artık Windows Server 2016 çalıştıran altyapı tarafından desteklenir. Windows Server 2016 saati düzeltmek ve yerel saati UTC ile eşitlenecek şekilde koşula getirmek için kullanılan algoritmalar geliştirildi. Windows Server 2016 ayrıca VM'lerin doğru zaman için konakla nasıl eşitlendiğini yöneten VMICTimeSync hizmetini de iyileştirdik. İyileştirmeler, VM başlatma veya VM geri yüklemede daha doğru başlangıç zamanı ve Windows Saati'ne (W32time) sağlanan örnekler için kesinti gecikmesi düzeltmesini içerir.

Not

Windows Saat hizmetine hızlı bir genel bakış için bu üst düzey genel bakış videosuna göz atın.

Daha fazla bilgi için bkz. Windows Server 2016 için doğru süre.

Genel Bakış

Bilgisayar saatinin doğruluğu, bilgisayar saatinin Eşgüdümlü Evrensel Saat (UTC) saat standardına ne kadar yakın olduğunu ölçer. UTC, 300 yılda yalnızca bir saniye kapalı kalan hassas atomik saatlerden oluşan çok uluslu bir örnekle tanımlanır. Ancak UTC'yi okumak için doğrudan özel donanım gerekir. Bunun yerine, zaman sunucuları UTC ile eşitlenir ve ölçeklenebilirlik ve sağlamlık sağlamak için diğer bilgisayarlardan erişilir. Her bilgisayarda hangi saat sunucularının kullanılacağını bilen zaman eşitleme hizmeti çalışır ve bilgisayar saatinin düzeltilmesi gerekip gerekmediğini düzenli aralıklarla denetler ve gerekirse saati ayarlar.

Azure konakları, ZAMANlarını Microsoft'un sahip olduğu Stratum 1 cihazlarından gps antenleri ile kullanan dahili Microsoft zaman sunucularıyla eşitlenir. Azure'daki sanal makineler, vm'ye doğru zamanı (konak süresi) geçirmek için konaklarına bağımlı olabilir veya VM doğrudan bir zaman sunucusundan veya ikisinin birleşiminden zaman alabilir.

Konakla sanal makine etkileşimleri saati de etkileyebilir. Bellek koruma bakımı sırasında VM'ler 30 saniyeye kadar duraklatılır. Örneğin, bakım başlamadan önce VM saati 10:00:00'ı gösterir ve 28 saniye sürer. VM devam ettirildikten sonra, VM'de saat 10:00:00'ı göstermeye devam eder ve bu da 28 saniye kapalı olur. Bunu düzeltmek için, VMICTimeSync hizmeti konakta neler olduğunu izler ve telafi etmek için VM'lerde değişikliklerin gerçekleşmesini ister.

VMICTimeSync hizmeti örnek veya eşitleme modunda çalışır ve yalnızca ileriye doğru saati etkiler. W32time'ın çalıştırılmasını gerektiren örnek modunda, VMICTimeSync hizmeti ana bilgisayarı 5 saniyede bir yoklar ve W32time'a zaman örnekleri sağlar. Yaklaşık her 30 saniyede bir, W32time hizmeti en son zaman örneğini alır ve konuğun saatini etkilemek için kullanır. Bir konuk sürdürülürse veya konuğun saati konağın saatinin 5 saniyeden fazla gerisinde kalırsa eşitleme modu etkinleştirilir. W32time hizmetinin düzgün çalıştığı durumlarda, ikinci durum hiçbir zaman gerçekleşmemelidir.

Zaman eşitlemesi çalışmadan, VM'de saat hataları birikir. Yalnızca bir VM olduğunda, iş yükü yüksek oranda doğru zaman tutma gerektirmediği sürece etki önemli olmayabilir. Ancak çoğu durumda, işlemleri izlemek için zamanı kullanan ve tüm dağıtım boyunca tutarlı olması gereken birden çok, birbirine bağlı VM'miz vardır. VM'ler arasındaki süre farklı olduğunda aşağıdaki efektleri görebilirsiniz:

  • Kimlik doğrulaması başarısız olur. Kerberos veya sertifikaya bağımlı teknoloji gibi güvenlik protokolleri, sistemlerde zamanın tutarlı olmasına dayanır.
  • Günlükler (veya diğer veriler) zamanında kabul etmiyorsa sistemde neler olduğunu anlamak çok zordur. Aynı olay farklı zamanlarda oluşmuş gibi görünerek bağıntıyı zorlaştırır.
  • Saat kapalıysa faturalama yanlış hesaplanabilir.

Windows dağıtımları için en iyi sonuçlar, zaman eşitlemesindeki en son geliştirmeleri kullanabilmenizi sağlayan konuk işletim sistemi olarak Windows Server 2016 kullanılarak elde edilir.

Yapılandırma seçenekleri

Azure'da barındırılan Windows VM'leriniz için zaman eşitlemeyi yapılandırmak için üç seçenek vardır:

Varsayılanı kullan

Varsayılan olarak Windows işletim sistemi VM görüntüleri iki kaynaktan eşitlenecek w32time için yapılandırılır:

  • time.windows.com'dan bilgi alan NtpClient sağlayıcısı.
  • Konak süresini VM'lere iletmek ve bakım için VM duraklatıldıktan sonra düzeltmeler yapmak için kullanılan VMICTimeSync hizmeti. Azure konakları, zamanı doğru tutmak için Microsoft'a ait Stratum 1 cihazlarını kullanır.

w32time, zaman sağlayıcısını şu öncelik sırasına göre tercih eder: stratum düzeyi, kök gecikmesi, kök dağılımı, zaman uzaklığı. Çoğu durumda, bir Azure VM'deki w32time, değerlendirme nedeniyle her iki zaman kaynağını karşılaştırmak için konak süresini tercih eder.

Etki alanına katılmış makineler için etki alanının kendisi zaman eşitleme hiyerarşisi oluşturur, ancak orman kökünü yine de bir yerden zaman alması gerekir ve aşağıdaki noktalar yine de doğru olacaktır.

Yalnızca konak

time.windows.com genel bir NTP sunucusu olduğundan, zaman ile eşitleme için İnternet üzerinden trafik gönderilmesi gerekir, değişen paket gecikmeleri zaman eşitleme kalitesini olumsuz etkileyebilir. Yalnızca konak eşitlemesine geçerek time.windows.com kaldırmak bazen zaman eşitleme sonuçlarınızı iyileştirebilir.

Varsayılan yapılandırmayı kullanarak zaman eşitleme sorunlarıyla karşılaşırsanız yalnızca konak zaman eşitlemesine geçmek mantıklıdır. Bunun VM'de zaman eşitlemesini geliştirip geliştirmeyeceğini görmek için yalnızca konak eşitlemesini deneyin.

Dış zaman sunucusu

Belirli zaman eşitleme gereksinimleriniz varsa, dış zaman sunucularını kullanma seçeneği de vardır. Dış zaman sunucuları belirli bir zaman sağlayabilir; bu da test senaryoları için yararlı olabilir, Microsoft dışı veri merkezlerinde barındırılan makinelerle zaman eşitliğini güvence altına alabilir veya artık saniyeleri özel bir şekilde işleyebilir.

Dış sunucuları VMICTimeSync hizmeti ve VMICTimeProvider ile birleştirerek varsayılan yapılandırmaya benzer sonuçlar sağlayabilirsiniz.

Yapılandırmanızı denetleyin

NtpClient saat sağlayıcısının açık NTP sunucularını (NTP) veya etki alanı zaman eşitlemesini (NT5DS) kullanacak şekilde yapılandırılıp yapılandırılmamış olduğunu denetleyin.

w32tm /dumpreg /subkey:Parameters | findstr /i "type"

VM NTP kullanıyorsa aşağıdaki çıkışı görürsünüz:

Value Name                 Value Type          Value Data
Type                       REG_SZ              NTP

NtpClient saat sağlayıcısının hangi saat sunucusunu kullandığını görmek için yükseltilmiş komut istemine şunu yazın:

w32tm /dumpreg /subkey:Parameters | findstr /i "ntpserver"

VM varsayılanı kullanıyorsa çıkış şöyle görünür:

NtpServer                  REG_SZ              time.windows.com,0x8

Şu anda hangi saat sağlayıcısının kullanıldığını görmek için.

w32tm /query /source

Görebileceğiniz çıkış ve bunun ne anlama geleceğini aşağıda bulabilirsiniz:

  • time.windows.com : Varsayılan yapılandırmada w32time, time.windows.com zaman alabilir. Zaman eşitleme kalitesi, İnternet bağlantısına bağlıdır ve paket gecikmelerinden etkilenir. Bu, fiziksel bir makinede elde edeceğiniz normal çıktıdır.
  • VM IC Zaman Eşitleme Sağlayıcısı - VM saati konaktan eşitler. Bu, Azure'da çalışan bir sanal makinede elde edeceğiniz normal çıktıdır.
  • Etki alanı sunucunuz - geçerli makine bir etki alanındadır ve etki alanı zaman eşitleme hiyerarşisini tanımlar.
  • Başka bir sunucu - w32time, başka bir sunucudan zaman alacak şekilde açıkça yapılandırıldı. Zaman eşitleme kalitesi bu zaman sunucusu kalitesine bağlıdır.
  • Yerel CMOS Saati - saat eşitlenmemiş. Yeniden başlatma sonrasında w32time'ın başlamak için yeterli zamanı yoksa veya yapılandırılmış tüm zaman kaynakları kullanılabilir olmadığında bu çıkışı alabilirsiniz.

Yalnızca konak zaman eşitlemesini kabul etme

Azure, konaklarda zaman eşitlemesini geliştirmek için sürekli çalışmaktadır ve tüm zaman eşitleme altyapısının Microsoft'a ait veri merkezlerinde birlikte konumlandırıldığını garanti edebilir. Birincil zaman kaynağı olarak time.windows.com kullanmayı tercih eden varsayılan kurulumda zaman eşitleme sorunlarınız varsa, yalnızca konak zaman eşitlemesini kabul etmek için aşağıdaki komutları kullanabilirsiniz.

VMIC sağlayıcısını etkin olarak işaretleyin.

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\VMICTimeProvider /v Enabled /t REG_DWORD /d 1 /f

NTPClient sağlayıcısını devre dışı olarak işaretleyin.

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpClient /v Enabled /t REG_DWORD /d 0 /f

w32time Hizmetini yeniden başlatın.

net stop w32time && net start w32time

Windows Server 2012 ve R2 VM'leri

Windows Server 2012 ve Windows Server 2012 R2 zaman eşitleme için farklı varsayılan ayarlara sahiptir. w32time varsayılan olarak, hizmetin tam zamanında düşük ek yükünü tercih eden bir şekilde yapılandırılır.

Windows Server 2012 ve 2012 R2 dağıtımlarınızı tam zamanı tercih eden daha yeni varsayılan değerleri kullanacak şekilde taşımak istiyorsanız aşağıdaki ayarları uygulayabilirsiniz.

w32time yoklamasını güncelleştirin ve aralıkları Windows Server 2016 ayarlarıyla eşleşecek şekilde güncelleştirin.

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v MinPollInterval /t REG_DWORD /d 6 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v MaxPollInterval /t REG_DWORD /d 10 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v UpdateInterval /t REG_DWORD /d 100 /f
w32tm /config /update

Yeni yoklama aralıklarını kullanabilmek için w32time NtpServer'ların bunları kullanıyor olarak işaretlenmesi gerekir. Sunuculara bitflag maskesiyle 0x1 ek açıklama eklenirse, bu mekanizmayı geçersiz kılar ve w32time bunun yerine bunu kullanır SpecialPollInterval . Belirtilen NTP sunucularının bayrağını kullandığından 0x8 veya hiç bayrak kullanmadığından emin olun:

NTP sunucuları için hangi bayrakların kullanıldığını denetleyin.

w32tm /dumpreg /subkey:Parameters | findstr /i "ntpserver"

Sonraki adımlar

Zaman eşitlemesi hakkında daha fazla ayrıntının bağlantıları aşağıdadır: