Başlangıç > VMware > 214: ESXi hostlar üzerinde PowerCLI ile zaman kontrolü

214: ESXi hostlar üzerinde PowerCLI ile zaman kontrolü

Bu sene geleneksel DST şenlikleri kapsamında, kış zamanına geçmeyecek olmamız, hepimizin fazlasıyla bilgi sahibi olduğu ve üzerinde çalıştığı bir konu. VMware’ın konu ile ilgili, kritik gördüğüm iki adet makalesi var, aşağıdaki linklerden erişebilirsiniz.

  • KB2135594: Daylight Savings Time (DST) end date in Turkey on November 8, 2015 and VMware products
  • KB2147470: Turkish time zone issue in VMware Identity Manager, Identity Manager Connector and Access Point

Konunun özünde, core servisler UTC kullandığı için bir etki beklemiyoruz. Ancak yine de, NTP tanımlarımızın doğru yapılmış olduğu ve ESXi sunucularımızda zaman kayması yaşamıyor olduğumuzun kontrolü genel anlamda önemli bir durum çünkü ESXi sunucular ile VM sunucular arasında zaman senkronizasyonu söz konusu olduğunda sıkıntı yaşamak istemeyiz.

Zaman kayması kontrolünü, bir PowerCLI scripti aracılığı ile hızlı bir şekilde yapabiliriz. Bu script gün itibari ile aceleye geldi, biraz daha geliştirdiğimde yeniden paylaşmayı planlıyorum, örnek olarak NTP servis durumu ve konfigürasyonlarının listelenmesi gibi.


Connect-VIServer -Server vCenterSunucunuz
$acceptedDifference = 2
$VMHosts = Get-VMHost | Where-Object {$_.ConnectionState -eq "Connected"} | Sort-Object Name

foreach ($VMHost in $VMHosts) {
$Color = "Green"
$DTS = Get-View $VMHost.ExtensionData.ConfigManager.DateTimeSystem
$Time = $DTS.QueryDateTime()
$Diff = ($Time - [DateTime]::UtcNow).TotalSeconds
If ([math]::abs($Diff) -gt $acceptedDifference) {$Color = "Red"}

If ($Diff -gt 0) {
Write-Host ("{0} sunucusu {1} saniye ileri" -f $VMHost.Name, [math]::abs($Diff)) -ForeGroundColor $Color
} Else {
Write-Host ("{0} sunucusu {1} saniye geri " -f $VMHost.Name, [math]::abs($Diff)) -ForeGroundColor $Color
}
}

Scriptin tek bir değişkeni var, saniye cinsinden kabul edilen maksimum zaman kayması. Buna göre çıktı yeşil renk veya kırmızı renkte olacaktır.

Basit olarak yaptığımız, UTC olarak zamanı ESXi sunucusundan almak, client olarak çalıştırdığımız işletim sisteminin zamanını da UTC olarak alıp karşılaştırmak. Eğer değer sıfırdan büyük ise, ESXi sunucusunun zamanı ileri, tersi durumda ise geri demektir. Tabi karşılaştırmayı scripti çalıştırdığımız PC veya sunucu ile yaptığımızdan dolayı, bu sistemin zamanının ortamımız ile senkron olduğundan emin olmamız gerekmektedir.

Örnek bir çıktı ise aşağıdaki şekilde görünmeli.

datetime

Umarım faydalı olur.

Kategoriler:VMware Etiketler:,
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: