NTPD ve ntpdate'i karşılaştırın


23

Sunucunuzu eşitlemek için bu iki yol arasındaki avantaj ve dezavantajlar nelerdir?

Bana öyle geliyor ki sunucunuz her gün 1 saniyeden fazla kaymayacak, bu yüzden bir crontab üzerindeki ntpdate iyi olacaktı. Ancak burada gereksiz NTP sunucularını kullanabileceğinizi duydum

http://www.pool.ntp.org/en/use.html

Arıza durumunda senkronize zamanı korumak için.

Önerin var mı?

Yanıtlar:


26

NTP algoritması, sunucunuzun saatindeki kaymayı hesaplamanıza ve düzeltmenize olanak sağlayan bilgiler içerir. NTPD, saatinizi senkronize tutmak için bunu kullanma özelliğini içerir ve NTPD kullanmayan bir bilgisayardaki bir saatten daha doğru çalışacaktır. NTPD ayrıca doğruluğu artırmak için birkaç sunucu kullanacaktır.

ntpdate bu hizmeti sizin için yapabilecek hiçbir durumu tutmaz, bu nedenle aynı doğruluk sağlamaz. Size daha iyi bir sonuç elde etmek için kullanacağı bir sunucu listesi sunmanıza izin verecektir, ancak bu, NTPD'de sağlanan zaman içinde her bir sunucudan sapmanızı izleyen karmaşık algoritmaların yerini almaz.

NTPDATE sistem saatini anında düzeltir ve bu da bazı yazılımlarda sorunlara neden olabilir (örneğin, şimdi eski görünen bir oturumu imha etmek). NTPD kasıtlı olarak sistem saatini yavaşça düzelterek bu sorunu önler. NTPD'yi başlatırken -g anahtarını ekleyerek, NTPD'nin ilk kez güncelleme yapmasını, bir defada önerilen uygulama olan NTPD'ye başlamadan önce ntpdate'i çalıştırmaya eşdeğer olan büyük bir güncelleme yapmasını sağlayabilirsiniz.

Güvenlik endişelerine gelince, ntp sunucuları doğrulanmamış bağlantılara geri bağlanmamaktadır; bu, güvenlik duvarınızın ntp isteğini başlattığınızı ve geri dönüş trafiğine izin verdiğinizi söyleyebilmesi gerektiği anlamına gelir. NTPD'nin çalışması için portları keyfi bağlantılar için açık bırakmaya gerek olmamalıdır.

Ntpdate (8) kılavuz sayfasından:

ntpdate, ana bilgisayar saatini ayarlamak için gerektiği şekilde manuel olarak çalıştırılabilir veya saati önyükleme sırasında ayarlamak için ana bilgisayar başlangıç ​​komut dosyasından çalıştırılabilir. Bu, bazı durumlarda NTP arka planını ntpd'ye başlamadan önce saati ayarlamak için kullanışlıdır. Nntdate'i bir cron betiğinden çalıştırmak da mümkündür. Bununla birlikte, cron komut dosyası içeren ntpdate öğesinin, kaynak kullanımını en aza indirirken doğruluk ve güvenilirliği en üst düzeye çıkarmak için karmaşık algoritmalar kullanan NTP arka plan programı yerine geçmediğine dikkat etmek önemlidir. Son olarak, ntpdate, ntpd'de olduğu gibi ana bilgisayar saat frekansını disipline etmediğinden, ntpdate'i kullanan doğruluk sınırlıdır.


Ntpd'ye başlamadan önce ntpdate kullanmaktan daha iyidir: sadece -g kullanın!
Alex J

8

Ntpdate yerine ntpd tercih edilir çünkü saatinizdeki atlamalardan ziyade zaman düzeltmesini elde edersiniz. İçlerinde geriye doğru bir zaman atladığında kayıtlarından ne anlam çıkarırsın? ntpdate ayrıca sunucular arasında gerektiği gibi şeffaf bir şekilde geçiş yapacaktır.

Açık portlara ihtiyaç duyulduğunda (Kyle tarafından belirtildiği gibi), ntpd'nin daha yeni sürümleri (örneğin Debian sunucumda 4.2.4), LAN'a kriptografik doğrulama ile yayın yapmak / çok noktaya yayın yapmak için yapılandırılabilir.

Düzenleme: ayrıca bu soruya bakın .


5

Genel olarak NTPD çalıştırmanızı ve sunucularınızı kuruluşunuzdaki belirlenmiş bir zaman sunucusuyla senkronize etmenizi öneririm. Bu dahili sunucu genellikle ortak NTP sunucularından biriyle (senkronize ettiğiniz şekilde) senkronize olur.

Ntpdate yöntemini sorunsuz kullandım, ancak gerçek bir ntpd arka plan programı çalıştırmaktan daha acayip görünüyor.


3

Nntpd çalıştıran sanal makinelerde saatin çarpmasıyla ilgili sorunları duydum. Ayrıca, ntpdate'i havuz sunucularının birçoğuna karşı çağıran düzenli cron işleri çalıştırarak bu sorunu düzelttiklerini de duydum. Bu problemleri yaşamadım ama birkaç kez duydum.


