Docker を使用した Ubuntu 20.04 カーネルのアップデートにより EC2 および Lightsail でクラッシュが発生

昨晩、Ubuntu 20.04 LTS が自動アップグレードした際に、新しいカーネルがインストールされ、システムを制御できなくなりました。起動後数分でクラッシュする状態です。本日、新しい Discourse をクリーンインストールして再度試したところ、システムをアップグレードした直後に再びクラッシュし始めました。

皆様への注意点として、現時点では Linux カーネルをアップデートしないことをお勧めします。これは既知のバグです。詳細についてはこちらをご覧ください。

「いいね!」 5

Discourse/docker を起動せずにシステムを起動する方法があるかどうかが問題です。AWS Lightsail で実行しています。もう一つの選択肢は、現在直面しているバックアップ/復元の問題を考えると、システム全体を再構築することですが、それは非常に面倒です。

編集:これは私が見つけたもので、起動の速さによってはうまくいく場合とそうでない場合があります。

while true; do
  ssh <instance> "sudo systemctl disable docker.service; sudo systemctl disable containerd.service"
done

これもEC2インスタンス2台で発生しました。EDT午前5時に再起動のためにダウンしましたが、復旧しませんでした。

「いいね!」 2

リンクによると、これはUbuntuマシンでCanonicalの「クラウドカーネル」を実行しているユーザーに影響します。OverlayFSに影響するパッチが削除されました。

Canonicalが修正をロールアウトする間、ユーザーは別のカーネルバージョンを使用するか、回避策としてDebian /他のディストリビューションを使用することができます。

「いいね!」 6

SSHで約15秒後に起動するサイクルを中断し、docker/containerサービスを無効にすることができました。カーネルを5.4にダウングレードしたところ、動作しているようです。

「いいね!」 5

はい、復旧トラブルに関する他のスレッドに投稿したばかりですが、このバグでサーバーがクラッシュしたとき、私も同様のことをしました。Dockerやコンテナを無効化する必要はなく、古いカーネルを起動しました。そして、現在のカーネルは再び安全になりました。こちらが、この問題が二度と起こらないようにするための恒久的な解決策を記述した投稿へのリンクです。他のスレッドで私が言ったことです。後で、この問題が二度と起こらないようにするための恒久的な解決策をまとめようと思います。

ひどいカーネルバグでした!

「いいね!」 1

前のカーネルにロールバックすれば、マシンは復元されます。または、木曜日にリリースされた、修正済みの現在のカーネルにアップデートすることもできます。

「いいね!」 1

カーネルパニック(kernel oops!)のような、サーバーをクラッシュさせたり、再起動不能にしたりする問題の回避方法についてチュートリアルを作成しました。

チュートリアルは、私にとって便利だと思ったので、私のDiscourseサイトに掲載しました。私のサイトは技術とは全く関係ありません。そのため、トピックは非公開にしましたが、HTMLとして公開しました。

どうぞお楽しみください。

https://discourse.bluebottlefly.com/pub/hardening-your-server

@RBoy、特にあなたにとって役立つかもしれません。

/dr

「いいね!」 1