На одном из наших небольших проектов, поддержка небольшого офиса (6 человек) представительства одной известной компании, нам досталась работающая, я бы даже сказал аккуратная, инфраструктура, но довольно старая - более 10 лет железу и ПО.
Примерно через год сотрудничества – вышел из строя сервер АТС на базе FreePBX. Слово сервер звучит громко – решение было собрано на базе неттопа от компании MSI c процессором Atom первого поколения и 1Гб ОЗУ, но суть не в этом.
Первичная диагностика показала, что на данном неттопе вышла из строя материнская плата. Оперативно найти замену не удалось в виду непопулярности выбранной модели в свое время, но возможно было произвести ремонт.
Заказчику были предложены варианты попробовать отремонтировать либо купить новый неттоп и собрать решение заново, благо диск не пострадал и конфигурации можно было перенести.
Заказчик выбрал путь покупки нового железа. И тут начинается наше приключение, которого на самом деле могло и не быть, если бы не решение на базе AMD, но об это ниже.
Задача получена – дальше все должно было быть просто:
1. Подобрать
2. Купить
3. Настроить
4. Сдать Заказчику
Наш отдел закупок предложил недорогой вариант неттопа от компании Lenovo - ThinkCentre M625q Tiny на базе процессора AMD E2-9000e. Наши телефонисты согласовали железо. Дальше закупка и настройка.
Для установки планировалось использовать: FreePBX 15 Distro SNG7-PBX-64bit-2104-1 – свежую и актуальную версию на тот момент.
С первой неприятности мы столкнулись из коробки:
При попытке установить дистрибутив получали вот такую неприятную ошибку:

--- [end Kernel panic – not syncing: System is deadlocked on memory ] ---
Проблему решили новой планкой оперативки. Казалось бы, дальше все должно быть как по маслу, но нет…
Далее мы получили следующую ошибку:

RIP [<ffffffffc04433bf>] nvme_reset_work+0xf6f/0xfbd [nvme]
…
Kernel panic – not syncing: Fatal exception
Первое подозрение, неужели нам совсем не повезло и диск SSD так же мертв, но оперативная замена диска, на заведомо исправный, ничего не дала – ошибка сохранилась.
Ради эксперимента была запущена инсталляция Ubuntu 20.04 – эффект был тот же, а вот Windows 10 приступила к установке без проблем – значит железо живое и в этот раз проблема с совместимостью.
Дальше началось гугление, потому что с такой проблемой столкнулись впервые.
Русскоязычный сегмент нам ничего не ответил, а вот на западном удалось почитать много интересного:
Выяснилось, что последние версии ядра Linux не хотят работать с NVMe дисками на платформах AMD и проблема, как минимум на версии 3.10, до сих пор не решена, судя по постам на форумах от лета и осени этого года (2021). Все советы сводились к тому, чтобы использовать более старое ядро Linux. Прислушиваемся к советам.
Актуальная версия FreePBX на момент установки базировалась на CentOS 7.8.2003 c версией ядра 3.10.0-1127.el7.
Дальше начался банальный перебор версий с понижением версии ядра, до того момента пока ошибка не уйдет и мы спустились до версии FreePBX 14 SNG7-PBX-64bit-1712-2 от 2017 года с CentOS 7.4 на базе ядра 3.10.0-693.5.2.el7
Данный дистрибутив встал без проблем и дальше мы приступили к настройке и восстановлению конфигурации сервера телефонии, что стандартно банально и неинтересно.
Сейчас все работает без нареканий.
Вывод: если железо исправно, то все решаемо, но не проверенная новая платформа может подкинуть лишних часов работы и нового опыта. 😊