ディスコースを手動で更新する際にカーネルバージョンのアップグレードが必要

こちらで説明されているアップデートを実行すると、次のエラーが発生します。Manually update Discourse and Docker image to latest

「カーネルバージョン 4.4.0-210-generic はサポートされていません。少なくとも 4.14.0 にアップグレードしてください。」

ここで何をすればよいですか?カーネルバージョンをアップグレードするためのサポートトピックが見つかりません。

「いいね!」 1

Ubuntuのどのバージョンを使用していますか?アップグレードするか、新しいOSを搭載した新しいサーバーに移行する必要があるでしょう。

先週、多くのユーザーがUbuntu 14.04でDiscourseを実行できずにサポートリクエストを送ってきたため、このチェックを追加しました。

お使いのUbuntuのバージョンは何ですか?すでにDiscourse 3以降を正常に実行していましたか?

「いいね!」 2

Ubuntu 16.04.3 x64 で実行しています。

Digital Ocean のドロップレットを使用しています: 1 GB メモリ / 25 GB ディスク

Digital Ocean がここで説明しているように、カーネルを自分でアップグレードするオプションがあります。

しかし、疑問に思っています。

  1. サーバーで他に壊れる可能性のあるものについて心配すべきですか?
  2. 「すべてのパッケージをアップグレード」オプションを選択すべきですか、それとも「カーネルのみをアップグレード」オプションを選択すべきですか?

それはEOL(End of Life)を過ぎています。新しいドロップレットを起動して、最初からやり直すことをお勧めします。

「いいね!」 2

良いチェックですが、OS が古い可能性についても言及できるのではないでしょうか? 問題はカーネルですが、ほとんどの人にとっては OS バージョンの一部として提供されます。

Discourse がますます人気になるにつれて、カーネル機能が不足していることが重要になるたびに、影響を受ける人の数ははるかに多くなると私は疑っています。

「いいね!」 1

Ubuntu wikiによると、sudo apt-get -s install --install-recommends linux-generic-hwe-16.04 を実行すると、再起動後に最新のサポートカーネル(4.15)が利用可能になるとのことです。バックアップを取得し、ローカルにダウンロードしてから試してみることをお勧めします。

「いいね!」 3

標準サポートがEOLということですか、それとも実際のバージョンですか? ここでのバージョンチェックでは、EOLは2026年と表示されています: Releases - Ubuntu Wiki

Canonicalサブスクリプションをお持ちの場合は2026年、それ以外の場合は2021年ですが、それは本題から外れています :grinning_face_with_smiling_eyes:

「いいね!」 1

ご提案ありがとうございます。バックアップを取ってから試してみます。

提案として、カーネルのチェック/最新アップデート取得の手順を、こちらの標準的なアップデート手順に追加してはいかがでしょうか: https://meta.discourse.org/t/manually-update-discourse-and-docker-image-to-latest/23325。ご提案の通り、カーネルが最新でないことに関するサポートリクエストが多いようです。

「いいね!」 2

明確化ありがとうございます

今朝アップデートを試みた際、全く同じ問題に直面しました。エラーメッセージのバージョン番号も全く同じでした。

Digital OceanでUbuntu 14.04を実行している点も同じです。

数日中に時間を確保し、サーバーをシャットダウンし、Falco氏が提案しているようにフルスナップショットを取得してから、以下を試す予定です。

しかし、これで次の問題に直面するまでに、どれくらいの猶予があるのか疑問に思っています。

単に sudo apt-get dist-upgrade を実行する以外に、何か理由があるのでしょうか?

私のサーバーにはDiscourseしかインストールされていません。

私たちの場合はそうです。現在 3.1.0.beta1 です - Commits · discourse/discourse · GitHub 。2週間ごとに最新版にアップデートしています。

カーネル4.4の3.1.0.betaをご利用中ということでしょうか?もしそうであれば、カーネルチェックを緩和します。

「いいね!」 1

uname -r の結果は次のとおりです。

4.4.0-210-generic

そして、Discourse 3.1.0.beta で確認されました :slight_smile:

「いいね!」 1

それでも、明日、基盤となるUbuntuをアップグレードする予定です :slight_smile:

Ubuntu のアップグレードはほぼ常に機能しますが、時間はかからず、そのほとんどの間インスタンスがダウンする可能性があります。スナップショットは最悪の場合にロールバックする手段を提供しますが、ダウンタイムも追加されます。

より新しいリリースで新しいサーバーを作成し、バックアップを復元することを検討しましたか? DNS の TTL が比較的短い場合、ダウンタイムはかなり短くなる可能性がありますが、データベースのサイズとアップロードがローカルであるかどうかにかかってきます。

「いいね!」 1

私は個人的には(@AMK については不明ですが)そうしていません。なぜなら、コンソールに単一の更新コマンドを入力するよりも、必要なすべてのことを行うのに時間がかかるからです :blush:

新しいサーバーを作成したことはありません。
Richie さんと同様に、サーバーにインストールされているのは Discourse のみです。そして、まさに、新しいサーバーへの完全な移行よりも、アップデートを取得するためにコマンドを実行する方が良いです。

インストールのバージョンも確認したところ、サイトは 3.0.0.beta16 のバージョンです。アップグレードをクリックすると、「Discourse の古いバージョンを実行しています」という画面にリダイレクトされ、そこでアップデートを実行しようとすると、カーネルバージョンがサポートされていないというエラーが発生します。

「いいね!」 1

@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に移行したいはずです。