VMware vSphere 6.7 ve sonrası ortamlarında 10 Gigabit Ethernet (10GbE) kartları kullanıldığında NFS datastore’ları üzerinde büyük okuma işlemleri (64KB ve üzeri) sırasında I/O performans dalgalanmaları gözlemlenebilir.
Bu sorun belirli 10GbE ağ denetleyicileri (NIC) ile kullanıldığında ortaya çıkmaktadır ve ESXi’nin dahili NFS istemcisine özgüdür. Sanal makineler içinde çalışan NFS istemcileri bu sorundan etkilenmez.
Bu makalemde sorunun belirtilerini, nedenlerini ve çözüm yollarını inceleyeceğiz.
Sorunu hafifletmek için vmnic’in “receive ring size” (rx parametresi) değerini maksimuma çıkarmak önerilir. Öncelikle, ESXi Shell’e erişiniz. Öncelikle sistemde mevcut olan NIC (ağ kartlarını) listeleyiniz.
vSphere 6.x ortamlarında NFS okuma işlemleri sırasında performans dalgalanmaları ve 10GbE NIC’lerde artan paket hataları NIC’in “receive ring size” parametresinin yetersiz olmasından kaynaklanabilir.
esxcli network nic list
Name PCI Device Driver Admin Status Link Status Speed Duplex MAC Address MTU Description
---- ---------- ------ ------------ ----------- ----- ------ ----------- --- ---------------
... vmnic6 0000:24:00.0 ixgbe Up Up 10000 Full xx:xx:xx:xx:xx:xx 1500 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection
...
Aşağıdaki komutla belirtilen NIC’in mevcut “receive ring” değerlerini inceleyiniz.
esxcli network nic ring preset get -n vmnicX
Bu komut NIC üreticisi tarafından belirlenen maksimum değerleri gösterecektir. Mevcut “receive ring” değerini kontrol etmek için;
esxcli network nic ring current get -n vmnicX
NIC’in “Receive Ring” Değerini Maksimuma Ayarlayın
Bu işlemi yapmadan önce ESXi host’unuzu maintannce moduna alın.
Örneğin Intel 82599 NIC kullanıyorsanız aşağıdaki komutla receive ring değerini 4096’ya yükseltebilirsiniz.
esxcli network nic ring current set -n vmnicX -r 4096
Eğer hata alırsanız değeri 2040 veya 1020 gibi daha düşük seviyelere ayarlamayı deneyiz.