1
Bir VM'de gıdıklanmamış bir çekirdek çalıştırmak isteyeceklerdir
goo

1
ESX VM'lerinde VMware tools yazılımı zamanı senkronize etmeye özen gösterir, bu nedenle VM'ler üzerinde VM'lerde ntpd kullanmayın. Bunun yerine ana bilgisayarlara NTPD kurun ve gerisini VMware araçlarının halletmesine izin verin.
dunxd

3

Başka yerlerde de belirtildiği gibi, NTP sorunsuz bir zaman düzeltmesi sağlar. Sunucunuzdaki uygulamaların bir saniye boyunca kaybolması sakıncası yoksa veya aynı saniyeyi tekrar tekrar yapıyorsanız, ntpd size ntpdate'ten fazla kazanmaz.

Öte yandan, saniyelere duyarlı, hatta daha da kötüsü kısmi saniyelere duyarlı zamana duyarlı uygulamalarınız varsa, ntpd çok daha iyi bir seçim olacaktır. Novell eDirectory, güncellemeler çok hızlı gelirse (örneğin sabah oturum açma telaşı sırasında) kritik öneme sahip olan güncelle-çarpışma yönetimi güncellemelerini damgalar. Bir syslog sunucusunun akılda kalan kayıtları tutmak için en az yarım saniyeye kadar zamana sahip olması gerekir.

Evdeki MythTV kutum için, kablolu yayın sağlayıcımın zaman harcadığı zamandan birkaç saniye uzakta olduğunu fark ettim, bu yüzden NTP kullanıyorum. İşyerindeki UPS monitör sunucusu için, aynı nedenlerle crontabbed ntpdate kullanıyorum, Kyle Hodgson, bir kilitleme sunucusu olduğu için, uygulamayı kilitlemiş olsam bile, bu bağlantı noktasının açılmasını istemiyorum; Çünkü bu uygulama gerçek dışı ikinci olmak zor değil.

Artıklık olarak, ağımızda en az iki zaman sunucusu bulundurur ve tüm iç bilgisayarlarımızı bu ikisine işaret ederiz. Bu ikisi daha sonra farklı internet NTP ana bilgisayarlarını izler. Üstelik, bir Akran düzenlemesinde yapılandırılmışlardır, böylece eğer internet bağlantımız koparsa aralarında uzlaşmaya varabilen zamanları koruyabilirler. Sağlam NTP mühendisliği kesinlikle mümkündür.


1

Erişim ve sertleşmenin kritik olduğu bir sunucuda, güvendiğim ntpd sürümü olan xntpd'nin 123 açık bir UDP bağlantı noktası gerektirdiğini düşündüm. Sadece tcp 22 ve 80'i açmayı tercih ettiğim için ntpdate kullandım Bunun yerine bir crontab içinde. Buna ihtiyaç duyduğum için neden iyi bir sebep duymadım ya da hatırlamıyorum.

Bir crontab'lı ntpdate çağrısı kullanmanın eksilerinden biri, sapma düzeltmesini zarif bir şekilde yapamamasıdır. ntpdate, iirc, tarihi geçmiş olduğunu söyleyebilir en kısa sürede saati günceller. Bu, günlüklerinizin aklı başında tutulmasının avantajına sahiptir - örneğin, yoğun bir web sunucusunda, eğer RTC birkaç dakika sürüklendiyse, ertesi gün web günlüklerini okuduğunuzda insanların güvenli bir şekilde vurulabileceğini düşünebilir. URL’ler oturum açmadan önce, web hitleri sıra dışı olacağından.


1

ntpdate bir defalık güncellemeler için tasarlanmıştır, zamanın düzenli olarak senkronize edilmesini istiyorsanız, o zaman servisi bu amaç için kullanın, ntpd.

Ntpd'yi kullanabildiğim kadar kullanmamak için zorlayıcı bir neden yok


0

Crontab kullanmanıza gerek yok, ntpd bunun için var.

Başlangıçta, zamanınız bittiğinde, bir yol ntpd'yi durdurmak, sonra ntpdate ntp.server.comtekrar senkronize etmek için koşup tekrar ntp'yi başlatmaktır.

Yine de büyük bir ağınız varsa, muhtemelen birkaç yerel ntp sunucusu kurar ve tüm ana bilgisayarları kullanmasını sağlardım.


0

Neden “ntpdate” in hala istendiğini ve kullanımda olduğunu anlamak için bu tartışmaya bakınız .

Özetlemek gerekirse: ntpd, -g seçeneğinde bile çok büyük bir zaman ayarı yaparken yavaşlar .


-3

Evde kullanım için, ntpdate gerçekten biggie değildir .. "Yavaş" olmasının bir nedeni var. PRODUCTION ENTERPRISE ortamında ntpdate ile bir cron kullanan herkes tam bir aptaldır.


2
Kullanımlar var. +/- 1000ms veya daha fazla her türlü ve zaman çözünürlüğü gereksinimi olan minimum açık portlara sahip olma ihtiyacı olan bir sunucu gibi, cron + ntpdate zaman senkronizasyonunu sürdürmek için mükemmel bir yoldur.
sysadmin1138
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.