CrescPia

VPS 障害からの学び

契約している VPS で障害がありました。
これをきっかけにして学びがありましたのでまとめておきます。

経緯

ConoHa の VPS を利用しています。
メールで「障害発生/復旧」という連絡があり障害があったことを知りました。
気づいたときには、すでに復旧していて VPS 自体は動いていました。
ただ、運用していたサービスが一部止まっていました。


一旦ここでバックアップを取っておこうと思い、サーバーのシャットダウンをし、イメージ保存を行い、起動を行いました。
しかし、OS の起動ログが途中で止まって起動しなくなってしまいました。

学び

1. サービスは自動起動するようにする

VPS が復旧したときに運用していたサービスが一部止まっていました。

  • Go の実行ファイルを手動で実行していたもの
  • Docker で起動するサービスを手動で起動していたもの

などです。
OS 起動時にはサービスは自動起動するようにしておきたい。

2. Blog の移行

この Blog は Hugo で生成した静的ファイルです。
VPS よりももう少し安定した環境で、静的ファイルの配信をしたいと思いました。
Cloudflare Pages が無料で利用できるので早速移行しました。
配信開始まではとっても簡単で、これからいろいろと使っていきたいです。
VPS の障害のおかげで新しいものに触れられました。怪我の功名。


これは、気のせいなのか分かりませんが、アクセス数が増えたように思います。
Cloudflare だから?アクセス数に影響ある?

3. 監視をする

障害に気づきませんでした。
自サービスがダウンしていたら通知が来る仕組みはやろうやろうと思いながら、平時ではそれは後回し・・・。
サーバーの監視はこれから導入していこうと思っていたところでした。
監視も大事。

4. GitLab の CI/CD を止める

git push したらビルドしてデプロイするようにしていました。
しかしデプロイ先が動いていないので、一時的に GitLab の CI/CD を止めたいです。
これは設定でできました。
設定 > 一般 > 可視性、プロジェクトの機能、権限 > CI/CD をオフにする。


5. 最悪の壊れ方

VPS が起動しなくなりました。
利用しているサービスの最悪の壊れ方を経験できました。
ここからリカバリーさせる必要があります・・・。

  • VPS のセットアップ
  • サービスのセットアップ
  • その他諸々のセットアップ

これらをできるだけ簡単にできるようにしておきたい。


VPS 以外の利用も考えなければなりません。今はそちらの方が主流ですが・・・。
零細サービスでは費用面で VPS が有力候補なのですが、費用以外も考えるきっかけになりました。
安定運用も大事。

6. バックアップ

VPS を複数契約してそれぞれのバックアップをお互いに持っておく。
というのはよさそうな気がしますが、運用会社が同じである場合には全部いっぺんに壊れる可能性があります。
物理的に別の場所にバックアップするというのを意識しておく。

7. ファイルシステム

OS は Ubuntu を利用していました。
起動ログが途中で止まっているのですが、ファイルシステムは Btrfs でした。
手元の WSL2 で確認すると Ext4 でした。
別の契約している VPS でも Ext4 でした。
コンソールログ

Ext4 と Btrfs の違いを Gemini に教えてもらいました。

特徴 ext4(Fourth Extended Filesystem) Btrfs (B-tree Filesystem)
基本設計 ジャーナリング・ファイルシステム CoW (Copy-on-Write)
安定性 非常に高い(長年の実績) 高い(近年は安定、ただし一部複雑)
スナップショット 非対応(LVMなどが必要) 標準対応(一瞬で作成可能)
データ修復 fsckによる手動修復が基本 チェックサムによる自動検知・修復
RAID機能 非対応(mdadmなどが必要) 標準対応(ソフトRAID機能内蔵)
パフォーマンス 小さなファイルの処理や書き込みが速い 高機能ゆえに若干のオーバーヘッドあり

まとめ

障害を経験して、運用方法を変えていくことを考え始めました。
IaaS での運用だけではなく、PaaS 的な運用に移行していこうと思います。

ただ、趣味でやっている VPS での運用はこれはこれで続けていきます。
VPS は何をやるにも自分でやらないといけなくて勉強ネタの宝庫ですし、何より楽しいです。


ふと考えてみると、AI の利用により、コードを書く楽しさを放棄するようになりました。
楽しみをインフラ寄りに求めているのかもしれません。