1. Anasayfa
  2. Dell-EMC

Dell-EMC vXrail’de VxVerify Hatası: “ntp_reach: NTP not reachable from vCenter” Uyarısının Giderilmesi


VxRail hiper bütünleşik altyapısı ile basit yönetim ve otomatik kontrol imkânı sunarken VxVerify gibi araçlarla sistem tutarlılığını denetlemeyi hedefler. Ancak her kontrol aracı gibi VxVerify da zaman zaman yanlış alarmlar üretebilir.

Bu makalemde vCenter sunucusunun NTP sunucularına ulaşamadığını iddia eden ntp_reach: NTP not reachable from vCenter hatasını ve bu uyarının gerçek bir sistem arızası mı yoksa sahte bir alarm mı olduğunu nasıl ayırt edebileceğinizi tüm detaylarıyla ele alacağız.


VxVerify çalıştırıldığında aşağıdaki gibi bir tablo ile karşılaşabilirsiniz.

#========================#======#=========#====================================================================#==============#
|  Hostname / Category   |Status  Dell_KB |  Warnings or Failures, unless tests Passed                         ; Product S.N. |
#========================#======#=========#====================================================================#==============#
| vCenter_root           | Failure  296462| ntp_reach: NTP not reachable from vCenter                                         |

Bu satırda belirtilen durum vCenter sunucusunun NTP sunucularıyla bağlantı kuramadığı anlamına gelir. Ancak bu her zaman doğru değildir. VxVerify bu testi SSH ile bağlandığı vCenter’da ntpq komutu üzerinden reach değerini okuyarak yapar. Eğer komut çalıştırılamazsa ya da shell ortamı uyumsuzsa hatalı bir uyarı üretilebilir.

Adım Adım Gerçek Durumu Analiz Etme

1. vCenter ve VxRail Manager Üzerinden NTP Bağlantı Testi

İlk olarak gerçekten NTP sunucularına erişim sağlanıp sağlanmadığını aşağıdaki şekilde test ediniz.

  1. Hem vCenter Server Appliance (VCSA) hem de VxRail Manager sunucusuna root kullanıcısı ile SSH bağlantısı kurun.
  2. Aşağıdaki komutu çalıştırınız.
ntpq -p

Hatalı (Problemli) Çıktı Örneği:

     remote             refid           st t when poll reach   delay   offset  jitter
======================================================================================
0.tr.pool.ntp.org      .INIT.          16 u    -   64    0    0.000    0.000   0.000
1.tr.pool.ntp.org      .INIT.          16 u    -   64    0    0.000    0.000   0.000

Burada reach sütununun değeri 0 olarak görünüyor. Bu sistemin henüz NTP sunucularına ulaşamadığını veya konfigürasyonun hatalı olduğunu gösterir.

Sağlıklı (Başarılı) Çıktı Örneği:

     remote             refid             st t when poll reach   delay   offset  jitter
========================================================================================
0.tr.pool.ntp.org      195.87.197.172     2 u   6   128   377    0.123    0.534   0.178
1.tr.pool.ntp.org      193.140.100.100    2 u  32   128   377    0.117    0.624   0.190

reach değeri 377 olan bu çıktı sistemin NTP sunucularıyla aktif olarak iletişim kurduğunu gösterir. Gecikme (delay), sapma (offset) ve titreme (jitter) değerleri de oldukça sağlıklıdır. Bu durumda VxVerify’ın hatası gerçek dışı bir alarmdır.

Neden Bu Hata Görülüyor? (VxVerify Bug)

VxVerify, ntpq çıktısını doğru şekilde okuyabilmek için vCenter üzerinde bash shell ortamına ihtiyaç duyar. Ancak VCSA’lar varsayılan olarak “Appliance Shell” ile çalışır. Bu durumda:

  • ntpq komutu çalıştırılamaz ya da hatalı döner,
  • VxVerify sistemde NTP problemi olduğunu varsayar,
  • Gerçekte bağlantı olsa bile “unreachable” hatası verir.

Çözüm: vCenter Shell Ortamını Bash’e Geçirme

Bu sorunu düzeltmek için vCenter sunucusunda geçici olarak root kullanıcısını bash shell‘e geçirmek yeterlidir:

chsh -s /bin/bash root

Oturumu kapatın ve tekrar bağlanın.

ntpq -p komutunu tekrar çalıştırarak çıktıyı kontrol edin.

reach = 377 ise her şey yolunda demektir. Artık VxVerify yeniden çalıştırılabilir.

Not: Dilerseniz işlem sonrasında shell ortamını yeniden “Appliance Shell” olarak geri alabilirsiniz:

chsh -s /bin/appliancesh root