На одном из наших небольших проектов, поддержка небольшого офиса (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 приступила к установке без проблем – значит железо живое и в этот раз проблема с совместимостью.

Дальше началось гугление, потому что с такой проблемой мы столкнулись впервые.

Русскоязычный сегмент нам ничего не ответил, а вот на западном удалось почитать много интересного:

Выяснилось, что версия ядра Cent OS 7.8, которая используется в актуальной FreePBX, некорректно работает с NVMe дисками на платформах AMD. Все советы сводились к тому, чтобы использовать более старое ядро 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.

Данный дистрибутив встал без проблем и дальше мы приступили к настройке и восстановлению конфигурации сервера телефонии, что стандартно банально и неинтересно — старые конфигурации встали почти без проблем. Единственное, что потребовалось — запросить пароли и явки у провайдеров IP-телефонии.

Сейчас все работает без нареканий.

Вывод: если железо исправно, то все решаемо, но непроверенная новая платформа может подкинуть лишних часов работы и нового опыта ????

Комментарии (8)


  1. TheRaven
    06.12.2021 10:11

    Т.е. можно было подцепить SATA\mSATA диск и не понижать версию FreePBX?


    1. EVA_Systems Автор
      06.12.2021 10:38

      В теории - да. Только у данной модели единственный разъём для дисков - это m.2 и в биосе нет настроек переключения режимов работы интерфейса. Диска sata с m.2 не было в наличии, поэтому не могу подтвердить или опровергнуть.

      Вид данного неттопа изнутри


      1. Rsa97
        06.12.2021 12:19
        +1

        в биосе нет настроек переключения режимов работы интерфейса
        Переключения не требуется. PCIe и SATA разведены на разные линии разъёма.


  1. Recosh
    06.12.2021 12:01
    +1

    Использую freeswich вместо астерикса, не пробовали? Возможно этой бы проблемы не было...


    1. EVA_Systems Автор
      06.12.2021 12:08

      Про freeswich почитаю - спасибо! Но в данном случае проблема не в Астриске, а в совместимости Linux с железом.


  1. Shrim
    06.12.2021 12:15

    В марте тоже ставил FreePBX на M625q и также столкнулся с этой проблемой.
    Разбираться было некогда, решил заменой NVMe диска на SATA.


  1. AleksandrXm
    06.12.2021 16:06

    Почему вы не предложили клиенту перейти на виртуальный сервер? Цена вопроса 400 р в месяц. Зато отказоустойчивость не сравнить с железкой в офисе.


    1. EVA_Systems Автор
      06.12.2021 16:10

      Внутренние требования Заказчика. Есть регламенты по телефонам (Cisco), настройкам конфигураций телефонов для первых лиц и связности с общей сетью корпоративной.