28 июля, 2016

IBM x3850 m2, ядро 4.4 и блуждающие сетевые адаптеры

Некоторое время назад дошли наконец-руки до обновления Proxmox с 3.х до актуальной сейчас версии 4.2. Прошло не без проблем, но особых трудностей они тоже не создали. За исключением одного сервера. Есть у меня среди прочих некогда очень крутой IBM x3850 m2, в который в свое время затолкали 4 6-ядерных Xeon X7460 и 112 гигов фуллбуфферед-памяти. При всей суровости комплектации, обогнать современные серверы он может разве что по энергопотреблению, но на кучку всяких не очень требовательных к производительности виртуалок его все еще хватает.

Еще попутно с обновлением проксмокса в серверы были установлены 10GBe-адаптеры Intel X540, впрочем, не буду забегать вперед.

После обновления ядра до 4.4, тот x3850 m2 напрочь отказался загружаться, впадая в кернел паник при инициализации встроенного RAID-контроллера ServeRAID-MR10k (он же LSI 1078). Беглый гуглеж показал, что не один я столкнулся с этой проблемой, в качестве решения предлагалось добавить к параметрам ядра iommu=soft. Попробовал - помогло. Сервер загрузился. Настроил 10-гигабитную сетку, все проверил, работает, но так продолжалось до следующего ребута, после которого из системы напрочь пропала 10-гигабитная карточка. lspci молчит, но сервер, однако, при начальной загрузке карточку явно распознает, да и Intel Boot Agent мелькает при этом. Но в системе карточку не видно.

Было решено копать в сторону RAID-контроллера, т.к. в сторону Intel'a ничего путного накопать не удалось. На паре форумов встретил упоминание, что от iommu=soft в параметрах загрузки некоторых избавило обновление прошивки контроллера. Самой свежей прошивкой на сайте IBM была 11.0.1-0042, у меня же была установлена 11.0.1-0024. Значит, стоит попробовать обновиться.

К слову, если вы, в попытках повторить мой опыт, испортите что-нибудь в своем сервере, то виноваты в этом будете исключительно вы сами.

Скачиваем бинарник с обновлением с сайта IBM, пытаемся запустить, и тут же получаем "No such file or directory". Это ему нужно 32битную libstdc++. Ок.

apt-get install lib32stdc++6

Снова пробуем запустить. Уже лучше, для обновления оно предлагает запускать себя с аргументом -s
Пробуем, и снова облом: Unsupported Linux Distribution. Ну конечно, ведь у нас Debian Jessie, а эта гадина хочет RHEL4/5 или SLES9/10/11.

Натравливаем strace и видим, что проверить дистрибутив оно пытается путем чтения содержимого файла /etc/redhat-release. Создадим такой файл и впишем туда содержимое для RHEL5:

Red Hat Enterprise Linux Server release 5 (Tikanga)

Пробуем еще раз, на дистриубтив уже не жалуется, но какие-то проблемы с запуском ./MegaCLI и нехваткой библиотек.
К черту всё, пойдем напролом.

Распаковываем потрошка обновления:

unzip ibm_fw_sraidmr_10k-11.0.1-0042_linux_32-64.bin
cd image
chmod +x install.sh lsiMRupdate

а вот MegaCLI заменим симлинком на уже установленный из репозитория hwraid:

rm MegaCLI
ln -s /usr/sbin/megacli ./MegaCLI

Еще одна попытка обновиться:

./install.sh

*************************************************
 LSI MR Update Utility for use with IBM hardware 
       Version 1.35 - Release Date 1/21/11       
*************************************************

This update is for the ServeRAID MR10k Controller

Found 1 ServeRAID MR or MegaRAID Controller(s)

Getting configuration for Controller 0.  Please wait....

Controller 0 is a ServeRAID MR10k Controller

Attempting to flash controller 0!

Updating Controller 0.  Please wait....

./MegaCLI -AdpFwFlash -f mr10kfw.rom -a0 > result.out

Update of controller 0 completed successfully.

Successfully flashed controller 0!

You must reboot your system to complete the firmware update process.
You do not need to reboot your system immediately.

Ну наконец-то!

Пробуем перезагрузиться без iommu=soft, но увы, ядро снова впадает в панику. Возвращаем эту опцию, загружаемся, смотрим вывод lspci:

18:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
18:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)

Оп-па! Наконец-то 10-гигабитные адаптеры снова вернулись. И даже работают.

P.S. не факт, что они снова после какой-нибудь перезагрузки куда-нибудь не исчезнут, это мне еще предстоит проверить. Если кто-нибудь из читателей может внести ясность на тему того, что это вообще такое было и как с этим жить дальше, был бы очень признателен.


29 апреля, 2016

Ещё немного про SteelSeries engine в OS X

Проблемой, описанной в прошлом посте, дело не кончилось. После очередного обновления engine client опять отказался стартовать, показывая вечный Loading. На этот раз инсталлятор почему-то решил, что права на запись в ~/Library/Application Support/steelseries-engine-3-client/ мне не очень-то и нужны. Лечится, соответственно, рекурсивным добавлением соответствующих прав :)

25 февраля, 2016

Ломающий Steelseries Engine Client 3.6.6 в MacOS X

Не было печали - апдейтов накачали. В смысле, обновил SteelSeries Engine 3 для макоси до последней версии 3.6.6 и что-то пошло не так: сначала он начал утверждать, что мол де его неправильно запускают. Потом просто после запуска ничего не показывал, бесконечно изображая видимость бурной деятельности путем мигания точками около слова «LOADING» на всё своё окно.

Выйти-зайти, перезагрузиться и прочие стандартные шаманства не возымели эффекта, равно как и переустановка злополучной софтины с предварительным выпиливанием родным uninstaller'ом.

Как оказалось, uninstaller халтурит, и удаляет далеко не все продукты жизнедеятельности сносимого приложения.

В общем, исправить проблему можно так: даёте uninstaller'у сделать своё дело, затем переходите в ~/Library/Application Support и удаляете папку SteelSeries Engine 3 Client, затем заново устанавливаете SteelSeries Engine.

После этого всё начинает работать, а новую папку для себя оно вовсе с другим именем создает - steelseries-engine-3-client