Недавно столкнулся с неприятной проблемой на одном из серверов с VMware vSphere ESXi 5.5 U2. Сервер далеко не новый, собран был из остатков и для тестирования различных конфигураций ОС и ПО. Характеристики данного тестового стенда:
- MB Inel S5000PSL
- CPU 2x Intel E5310 1.6Ghz
- RAM 20Gb DDR2 ECC
- HDD 4xSATA 7200rpm 64mb cache WD Black + SuperTrak EX Controller
Узкое место здесь – дисковая подсистема, но тем не менее на данном сервере не запускались настолько ресурсоемкие приложения/задачи. В логах появлялись ошибки примерно такого содержания:
Device naa.5000c5000b36354b performance has deteriorated. I/O latency increased from average value of 1832 microseconds to 19403 microsecond
Как результат – низкая скорость работы ПО. Поиск информации о причинах данной проблемы и способах ее решения привели меня к тому, что нужно отключить технологию виртуализации Intel VT-d в самой ESXi. Правильно данный параметр называется interrupt remapping (iovDisableIR или Disable Interrrupt Routing in the IOMMU). Для ESXi 5.0-5.5 и 6.0 необходимо, подключившись по SSH, проверить состояние данной службы:
esxcli system settings kernel list -o iovDisableIR
Результат вывода:
Name Type Description Configured Runtime Default
------------ ---- --------------------------------------- ---------- ------- -------
iovDisableIR Bool Disable Interrupt Routing in the IOMMU FALSE FALSE FALSE
Для отключения выполняем такую команду:
esxcli system settings kernel set --setting=iovDisableIR -v TRUE
После этого перезагружаем сервер.
Более подробно можно прочитать в специализированном KB. Стоит отметить данная служба/технология может оказывать негативное влияние на работу datastor’а в плоть до его полного отключения.