自宅サーバーを運用してると、最初のうちはSSHでチマチマ確認するだけ。でもサービスが増えると、いちいち手動チェックするのが面倒になる。「どのVMがメモリ食ってるのか」「昨夜ディスク容量が急に減ったのはなぜか」——全部自動で監視したい。
鉄板の組み合わせがPrometheus + Grafanaだ。Prometheusがメトリクスを収集・蓄積し、Grafanaがそれを美しいダッシュボードで可視化する。この2つ、オープンソース監視の最強タッグ。
// コードと趣味の境界線上
自宅サーバーを運用してると、最初のうちはSSHでチマチマ確認するだけ。でもサービスが増えると、いちいち手動チェックするのが面倒になる。「どのVMがメモリ食ってるのか」「昨夜ディスク容量が急に減ったのはなぜか」——全部自動で監視したい。
鉄板の組み合わせがPrometheus + Grafanaだ。Prometheusがメトリクスを収集・蓄積し、Grafanaがそれを美しいダッシュボードで可視化する。この2つ、オープンソース監視の最強タッグ。
自宅サーバー歴3年。数えきれないトラブルに遭遇してきた。涙あり笑いありの「あるある」と、その解決策をシェアする。多分あなたもいずれ遭遇する。
トラブル1:突然SSHが繋がらない。焦る。モニターを繋いで確認したらIPアドレスが変わってた。DHCPのリース期限切れ。→ 固定IPに設定しろ。 `/etc/netplan/` か `/etc/network/interfaces` で静的アドレスを設定。
おうちサーバーを公開すると、家中のデバイスが同じネットワークにいるのはセキュリティ的に気持ち悪い。外部に公開してるサーバーがやられたら、そこから家族のPCやスマホに侵入される可能性がある。
解決策はVLAN(Virtual LAN)。物理的には同じスイッチとケーブルでも、論理的にネットワークを分離する技術。管理ができるL2スイッチかL3スイッチが必要だけど、最近は安いUniFiやMikroTikで十分。
Docker Composeに飽きてくると、次に欲しくなるのがKubernetes。でも本家k8sは重すぎる。そこでk3s。Rancher社が開発した軽量Kubernetesで、ラズパイでも動く。
「自宅k3sクラスタ!」ってテンション上がって組み始めたのはいいものの、これがまあ沼だった。結論から言うと、個人の趣味ならk3sはアリだけど、実用性だけならDocker Composeの方が圧倒的にラク。正直な感想を書く。
「データが静かに腐る」——ビットロット(bit rot)という現象を知ったとき、背筋が凍った。HDDに保存したデータが、時間経過とともに自然に壊れていく。通常のファイルシステムはこれを検出すらできない。
ZFSはこれを根本から解決する。Sun Microsystemsが開発した最強のファイルシステム。チェックサムでデータの整合性を常に検証し、壊れてたら自動修復する。スナップショット、圧縮、重複排除、全部入り。
「自宅サーバー、電気代が怖い…」——これは誰もが通る不安。僕も最初はビクビクしながら運用してた。で、実際に1年間計測してみた結果を正直に書く。
僕の構成:HP DL380p Gen8(Xeon E5-2690v2×2、128GB RAM、HDD 4台)+ ルーター + 小型スイッチ。ワットチェッカーで実測したら平均180Wだった。意外と控えめ。昔のイメージだとサーバー=500W食いみたいなのがあるけど、最近の省電力設定とアイドル時のクロックダウンのおかげで結構抑えられる。
「バックアップ?大丈夫でしょ」——そう思ってたある日、RAIDアレイが突然2台同時に死んだ。写真、コード、設定ファイル、全部消えた。家族の写真データが消えたときの絶望感は二度と味わいたくない。
この経験から学んだ。バックアップは3-2-1ルールを守れ。データ3つ、別メディア2つ、別拠点1つ。言葉で言うのは簡単だけど、実際にやるのは結構大変。
雷雨の夜、突然の停電。数秒後に復旧したけど、サーバーは強制シャットダウン。起動したらZFSプールが壊れてて、修復に3日かかった。この経験でUPS(無停電電源装置)の重要性を骨身に染みて理解した。
UPSはバッテリー付きの電源タップみたいなもの。停電すると自動でバッテリーに切り替わり、サーバーに「停電だよ、安全にシャットダウンしてね」と信号を送る。数千円で買えるデータ保険だ。
おうちサーバーが整ったら、次は外からアクセスできるようにしたい。旅行先からJellyfinで映画を見たり、外出先からSSHでメンテしたり。でもグローバルIPアドレスは大抵動的に変わるし、ルーターのポート開放はセキュリティリスクもある。
まずDDNS(動的DNS)でドメイン名を自宅のIPに紐付ける。MyDNS.JPが無料で使えてオススメ。ルーターやラズパイにDDNS更新スクリプトを仕込んでおけば、IPが変わっても自動で追従する。
「ポート開放したい。でもプロバイダがv6プラスでポート開放できない。セキュリティも不安…」——そんな悩みを一発解決するのがCloudflare Tunnelだ。
Cloudflare Tunnel(旧Argo Tunnel)は、自宅サーバーからCloudflareのエッジにトンネルを張り、外部からのアクセスを全てCloudflare経由にする仕組み。ルーターのポートを一切開けなくていい。しかもCloudflareのDDoS対策も自動で乗っかる。無料でここまでできるのは反則レベル。