Sanal makinelerde NTP sunucularını çalıştırmanın sınırları nelerdir?


15

Yerel ağımda birkaç Stratum 2 zaman sunucusu kurmak istiyorum. Sanal makineler bunu yapmak için kesinlikle üç 1U sunucu satın almaktan daha ucuz bir yol olacaktır. Bunu yapmak ne gibi sınırlamalar getirir? Yani, doğruluk ne dereceye kadar olumsuz etkilenecek?

Ayrıca, içgüdüm, bu yerel zaman sunucularının donanım düzensizliklerini azaltmak için farklı fiziksel makinelerde bulunması gerektiğidir. Bu sezgi doğru mu?

Düzenleme ben "sanal makinelere" tarafından ben etmediğini söylemek gerekir özellikle anlamına VMware . Bunun yerine, sanallaştırılmış örneklerin genel kavramını kastetmiştim.

Yanıtlar:


19

Basit gerçek şu ki, bir VM içindeki saat doğruluğu hala gerçekten kötü. Bu birkaç noktadan geliyor, ama katil şey zaman kayması sabit değil; sürüklenme faktörü an be an değişir. NTP, içinde saat telafisi bulunan bir protokoldür, ancak yerleşik bir statik sürüklenme faktörü ile tasarlanmıştır. Örneğin, fiziksel bir makine her 30 günde bir 12 saniyeyi kaybederse, NTP bunu telafi edebilir ve çok iyi yapar. Ancak bu makine her 30 günde bir 4 ila 70 saniyede bir yerde kaybedebilirse, NTP bu değişiklik seviyesini takip etmekte o kadar iyi değildir.

NTP'nin bir VM ortamında kalmasını gerçekten zorlaştıran şey, gördüğü yerel saatin bir dakika boyunca sürüklenme faktörünü değiştirebilmesidir. Ana zaman kaynaklarını kontrol ettiği frekansa bağlı olarak, büyük sürüklenme faktörü değişikliklerine ve senkronizasyonunun çok daha sık gitmesine neden olabilir. Senkronizasyon dışı zaman kuruluşunuz genelinde kademelendirir.

Yerel bir ağ için NTP, çok az bellek alanına sahip nispeten düşük etkili bir protokoldür ve DNS ve DHCP sunucularınız gibi diğer ağ altyapısı sunucularınızda mutlu bir şekilde geri dönebilir. Bazı yönlendiriciler de NTP işlevselliği sağlayabilir, bu yüzden buna bakmak isteyebilirsiniz.

İdeal olarak, farklı konumlarda her biri farklı bir yüksek katman sunucusuna eşitlenen iki ayrı sunucu istiyorsunuz. Ayrıca, her iki zaman sunucusunun da diğer sunucuyu 'eş' olarak kullanacak şekilde yapılandırılmış olması çok iyi bir fikir olacaktır; bir katman değişikliği olacak, ancak en azından senkronize olmadığını bildirmeyecek. Ve son olarak, yukarı akış zamanı sağlayıcılarınıza iyi davranın ve sunucularınızı, bir kez iyi kurulduktan sonra anketler arasında çok uzun bir süre geçecek şekilde yapılandırın. Bu, 'sunucu' satırındaki 'maxpoll' parametresidir ve senkronizasyon denemeleri arasında iki saniyelik bir güçtür.

Bunun için kesinlikle VM kullanmanız gerekiyorsa, en az üç NTP sunucusu ayarlardım. Bunların her birinin farklı bir ana bilgisayarda olması ve mümkünse farklı bir veri merkezinde olması gerekir. Az önce önerdiğim gibi, farklı zaman kaynaklarına ihtiyaç duyuyorlar ve birbirleriyle eşleşmeli. Ardından, tüm NTP istemcilerinizi bu üç kaynağı da Üst Kaynak olarak kullanacak şekilde yapılandırın. Maksimum değerlerinizin, ağ dışında senkronizasyon paketleri arasında ve ağda 30 dakika arasında asla bir buçuk saatten fazla olmayacak kadar düşük olduğundan emin olun. Şansın iyi olduğu, herhangi bir zamanda üçünden en az birinin senkronize olacağıdır. Yalnızca bir zaman sunucusuyla konuşabilen müşteriler için, zaman zaman senkronizasyon dışı etkinliğe katlanmak zorunda kalacaklar. Genel olarak, bu senaryoda zaman kalitesi fiziksel sunucularda olduğu kadar kesin olmayacaktır.

