Требуется обновление версии ядра при ручном обновлении Discourse

При выполнении обновления по ссылке: Manually update Discourse and Docker image to latest я получаю следующие ошибки:
«Версия ядра 4.4.0-210-generic не поддерживается, пожалуйста, обновитесь как минимум до версии 4.14.0»

Что мне нужно сделать в этом случае? Я не могу найти темы поддержки по обновлению версии ядра.

Какую версию Ubuntu вы используете? Скорее всего, вам нужно обновить систему или перейти на новый сервер с новой ОС.

Я добавил эту проверку после того, как на прошлой неделе мы получили множество запросов в службу поддержки от пользователей, у которых не удавалось запустить Discourse на Ubuntu 14.04.

Какую версию Ubuntu вы используете? Удалось ли вам уже успешно запустить Discourse 3+?

Я работаю на Ubuntu 16.04.3 x64

Использую Droplet от Digital Ocean: 1 ГБ памяти / 25 ГБ диска

Есть возможность обновить ядро самостоятельно, как объяснили в Digital Ocean здесь:

Но меня волнует:

  1. Стоит ли опасаться, что на сервере что-то ещё сломается?
  2. Выбрать ли опцию «Обновить все пакеты» или «Обновить только ядро».

Это уже вышло из срока поддержки. Я бы создал новый дроплет и начал заново.

Это хорошая проверка, но, возможно, в ней стоит упомянуть возможность устаревания операционной системы? Проблема именно в ядре, но для большинства пользователей она возникает как часть версии ОС.

Я предполагаю, что по мере роста популярности Discourse каждый раз, когда отсутствует критически важная функция ядра, количество затронутых пользователей будет значительно возрастать.

В вики Ubuntu сказано, что команда sudo apt-get -s install --install-recommends linux-generic-hwe-16.04 установит последнюю поддерживаемую ядро (4.15) после перезагрузки. Я бы сделал резервную копию, загрузил её локально и попробовал.

Вы имеете в виду, что стандартная поддержка EOL или сама версия? Проверка версии здесь показывает, что EOL наступит в 2026 году: Releases - Ubuntu Wiki

Если у вас есть подписка Canonical, то сейчас 2026 год, а в противном случае — 2021. Но это не по теме :grinning_face_with_smiling_eyes:

Спасибо за предложение. Я вернусь назад и попробую это.

В качестве предложения, возможно, стоит добавить ваши инструкции по проверке / получению последнего обновления ядра в стандартные инструкции по обновлению здесь: Manually update Discourse and Docker image to latest. Как вы и отмечаете, похоже, что вы получаете много запросов на поддержку в связи с тем, что ядро не обновлено.

Спасибо за уточнение

Сегодня утром мы столкнулись с точно таким же препятствием при попытке обновления. В нашей ошибке также были указаны идентичные номера версий.

Мы также используем Ubuntu 14.04 на Digital Ocean.

В ближайшие дни я выделю время, чтобы выключить сервер, создать полную резервную копию, как предлагает Falco, а затем попробую следующее:

Хотя меня интересует, сколько времени это мне даст, прежде чем я столкнусь со следующим препятствием?

Есть ли какие-либо причины не пойти ва-банк и просто выполнить sudo apt-get dist-upgrade?

На моём сервере установлено только Discourse.

В нашем случае да, у нас сейчас версия 3.1.0.beta1 — Commits · discourse/discourse · GitHub . Мы обновляемся до последней версии каждые две недели.

Значит, у вас сейчас версия 3.1.0.beta на ядре 4.4? Если так, я ослаблю проверку ядра.

Команда uname -r выводит:

4.4.0-210-generic

И подтверждено относительно Discourse 3.1.0.beta :slight_smile:

Я всё ещё планирую завтра обновить базовую систему Ubuntu :slight_smile:

Обновления Ubuntu почти всегда проходят успешно, но занимают много времени, и ваш экземпляр может быть недоступен большую часть этого периода. Снимок позволит вам откатиться в наихудшем случае, но также увеличивает время простоя.

Рассматривали ли вы возможность просто создать новый сервер на более новой версии и восстановить резервную копию? При условии использования DNS с относительно коротким TTL время простоя может быть довольно небольшим; всё будет зависеть от размера базы данных и того, хранятся ли ваши загрузки локально.

Лично я нет (не уверен насчет @AMK) — только потому, что на выполнение всех необходимых действий у меня ушло бы больше времени, чем на ввод одной команды обновления в консоль :blush:

Я на самом деле ещё не пробовал создавать новый сервер.
Как и @Richie, на моём сервере установлено только Discourse. И точно, я бы предпочёл выполнить команду для получения обновлений, чем переносить всё на новый сервер.

Я также проверил версию моей установки, и похоже, что мой сайт находится на версии 3.0.0.beta16. Когда я нажимаю «Обновить», меня перенаправляют на сообщение «Вы используете старую версию образа Discourse», и именно здесь я сталкиваюсь с ошибкой «Ядро не поддерживается» при попытке выполнить обновление.

@AMK (и всем остальным, кому это интересно!)

Я выключил свой сервер Digital Ocean и сделал полную резервную копию (это заняло около 30 минут).

Затем я запустил do-release-upgrade и обновился с Ubuntu “16.04.7 LTS” до “18.04.6 LTS”.

После перезагрузки я проверил Discourse — всё в порядке.

Затем я выполнил ещё одно обновление релиза, чтобы перейти за пределы Ubuntu 18. Не уверен, до какой именно версии планировалось обновление, возможно, до v20?

После следующей перезагрузки сервер так и не поднялся онлайн :pensive:

Мне пришлось восстановить резервную копию (это заняло 15 минут), затем я снова обновился с “16.04.7 LTS” до “18.04.6 LTS”, после чего обновил Discourse.

Общее время: 1 час 50 минут.

Вот почему я предложил:

Это может быть «сложнее», но вы можете сделать это с почти нулевым временем простоя (и с нулевым временем простоя, если создадите новый в том же дата-центре, что и старый, и используете статический IP-адрес). Кроме того, если что-то пойдет не так, вы всегда сможете вернуться к старому серверу.

Скорее всего, и вам действительно стоит перейти на версию 2022.04.