VMware vSphere Precision Time Protocol (PTP) Desteği
VMware vSphere 7.0 ile birlikte gelen önemli özelliklerden biri de zaman senkronizasyonu için Precision Time Protocol (PTP) desteğinin gelmesidir. Özellikle zaman senkronizasyonu ve doğruluğunun nanosaniye seviyesinde önemli olduğu bazı kritik sektörlerde Network Time Protocol (NTP) yerine Precision Time Protocol (PTP) protokolü kullanılmaktadır. Bu makalede, sırasıyla aşağıdaki konulara değinilecektir;
- Zaman Senkronizasyonu Nedir? Neden Önemlidir?
- Zaman Senkronizayon Protokolleri Nelerdir?
- VMware vSphere 7.0 NTP/PTP Zaman Senkronizasyon Ayarları Nereden Yapılır?
Zaman Senkronizasyonu Neden Kritiktir ve Önemlidir?
Zaman senkronizasyonu, sistem altyapısında birbirinden bağımsız zamanlar kullanan bileşenler arasında koordinasyon sağlayan bir tekniktir. Başlangıçta bütün bileşenlerin saatleri doğru ve aynı ayarlanmış olsalar bile saatlerin sayım sürelerinden kaynaklanan zaman kaymaları yaşanabilir. Bu sebeple, zaman içerisinde, sistem bileşenleri arasında başlarda saniye, daha sonra ise dakika cinsinden zaman farklılıkları olması muhtemeldir. Bu durumu ortadan kaldırmak için sistem bileşenlerinin tamamının aynı zaman kaynağından (time source) saat bilgisini alması gerekmektedir.
Zaman senkronizasyonu ve doğruluğunun önemi konusunda bir çok örnek vermek mümkündür. Bir üretim alanında kullanılmakta olan, mutlaka birbiri ardına işlem yapması gereken beş adet makinenin zamanlarının farklı olması üretim bandının durması anlamına gelir. Bir bankanın müşterilerine Internet Bankacılığı hizmeti vermekte olduğu bir sistemin saatinin yanlış olması düşünülemez. Bir nükleer santrali kontrol eden otomasyon sisteminin veya bir şehrin kamera kayıtlarını tutan (MOBESE) sistemlerinin saatinin yanlış olması hayati, idari ve adli bir çok kötü sonucun doğmasına sebep olabilir.
VMware sanallaştırma altyapısında bulunan vCenter Server, ESXi hostlar ve sanal makinelerin saatlerinin yanlış olması da bir çok sistemsel probleme yol açabilmektedir. Bu durum; vCenter Server ve ESXi hostların üretmiş oldukların logların yanlış zaman damgasına sahip olmasına, ortaya çıkabilecek olası performans problemlerinin tam olarak ne zaman çıktığının anlaşılamamasına sebep olur. Eğer sanal makineler zaman bilgisini üzerinde çalıştıkları ESXi hostlardan alıyorsa, sanal makinelerin de zaman bilgisi yanlış olacaktır. Bu durum, bazı uygulamaların çalışmamasına bile neden olabilmektedir.
Özetle zaman senkronizasyonu ve zamanın doğruluğu bir çok altyapıda olduğu gibi VMware sanallaştırma altyapısında da çok önemlidir.

Zaman Senkronizasyon Protokolleri Nelerdir?
Zaman senkronizasyonu için iki temel protokol kullanılmaktadır;
- NTP (Network Time Protocol)
- PTP (Precision Time Protocol)
NTP (Network Time Protocol)
NTP (Network Time Protocol) çok uzun zamandır (30 yıl) ve en yaygın kullanılan zaman senkronizasyon protokolüdür. NTP protokolü ethernet ağları üzerinden çalışan bir protokol olup zaman senkronizasyonunu sağlayan özel bir ekipman gerektirmez. Sistem altyapısında kullanılmata olan ağ anahtarı ve yönlendiriciler tarafından desteklenen bir protokoldür. NTP’nin zaman senkronizasyonu konusundaki doğruluk hassasiyeti çok iyi değildir. NTP Server’dan alınan zaman bilgisi ağ üzerinden iletildiğinden ağ üzerindeki gecikmeler zaman bilgisinin doğruluğunu da etkiler. NTP protokolü kullanılan ağlarda iki nokta (NTP Sunucu-NTP İstemci) arasındaki senkronizasyon doğruluk farkı 100 milisaniyeye kadar çıkabilir, hatta büyük ağlarda bu iki nokta arasındaki fark 2 saniyeyi bile bulabilir. Bu sebeple, NTP protokolü 100 ms. altında doğruluk hassasiyeti gerektiren sektörler için (finans, bankacılık, askeri elektronik ve savaş sistemleri, nükleer santral vs.) yeterli bir protokol değildir.
NTP protokolü, VMware ESXi hostlar tarafından ilk versiyondan beri desteklenen bir zaman senkronizasyon protokolüdür. ESXi hostlar NTP istemcisidirler ve bir NTP sunucusundan zaman bilgisini alabilirler. NTP Sunucusu LAN üzerinden erişilebilen bir sunucu olabileceği gibi Internet üzerinden erişilebilen bir NTP sunucusu da olabilir (ntp.org gibi). NTP protokolü UDP 123 numaralı portu kullanmaktadır.

PTP (Precision Time Protocol)
PTP (Precision Time Protocol) IEEE-1588 standardının bir uygulaması olup hassas zaman senkronizasyonu için kullanılmaktadır. PTP protokolünün ilk gerçekleştirmesi 2003 yılında yapılmış olmakla birlikte, 2008 ve 2019 yıllarında güncellenmiştir. PTP protokolü master-slave mimarisinde çalışır, ortamda PTP mesajlarını networke iletmekten sorumlu bir ağ ekipmanı bulunmaktadır. PTP cihazları uydudan elde ettikleri hasas zamanı ağ segmentine direkt ve gecikmesiz olarak iletirler. İki nokta arasındaki fark 100 nanosaniyenin altındadır. PTP protokolü bankalar, cep telefonu operatörleri, denizaltılar başta olmak üzere hassas zamanlama gerektiren her yerde kullanılmaktadır. PTP destekleyen birkaç cihaz aşağıda gösterilmektedir.


vSphere 7.0 versiyonuna kadar desteklenen zaman senkronizasyon protokolü sadece NTP’dir. Ancak başta yukarıda anılan sektörler olmak üzere daha hassas zaman senkronizasyonu isteyen kurumlar için vSphere 7.0 versiyonla birlikte Precision Time Protocol desteği de gelmiştir. vSphere 7.0 hem NTP hem de PTP protokolünü desteklemektedir.
VMware vSphere 7.0 PTP Ayarları Nasıl Yapılır?
ESXi 7.0 host üzerinde zaman senkronizasyonunu konfigüre etmek için aşağıda gösterildiği gibi Configure / Time Syncronization sekmesine gidilir.

NTP eskiden beri desteklenen bir protokol olduğu için burada PTP konfigürasyonu gösterilecektir.

PTP ayarı yapabilmek için NTP’nin mutlaka kapalı olması gerekmektedir. PTP enable edilerek, PTP hizmeti veren cihazın ip adresi ve buraya hangi vmkernel portu üzerinden gidileceği seçilir.
Not: Ortamda kullanılan sanal makinelerin de aynı PTP Server üzerinden zaman bilgisini alması mümkündür, bunun için Virtual PTP denilen bir sanal donanım kullanılmaktadır. Virtual PTP, Virtual Machine Hardware Version 17 ile birlikte gelmiş olup bir başka makale içinde anlatılıyor olacaktır.
Ömer AŞIK
VMware Certified Instructor
