シングルノードの呪縛を解く
長年、私は1台のProxmoxノードを運用していました。壊れるまではそれで十分でした。しかし、異音のするファンを交換したり、RAMを増設したりする必要があるたびに、Home Assistantや開発用データベース、メディアサーバーといった私のデジタルライフのすべてが停止してしまいました。
クラスター化への移行は論理的なステップでしたが、ストレージは本当に難しいパズルでした。本番レベルのホームラボでCephを6ヶ月間運用した結果、それが高可用性に対する決定的な答えであると確信しました。しかし、タダではありません。その回復力(レジリエンス)の代償として、ハードウェア and ネットワーク帯域幅が必要になります。
これは、ソロ演奏から同期されたオーケストラへの移行だと考えてください。複数の物理マシンにデータを分散させることで、障害への対処法が変わります。ハードドライブからの「死のクリック音」を恐れるのをやめ、稼働時間(アップタイム)に集中できるようになります。
ストレージアーキテクチャ:どの道を選びますか?
Proxmoxクラスターを構築する場合、通常は3つのストレージ哲学のいずれかを選択することになります。真の高可用性(HA)を追求する場合、選択肢はすぐに絞られます。
1. ローカルストレージ (LVM/ZFS)
これが基準となります。データがローカルバス上にあるため、驚異的な速さを誇ります。欠点は?HAを台無しにすることです。ノードAの電源が落ちれば、VMのデータは動かなくなったシリコンの中に閉じ込められます。Proxmox Backup Serverからの長いリストア時間を待たずに、そのVMをノードBへマイグレーションすることはできません。
2. 外部NASの罠 (NFS/iSCSI)
TrueNASのような中央のNASが、ネットワーク経由ですべてのノードにストレージを提供します。これによりVMのマイグレーションは容易になりますが、単一障害点(SPOF)が生じます。ファームウェアの更新中にNASがフリーズすれば、クラスター全体の心臓部が失われます。ダウンタイムの問題を解決したのではなく、別の箱に移動させただけなのです。
3. 分散型の強力なエンジン (Ceph)
Cephは、Proxmoxノード内の個々のディスクを1つの巨大な統合ストレージプールに変えます。データはクラスター全体に複製されます。ノードAが消えても、ノードBとノードCにはすでにデータブロックが存在します。30秒以内に、停止したVMを起動させることができます。これは信頼性の高いインフラストラクチャにおけるゴールドスタンダードです。
Cephとの生活:厳しい現実
初期の興奮は去り、技術的な現実が見えてきました。Cephは魔法の「設定して終わり」ボタンではありません。適切な構成を必要とする強力な野獣です。
得られたメリット
- ゼロダウンタイム・マイグレーション: 120GBのWindows Server VMをノード間で約15秒で移動できます。Pingの欠落も、セッションの中断もありません。
- 稼働中の自己修復: 3ヶ月前、500GBのCrucial MX500がSMARTエラーを出し始めました。Cephは即座にそのOSDを「degraded(劣化)」としてマークし、健全なディスクへのデータの再複製を開始しました。私は1週間後、クラスターが稼働している間にドライブを交換しました。
- シンプルなスケーリング: 容量不足ですか?新しい1TBのNVMeを任意のノードに差し込み、「Create OSD」をクリックするだけです。クラスターは自動的に再バランスを行います。
コストとデメリット
プロフェッショナルな基準
私が直面したボトルネックを避けるために、プロフェッショナルなホームラボ構築には以下のハードウェア基準を参考にしてください。
- コンピュート: 3台のノード。TinyMiniMicro PCは優れていますが、内部にNVMeスロットがあることを確認してください。
- ネットワーキング: Cephの「バックエンド」トラフィック専用の10GbEリンク。私は約150ドルのMikroTik CRS305スイッチを使用していますが、負荷を完璧に処理できています。
- ディスクの一貫性: ドライブのサイズを揃えてください。Cephのパフォーマンスは、グループ内で最も遅いディスクに左右されることが多いです。
- 書き込み耐性: エンタープライズ向けSSD(Samsung PM883やIntel DCシリーズ)を使用してください。コンシューマー向けのQLCドライブは、Cephの絶え間ないジャーナリングにより、わずか数ヶ月でTBW(総書き込みバイト数)の制限に達してしまいます。
セットアップ手順
ProxmoxにはネイティブのCeph management機能が含まれています。Linuxのスペシャリストである必要はありませんが、正しい手順に従う必要があります。
1. インストール
シェルまたはUIの「Ceph」タブから、すべてのノードで以下を実行します:
pveceph install
プロンプトが表示されたら、10GbEインターフェースをクラスターネットワーク(Cluster Network)として割り当てます。
2. モニターとマネージャー
モニター(MON)はクラスターマップを維持します。冗長性のために3つ必要です。
# 3つの各ノードで実行してください
pveceph mon create
3. OSDのプロビジョニング
まず、対象のディスクを消去してください。完全に「未割当(raw)」の状態である必要があります。UIで ノード > Ceph > OSD に移動し、Create: OSD をクリックします。または、CLIを使用します:
pveceph osd create /dev/nvme0n1
4. ストレージプール
「Size 3 / Min Size 2」ルールでプールを作成します。これにより、常に3つのデータコピーが保持されます。
pveceph pool create vm_storage --add_storage 1
最終結論
安定性は中毒性があります。半年間、サービスを1分も停止させることなく、数十回のカーネルアップデートやハードウェア交換を行うことができました。当初の1Gbpsネットワークは大きなボトルネックでしたが、10Gbps SFP+へのアップグレードで体験が一変しました。シーケンシャル書き込みは、SATA SSDの限界である450MB/sに達しています。企業のデータセンターを模したホームラボを構築したいなら、Proxmox上のCephは最もやりがいのあるプロジェクトになるでしょう。