Eğer top park etmek zorunda olsaydım, saf VM ortamında fikir birliği zamanınızın muhtemelen 30 ila 100 ms arasında olacağını söyleyebilirim. Tamamen fiziksel bir ortamda, zaman sunucuları yerleşmek için yeterince uzun süre kaldıktan sonra fikir birliği süreniz muhtemelen 10 ms içinde olacaktır.


1
Sadece iki yerel NTP sunucusu değil, en az üç tane istediğime eminim . Bir müşteri sadece ikisi arasında nasıl bir ayrım yapar?
James A. Rosen

Bazı gizli nedenlerden dolayı en az dört taneye ihtiyacınız var. Bununla birlikte, sadece yarım düzine harici sunucu ile senkronize edilen iki dahili sunucumuz var (ve bunların yerel saatleri yedek olarak). Bizim için yeterince iyi çalışıyor.
James

James A Rosen - Eş grup konfigürasyonunun sevinci bu. Eş grubun en az bir üyesi bir dış bağlantıya sahip olduğu ve eşzamanlı olduğu sürece, eş grubun tamamı eşzamanlıdır. İstemciler bir katmanı bozabilir, ancak en azından senkronizasyondan çıkmazlar. Akran grubunda üç kişi var mı? Sorun değil.
sysadmin1138

1
İhtiyacınız olan sunucu sayısı ile ilgili olarak, hepsi burada: support.ntp.org . Sadece bir tanesini listelerseniz, "doğru" veya "yanlış" olarak değerlendirilecek herhangi bir soru olamaz. [...] İki kişiyle hangisinin daha iyi olduğunu söylemek imkansızdır [...]. Bu aslında mümkün olan en kötü yapılandırmadır [...]. Üç sunucuyla, minimum zaman kaynağınız vardır [...] Bu yapılandırma yedeklilik sağlamaz. En az dört yukarı akış sunucusunda, [...] ntpd'nin seçebileceğiniz yeterli sayıda kaynağı olacaktır.
Mathieu

11

Vmware zaman tutma belgesine bakın . Bir VM'de NTP arka plan programı çalıştırmak, özellikle güvenilir zamana ihtiyacınız varsa, muhtemelen iyi bir fikir değildir.


2
Haha - "özellikle güvenilir zamana ihtiyacınız varsa"
squillman

1
Sizinle daha fazla anlaşamadım, aslında bir
VM'de

6

ne yazık ki ntp ve sanallaştırma birlikte pek iyi gitmiyor. istemciler çoğu durumda uygundur, ancak ntp sunucusu (esp str2 ve üstü) genellikle sanal sunucuda güvenilir şekilde çalışmaz.

xen ve xen kurumsal bakış açısından yorum yapıyorum, ama vmware / kvm sadece aynı olacağına inanıyorum.

farklı sunucular yeniden, evet, haklısın, ideal olarak onlar farklı ortamlarda da olmalı, böylece sıcaklık / nem de doğruluğu etkilemez, ama en azından ben bununla uğraşmayın. Ayrıca, ne yaparsanız yapın hala uygun atom saati kadar doğru olmadığını unutmayın, bu yüzden bu (çok hafif) sapmayı kabul edin.


1

NTP'yi sanallaştırılmış bir ortamda çalıştırdığınızda, 20 ms'lik doğruluk elde etme şansınız olacak (VMware'i kullanarak bunu yaptık). Sanallaştırılmış saat eğriliği, özellikle kaynak çekişmeli sanallaştırılmış bir ortamda kötüdür.

Ne kadar doğru olmanız gerektiğine bağlıdır. Sadece ikincisini (web sunucuları için EG) önemsiyorsanız, kaynak çekişmeniz olmadığı sürece iyi olacaksınız. Milisaniye doğruluk (meşgul veritabanı, günlük sunucusu, araştırma projesi gibi) istiyorsanız sanallaştırılmış zaman sunucularını unutun.

NTP sunucuları her zaman fiziksel ana bilgisayarlarda olmalıdır. En az 3 tanesi bir havuza bakmalıdır (böylece bir hileli sunucu havuz tarafından oylanacaktır); ve mümkünse, zamanlarını İnternet yerine GPS veya diğer yerel katman-0 kaynağından alın.

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.