суббота, 16 июля 2011 г.

VMware+RHEL6: BAR 13 can't allocate io resource

Имеется VMware ESXi 4.1u1, в нем запущена виртуалке с RHEL6.1. В лог-файле /var/log/messages заметил такие ошибки, штук 7-8
vRHEL kernel: pci 0000:00:15.7 BAR 13 can't allocate io resource.
Что же за устройства сидят на PCI-шине по такому адресу:
#lspci
00:11.0 PCI bridge: VMware PCI bridge (rev 02)
*****
00:15.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.7 PCI bridge: VMware PCI Express Root Port (rev 01)
*****
Слишком много, надо убрать минимум половину - меньше устройств - меньше грузиться будет, меньше памяти выделять и т.п.

Выключаем виртуалку.
Находим vmx-файл (конфигурационный файл) виртуалки vRHEL.vmx в моем случае.
ОБЯЗАТЕЛЬНО делаем резервную копию этого файла.
cp vRHEL.vmx vRHEL.vmx.good
Редактируем файл, убирая лишние записи
pciBridgeX.present = "TRUE" 
pciBridgeX.virtualDev = "pcieRootPort"
pciBridgeX.functions = "8"
pciBridgeX.pciSlotNumber = "YY" 
, где X=0..., я убрал сначала половину, потом все данные устройства.
Обязательно проверьте, что убрали ВСЕ строчки о  pciBridgeX, т.е. если убираете pciBridge1.present, то  убираете все строки с pciBridge1, иначе  может не запуститься виртуалка.
В моем случае после редактирования забыл удалить pciBridgeX.pciSlotNumber, после этого попытка запустить виртуалку закончилась ошибкой "Unable to allocate PCI sound adapter. Too many PCI devices already configured."

Комментариев нет:

Отправить комментарий