В очередной раз устанавливая обновления на сервер с ранее настроенной программной дедупликацией на базе QUADStor Storage Virtualization словил проблему со службой quadstor.service, которая отказалась стартовать после перезагрузки сервера. Подозрение сразу пало на только что установленную обновлённую версию ядра.
# systemctl status quadstor.service ● quadstor.service - QUADStor Storage Virtualization Loaded: loaded (/usr/lib/systemd/system/quadstor.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2016-11-22 22:58:20 MSK; 9h ago Process: 22074 ExecStart=/quadstor/etc/quadstor.init start (code=exited, status=1/FAILURE) Nov 22 22:58:13 KOM-AD01-FS03 systemd[1]: Starting QUADStor Storage Virtualization... Nov 22 22:58:14 KOM-AD01-FS03 quadstor.init[22074]: Starting quadstor: Failed to insert core module Nov 22 22:58:20 KOM-AD01-FS03 quadstor.init[22074]: Stopping quadstor: Nov 22 22:58:20 KOM-AD01-FS03 systemd[1]: quadstor.service: control process exited, code=exited status=1 Nov 22 22:58:20 KOM-AD01-FS03 systemd[1]: Failed to start QUADStor Storage Virtualization. Nov 22 22:58:20 KOM-AD01-FS03 systemd[1]: Unit quadstor.service entered failed state. Nov 22 22:58:20 KOM-AD01-FS03 systemd[1]: quadstor.service failed.
Беглый поиск по тексту ошибки во время запуска службы привёл к чек-листу по другому продукту проекта QUADStor - Virtual Tape Library (VTL) - Troubleshooting common problems, где при возникновении аналогичной проблемы предлагается использовать утилиту builditf. Несмотря на то, что речь в документе идёт о QUADStor VTL, такая утилита имеется и в составе QUADStor Storage Virtualization:
# locate builditf /quadstor/bin/builditf
Стало очевидно, что в моём случае проблема с запуском службы связана с тем, что в загрузочном образе для initrd (Initial RAM Disk), который был обновлён в вместе с установкой нового ядра Linux не хватает модулей, необходимых для работы ПО QUADStor. И чтобы исправить эту проблему, достаточно с правами root запустить на нашем сервере ранее упомянутую утилиту:
# /quadstor/bin/builditf
В ходе выполнения этой команды будет пересобран загрузочный образ initrd с включением в него всех модулей, необходимых для работы QUADStor. После завершения работы команды перезагружаем сервер и проверяем состояние службы quadstor.service, которая должна быть успешно запущена.
вот за это я и не люблю не нативные модули. Та же проблема с любым другим модулем которого нет в родном ядре