DockerアップグレードでAUFSストレージドライバー削除、Discourse停止

Ubuntu 20.04.6 LTS で Discourse フォーラムを運用しています。Docker イメージは AUFS をストレージに使用しています。

本日、sudo apt upgrade でアップグレードをインストールしました。しかし、Discourse フォーラムにアクセスできなくなり、Docker のアップグレードによって AUFS ストレージドライバーが削除されたことが原因のようです。

Docker を Overlay2 に設定する方法は多数見つかりますが、既存の Discourse インストールを Overlay2 に移行する方法、特に AUFS ボリュームをマウントできずに Docker を起動できない状況での移行方法に関するガイダンスが見つかりません。

sudo dockerd --debug

を実行すると、以下の出力が得られます。

INFO[2024-05-15T19:49:04.327570182-04:00] Starting up
DEBU[2024-05-15T19:49:04.332295421-04:00] Listener created for HTTP on unix (/var/run/docker.sock)
WARN[2024-05-15T19:49:04.340758649-04:00] failed to rename /var/lib/docker/tmp for background deletion: rename /var/lib/docker/tmp /var/lib/docker/tmp-old: file exists. Deleting synchronously
DEBU[2024-05-15T19:49:04.427688615-04:00] Golang's threads limit set to 13680
DEBU[2024-05-15T19:49:04.430903802-04:00] metrics API listening on /var/run/docker/metrics.sock
DEBU[2024-05-15T19:49:04.554881397-04:00] Using default logging driver json-file
DEBU[2024-05-15T19:49:04.555543790-04:00] No quota support for local volumes in /var/lib/docker/volumes: Filesystem does not support, or has not enabled quotas
DEBU[2024-05-15T19:49:04.563660483-04:00] processing event stream                       module=libcontainerd namespace=plugins.moby
DEBU[2024-05-15T19:49:04.567109514-04:00] Error while looking up volume                 driver=local error="volume not found" volume=
DEBU[2024-05-15T19:49:04.567813165-04:00] Error while looking up volume                 driver=local error="volume not found" volume=
INFO[2024-05-15T19:49:04.574217050-04:00] [graphdriver] trying configured driver: aufs
DEBU[2024-05-15T19:49:04.574500003-04:00] daemon configured with a 15 seconds minimum shutdown timeout
DEBU[2024-05-15T19:49:04.574603992-04:00] start clean shutdown of all containers with a 15 seconds timeout...
DEBU[2024-05-15T19:49:04.578694693-04:00] Cleaning up old mountid : start.
DEBU[2024-05-15T19:49:04.579329989-04:00] Cleaning up old mountid : done.
failed to start daemon: error initializing graphdriver: [graphdriver] ERROR: the aufs storage-driver has been deprecated and removed; visit https://docs.docker.com/go/storage-driver/ for more information: aufs

データを失わずに Discourse フォーラムを復旧するにはどうすればよいですか? AUFS ストレージドライバーを復元し、その後 Overlay2 ストレージに移行することは可能でしょうか?

データは失われません。/var/discourse/shared にあります。

Docker が動作しているなら、再構築するだけで大丈夫です。

残念ながら、アップグレード後にDockerが動作しなくなりました。提供した出力の最後の行にエラーが表示されています。

/etc/docker/daemon.json の内容を次のように変更すると、Docker を起動できます。

 {
     "storage-driver": "aufs"
 }

から

 {
     "storage-driver": "overlay2"
 }

しかし、この変更を行っても、Discourse フォーラムは引き続き機能しません。

これを実行して Docker を再起動すると、ユーザー、投稿、その他の構成、および履歴データが保持されたまま機能するということでしょうか?

cd /var/discourse
git pull
./launcher rebuild app

そのように Discourse を再構築すると、すべてのフォーラム データが Overlay2 ストレージに移行されますか?

それでうまくいくと思います。データが失われるようなことは考えられません。

「いいね!」 1

おっしゃる通りでした。/etc/docker/daemon.json のストレージドライバーを overlay2 に変更し、./launcher rebuild app を実行した後、フォーラムは復旧したようです。

さて、運試しに Ubuntu を 22.04.3 LTS にリリースアップグレードすべきか迷っています。 :slight_smile:

アップグレードではなく、もう少し待って新しい 24.04 イメージを作成して移行するか、すぐに 22.04 に移行することをお勧めします。アップグレード時にアップグレードされないものが多すぎることを信頼していません。さらに、ダウンタイムを回避でき、何か問題が発生した場合でも古いサーバーは引き続き機能します。

Discourse サイトを rsync を使用して別の VPS に移動する

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.