Dell Unity/VNX: Sürüm 5.5 u2 ve üzeri ESXi ana bilgisayarlarında rastgele geçici bağlantı kaybı ve/veya performans düşüşü (Kullanıcı Tarafından Düzeltilebilir)
Summary: Ağır yüklü diziler, ağlar veya yapılar ATS komutlarını, dizinin ESXi'nin beklemediği bir ATS komutunda yanlış karşılaştırma denetimi koşulu döndürmesine yetecek kadar yavaşlatabilir. VMFS HeartBeat yuvasındaki bu ATS yanlış karşılaştırması nedeniyle ESXi ana bilgisayarı aygıtın kontrolünü yeniden ele geçirmeye çalışır. Bunu yapmak için ana bilgisayar, VMFS'yi tutan LUN'da bir SCSI aygıtı sıfırlaması yayınlar. Bu LUN üzerindeki tüm etkin G/Ç'ler iptal edilir ve SCSI aygıtı sıfırlanır. VMkernel günlüklerinde geçici bir bağlantı kaybı görünüyor. ...
Symptoms
SENARYO:
- ESXi 5.5 güncellemesi 2 veya ESXi 6.0'a ana bilgisayar yükseltmesi
- Bir veya daha fazla ESXi ana bilgisayarı, kısa bir süre için VMFS veri deposuyla bağlantısını kaybeder. Veri deposundaki tüm VM'ler çökebilir veya G/Ç hataları olabilir.
- VMFS HeartBeat yuvasındaki Atomik Test ve Ayarın (ATS) yanlış karşılaştırılması nedeniyle ESXi ana bilgisayarı, VMFS'yi tutan LUN'da bir SCSI aygıt sıfırlaması yayınlayarak aygıtın kontrolünü yeniden ele geçirmeye çalışır.
- Bu LUN üzerindeki tüm etkin G/Ç'ler iptal edilir ve SCSI aygıtı sıfırlanır.
- VMkernel günlüklerinde geçici bir bağlantı kaybı görünüyor.
ATS Yanlış Karşılaştırma hem NMP hem de PowerPath ile olabilir.
/var/log/vmkernel.log'de aşağıdakine benzer bir ATS yanlış karşılaştırmasını gösteren hata mesajları görüntülenir:
2015-11-20T22:12:47.194Z cpu13:33467)ScsiDeviceIO: 2645: Cmd(0x439dd0d7c400) 0x89, CmdSN 0x2f3dd6 from world 3937473 to dev "naa.50002ac0049412fa" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0xe 0x1d 0x0.
Oluşabilecek diğer sorunlar:
- Ana bilgisayarların vSphere vCenter bağlantısı kesiliyor
- G/Ç işlemlerinde takılan sanal makineler
Cause
Bu sorun, ana bilgisayarların G/Ç isteklerini iptal etmesine yol açacak kadar aşırı yüklenmiş dizilerde, ağlarda veya yapılarda görülmüştür.
Birçok dizi satıcısı (Dell dahil), ESXi 5.5u2'de kullanıma sunulan ATS sinyal özelliğiyle ilgili sorunlar yaşıyor.
NOT: Broadcom (VMware) KB 326437 ye (harici bağlantı) göre bu sorun, ESXi sürümleri VMware ESXi 5.5.x ve VMware ESXi 6.0.x'i etkiler ve belirli tüm sürümleri sağlamaz, bu nedenle bu KB, 5.5u2 ve sonraki sürümlere sahip tüm ESXi ana bilgisayarlarını varsayar ve tüm ESXi 6.0 sürümleri etkilenir.
Ana bilgisayar, belirli bir disk bölümündeki kalp atışına düzenli aralıklarla G/Ç gerçekleştirerek canlılığını gösterir. Bu nedenle, ana bilgisayarın kalp atışı yuvasında belirli bir süre boyunca herhangi bir etkinlik görülmezse ana bilgisayarın disk bölümüyle bağlantısının kaybolduğu sonucuna varabiliriz.
ATS sinyal G/Ç'sinin zaman aşımı değeri çok düşüktür. Bu durum, ana bilgisayar bağlantısının kesilmesine ve uygulama kesintilerine yol açarak disklerde bağlantı kaybına ve/veya ana bilgisayarlarda performans düşüşüne yol açabilir.
Ardından ana bilgisayar, yanlış karşılaştırmayı sinyal yuvasına kaydeder ve sıfırlama işlemini gerçekleştirirken LUN'daki tüm etkin GÇ'yi iptal eder. Bu LUN'da bekleyen tüm GÇ'ler, ana bilgisayar anlayışı 8 (H:0x8 SCSI sıfırlaması) ile başarısız olur.
Resolution
Bu durum gözlemlenirse önerilen geçici çözüm, VAAI ATS sinyal mekanizmasının devre dışı bırakılmasıdır. Daha fazla bilgi için Broadcom (VMware) KB 326437 (harici bağlantı) bölümüne bakın. ATS kalp atışı mekanizmasının devre dışı bırakılması, ana bilgisayarı eski moda geri döndürür. Yük ele alındıktan sonra ATS kalp atışı mekanizmasını yeniden etkinleştirin.
Sorunu doğrulamak için VMware ile iletişime geçin veya onay için vmsupport ile bir ESXi emcgrab sağlayın. ESX sunucusundaki VAAI ATS Sinyal işlevinin devre dışı bırakılması, yük sorunları giderilene kadar YALNIZCA etkilenen müşteriler için önerilir.
Additional Information
Unity günlükleri, bu tür iptalleri tanımlamak için kullanılabilir (Algılama Anahtarı = 0e, ASC = 1d, ASCQ = 00)
Ayıklanan günlüklerdeki günlük konumu şu şekildedir:
Günlükleri kontrol etmek için yukarıdaki konumdaki tüm c4_safe_ktrace.log* günlükleri ayıklayın ve ardından "SK = 0x0e, ASC/Q = 0x1d00" ifadesini arayın.
Linux sistemi veya benzeri bir örnek:
grep -i "SK = 0x0e, ASC/Q = 0x1d00" spa/EMC/C4Core/log/c4_safe_ktrace.* | wc -l 15744 <<<< count of aborts on SPA in this example.
Ktrace günlükleri çıkarılmazsa, zgrep kullanmanız yeterlidir:
zgrep -i "SK = 0x0e, ASC/Q = 0x1d00" spa/EMC/C4Core/log/c4_safe_ktrace.* | wc -l 15744 <<<< count of aborts on SPA in this example.