このページは、今まで私が書いたサーバーメンテ記事のまとめになります。ロードマップの月程は大まかな目安です。メンテナンスの頻度・難易度によって前後すると思います。
この記事の対象者
これからひとり鯖を建てようとしてる人たちに向けて書いています。Linux・サーバーの知識を持っていない人(つまり過去の私)が少しずつサーバーメンテができるようにメモしています。
ベテラン鯖缶・有識者のみなさまへ
この記事は、下記の方針・考えで執筆してます。
上記記事内にもありますように、
勘違い・間違いがあると思いますし、その際は指摘していただけると助かります。運用・保守は一朝一夕で身に付きません。そのため、私や初心者鯖缶たちの成長や挫折を優しく見守っていただけると幸いです。
の方針で行っています。もし情報の間違いなどがありましたら指摘していただけると幸いです。
鯖缶になるまで
VPS・オブジェクトストレージの選定
基本的にVPSを中心に考えています。自宅サーバーやクラウドなどで行う方法もありますが、(私からしたら)上級者向けと考えていったん候補から外しておきます。VPSに関しては下記の記事が参考になるかと。
オブジェクトストレージ(画像の保管庫)は用意した方がメンテナンスが楽です。とくにお一人様の場合、RAM2GBプランを選ぶことが多いのですが、それを選ぶと大抵ストレージで泣きを見ることがあります。50GBのストレージのうち、30GBくらいソフトウェアが使うことが多く、残りの20GBで連合キャッシュをやりくりする必要があります。
Fediverse界隈ではこの辺が有名ですね。情報量は「S3>R2=Wasabi」、難易度はどっこいどっこい。Wasabiは他2サービスに比べると障害が多め。この辺の選定を間違えると後々大変になるので、なるべく有識者に聞きましょう。
ドメイン名(URL)を決める
お名前(というかGMO)はやめましょう。あそこ意味不明な手数料を取る&下手したらwhoisオプションに気づかず個人情報を全発信しかねないので……。
鯖運用初日~3か月目目
とりあえずLinuxに慣れること・DBだけは早めに死守することを目標に。
VPSのセキュリティ設定
他にもあるかも。
Linuxの基本動作を覚える
黒い窓で何をしているのか、何を表示しているのかを覚えておきましょう。
データベースのバックアップ・復元を覚える
メンテナンスがうまくいかなかった場合の最後の保険として、DBは必ず死守しておきましょう。最悪データベースと設定ファイルさえあればなんとかなる、ってMisskey.ioの村上さんが言ってた(フラグ)
世界一大きなインスタンスでヤバい障害起こしちゃった話 | ここから全部ひとりごと。
必ずデータベースのバックアップ設定をしておきましょう。ついでに仮想環境やテストサーバーでデータベースをリストアできるように訓練しておくといいかも。
仮想環境・テストサーバーを作る
ぶっつけ本番でやると、トラブルがあった際に混乱します。(n敗)それを防ぐためにも、あらかじめ好きにいじれるテスト環境を作っておくと吉。
↑の作業をメモ・参考記事URLを保存しておく
もし最悪鯖を爆破(初期化)して最初から設定する場合、どこまで設定したか覚えてない可能性が高いです。そのため、最初のうちから何を設定したかメモしておく癖をつけておきましょう。
ついでに参考にしたサイトのURLも残しておくと、後々楽ですよ。
鯖缶仲間を探す
ひとり鯖だからと言って引き籠ると、メンテナンス方法がわからなくて詰む可能性があります。そのため、早めに鯖缶仲間と有識者たちと連絡できるようにしておきましょう。
これをするか否かでひとり鯖の寿命がかなり変わるので(マジ)
鯖運用3~6か月目
このころからソフトウェアのアップデートがちらほら入るので、それに慣れていきましょう。
メンテナンス時に鯖やソフトを落とす・起動する方法を覚える
- Upgrading to a new release – Mastodon documentation
- Misskey install shell script v3.0.0 | Misskey Hub
Mastodonだと下記のコマンドたち。
# systemctl stop mastodon-sidekiq
# systemctl stop mastodon-streaming
# systemctl stop mastodon-web
Misskey・Firefishはsystemcrtl stop (ドメイン名)
でいったん止めるようにします。
(インストールスクリプト)
起動はstop
の部分をstart
に変えればOKです。
公式のアップデートログを確認する癖をつける
- Releases · mastodon/mastodon · GitHub
- Releases · misskey-dev/misskey · GitHub
- CHANGELOG.md · main · firefish / firefish · GitLab
アップデートの手順や依存モジュールの説明などが載ってるので、必ずみるようにしましょう。
アップデート(apt・ソフト本体)の方法を覚える
MastodonやMisskey・Firefishのアップデートと、apt
でカーネルや依存モジュールのアップデートをおこないます。
Node.jsのアップデート方法を覚える
意外とアップデートする機会が多いので、こっちに持ってきました。これをアップデートしないとソフトウェアのマイグレーションが動かないことがあるので、しっかり覚えておきましょう。
プログラミング言語のインストール・アップデート
MastodonはRuby、FirefishはRustだったかな。
ログがどこにあるか把握する・見る癖をつける
システムに異常が発生したとき、ログを見ていつ・どこでエラーが起きたか確認する癖をつけましょう。
- Mastodonサーバ管理者向け チェックリストの解説 noellabo’s tech blog
- Mastodon保守のヒント|KMY
- Firefish サーバーの立て方メモ | blog.naskya.net
この辺に書いてあるやつを今度まとめる予定。
エラーを検索する癖をつける
エラー文が怖くて鯖缶はやってられっかぁ!!!(涙目)
ということで、エラー文を見つけたらおとなしく検索にかけたり、ChatGPTに聞いて解決していきましょう。
最後に
とりあえず、アップデートに応じて上記のことをやっていけば1年は持ちます。(経験談)今後はソフトを動かしてる関連&依存モジュール(npm・Node.js・yarn・pnpmなど)の関係性・アップデート方法を覚えていたい所存。