【業務連絡】【Mastodon】テルミナ™のおひとり様サーバのメンテナンス、その後
昨日午前中に、私・テルミナ™が分散型SNS「Mastodon」を用いて設置している自分専用のおひとり様サーバ「Telmina One」のメンテナンスを実施しようとしておりましたが、失敗してしまいました。
- 関連記事
その後、所用により午後から外出し、帰宅後に作業を再開したところ、とりあえずメンテナンス実施直前(昨日午前9時頃)のバックアップの状態で復旧させることができました。
関係各位に対し、ご迷惑をおかけしてしまい、またお騒がせしてしまい、申し訳ありませんでした。
ことの顛末と致しましては、以下に述べるとおりです。
ことの顛末
まずオチから先に申し上げますと、単にサーバ上のMastodonのプロセスが起動していなかっただけでした。
そんな単純なミスを、と一笑する方も少なくないとは思いますが、事情としては次のとおりとなります。
なぜMastodonのプロセスが起動していなかったのか、それに気づかなかったのか
復旧報告のあとにのえる氏から頂戴したコメントがすべてを物語っています。
早い話が、サーバ上においてMastodonのプロセスを一旦停止させたあとに再起動させるときのやり方が間違っていた、ということです。
普段、Mastodon本体プログラムのアップデート等でMastodonのプロセスを再起動させるときは、プロセス起動中の状態でそれを実施します。そのときは、サーバのroot権限で実施する再起動コマンドは、ワイルドカード指定を受け付けます。
# systemctl restart mastodon-*
ところが今回はメンテナンス前に一度Mastodonのプロセスを停止させています。その状態では、ワイルドカード指定による再起動をできないそうなのですが、自分はそれについて存じ上げておりませんでした。
それに気づかずに上述のようなワイルドカード指定でコマンドを発行し、意図したとおりにコマンドが受け付けられていないことに気づかないまま、延々と悩んでいたということです。
Mastodonのプロセスを停止させたあとに再始動させるためには、きちんとすべてのプロセスを明示的に指定する必要があるようです。
# systemctl restart mastodon-web.service
# systemctl restart mastodon-streaming.service
# systemctl restart mastodon-sidekiq.service
これにもっと早く気づいていればと思った反面、いい勉強にもなりました。
当初メンテナンスで実施しようとしていたことにつきまして
当初、昨日のメンテナンスでは、下記について実施するつもりでした。
- データベース内の空き容量を解放してOSに戻す
- データベース内の重複レコードが(あれば)統合する
しかしながら、先述の通り作業開始前の午前9時頃のデータで復旧させているため、現時点では本来おこなおうとしたこれらの作業についてはおこなっていない状態です。
とはいえ、復旧時点で(そして本記事執筆時点においても)、メンテナンス実施前夜時点で100%となっていた「Telmina One」のディスク使用率が77%にまで減少しました。
そのため、今回はこれ以上余計なことはしないほうがよいと判断し、当初メンテナンス時に実施しようとしていた作業の再実施は見合わせることに致しました。
メンテナンス実施前の状況
実は、メンテナンス実施前夜の時点でも、若干ではありますがディスク使用率を減らすことはできていました。あくまで応急措置ではありますが、次の対応をしておりました。
- 外部サーバから取得した投稿内容やメディア等の削除
- 連合リレーとして登録しているサーバ3カ所すべての無効化
特に連合リレーにつきましては、「Telmina One」においては私自身それを有効化するメリットをほとんど享受していません。そもそも自分は「Telmina One」上の連合タイムラインは見ていませんし、これまでの経験上、見たところで得られるものがほとんどないため、連合リレー有効化によってディスク容量を圧迫するくらいならば切った方がマシと判断し、無効化させました。
とはいえ、その時点ではまだディスク使用率は80%を超過していましたので、やはりメンテナンスは必要と考えておりました。
復旧後、なぜディスク使用率がメンテナンス前よりも下がったのかについては、はっきりとしたことはわかりません。しかし、恐らく、メンテナンスに失敗した(と思い込んだ)ときに一度データベースをまるごと削除して、その状態で午前9時に取得したバックアップから復旧したため、データベースに余計な空き容量がない状態になったのではないかと思われます。
今後の対応につきまして
近いうちに、Mastodon v4.0.0の正式版がリリースされると思います。
私は、私が運営する2カ所のMastodonサーバ(「Telmina One」および「LIBERA TOKYO」)に対しては、v4系の適用は急がないことにしました。時間のあるときに(そして先行して適用する方々の知見がある程度たまってから)、まずは私専用の「Telmina One」に、そしてそちらに成功したあとに、少数とはいえ私以外のユーザ様を受け容れている「LIBERA TOKYO」に、それぞれ適用したいと思います。
いずれそのときにデータベースのバックアップが必要になると思いますので、状況次第ではそのときに本来昨日実施しようとしていたことをついでにおこなおうかと考えております。
あと、できればデータベース(PostgreSQL)のバージョンアップもしたいのですが、最新版を適用する方法がよくわかっておらず、ネットで検索しようとしてもなかなか出てきませんので、二の足を踏んでおります。
#2022年 #2022年11月 #2022年11月15日 #お知らせ #業務連絡 #Mastodon #マストドン #SNS #分散型SNS #Fediverse