埃を被ったDell Micro-PCから高可用性クラスターへ
去年の冬、私はついにオフィスの隅にある「技術の墓場」に手をつけることにしました。そこには忘れ去られたハードウェアの山がありました。2017年のオフィス整理で手に入れた2台のDell Optiplex 7050 Microと、画面が割れたLenovo T470ノートPCです。多くの人にとっては、ただの電子廃棄物に見えたことでしょう。
しかし私には、構築を待つ高可用性クラスターに見えました。乱雑なRaspberry Piの山から集約された仮想化プラットフォームへの移行は、ホームネットワークにおいて最良の選択でした。古いハードウェアを使うことは単なる節約ではありません。リソース管理をマスターし、1ワットあたりのパフォーマンスを最大限に引き出すための挑戦なのです。
適切なハイパーバイザーへの移行は、ホームITに対する私の見方を変えました。単に「修理する技術者」から「堅牢なシステムを構築するアーキテクト」へと脱皮するには、その基盤となるハードウェアへの理解が不可欠です。このプロジェクトにはProxmox Virtual Environment (VE)を選びました。Debianベースで構築されており、ESXiのような人工的なハードウェア制限がなく、軽量なLinuxコンテナ (LXC) とフル仮想マシン (VM) の両方を柔軟に扱えるからです。
ハードウェアの監査:本当に重要な要素は何か?
手元にあるすべての機材を使い切りたいという衝動は強いものですが、6ヶ月間の24時間運用を経て、取捨選択の重要性を学びました。「あれば便利」なコンポーネントもあれば、安定稼働のために「妥協できない」ものもあります。最初の起動前に、私がどのようにジャンクの山をフィルタリングしたかをご紹介します。
CPU:クロック周波数だけではない
64コアの怪物は必要ありません。私のi5-6500Tチップはわずか4コアですが、20個のコンテナを難なく処理しています。本当の決め手は命令セットにあります。
BIOSでIntel VT-xが有効になっていることを確認しました。これなしでは仮想化は始まりません。また、AES-NIのサポートもチェックしました。この小さな機能が暗号化処理をオフロードします。WireGuard VPNトンネルや暗号化バックアップを実行した際、その効果はすぐに実感できました。AES-NIがないと、安全な接続を介してファイルを移動するだけでCPU使用率が100%に張り付いてしまいます。
RAM:唯一、投資すべき場所
メモリこそが、最初に直面する壁です。Proxmox自体は1GB程度のRAMしか消費しませんが、作成するすべてのVMが強欲にメモリを占有します。私はeBayで約45ドルを投じ、各Optiplexを32GBのDDR4に増設しました。ZFSファイルシステムを使用する予定があるなら、「ARC」ルールを忘れないでください。ZFSはRAMへのデータキャッシュを好みます。ディスクI/Oを軽快に保つため、ストレージ1TBあたり1GBのRAMという基準に従いました。
ストレージ:古いHDDが足かせになる理由
Proxmox OS or 稼働中のVMディスクをメカニカルなハードドライブ(HDD)で動かしてはいけません。5400RPMのノートPC用ドライブの低いIOPS(1秒あたりの入出力操作数)では、Webインターフェースが1998年にタイムスリップしたかのように重く感じられるでしょう。私は起動ドライブと「ホット」なデータ用に、安価な512GBのSATA SSDを用意しました。古い1TBのHDDは、速度よりも容量が重視される「コールド」ストレージ(ISOイメージ、テンプレート、週次バックアップなど)専用として残しました。
インストール・プレイブック
Proxmox VEのセットアップは、ほとんど「次へ」をクリックするだけで終わりますが、古いハードウェアには特有の癖があります。ISOの書き込みにはBalenaEtcherを使用しました。重要なステップとして、DellのBIOSでSecure Bootを無効にし、UEFIモードに切り替える必要がありました。古いLinuxカーネルは、コンシューマー機独自のSecure Boot署名と競合することがあります。
インストーラーの実行中に、ルーターのDHCP範囲外の静的IPを割り当てました。私の構成は以下の通りです:
- IPアドレス: 192.168.1.50
- ゲートウェイ: 192.168.1.1
- DNS: 1.1.1.1 (後に内部のPi-holeに変更)
完了後、ダッシュボードは https://192.168.1.50:8006 でアクセス可能です。SSL証明書の警告が出ても慌てないでください。ブラウザが自己署名証明書に対して警告を出しているだけです。
インストール後の作業:安定稼働のためのチューニング
デフォルトの状態では、Proxmoxは有料キーが必要なエンタープライズ・リポジトリを参照しようとします。ホームラボ(HomeLab)では、「No-Subscription」リポジトリに切り替えてセキュリティアップデートを取得するようにします。
リポジトリの更新
Proxmoxのシェルに入り、ソースファイルを編集しました。
nano /etc/apt/sources.list.d/pve-enterprise.list
エンタープライズの行を # でコメントアウトし、メインリストにコミュニティ・リポジトリを追加しました。
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" >> /etc/apt/sources.list
その後、apt update && apt dist-upgrade -y を実行するだけで、システムは最新の状態になりました。
LXC vs VM:効率性が勝利の鍵
ハードウェアの効率を最大化した最大の要因は、フルVMではなくLXC(Linuxコンテナ)を優先したことです。フル構成のUbuntu Server VMはアイドル状態でも1.2GBのRAMを消費しますが、同じNginxサービスを実行するLXCコンテナなら、わずか64MB〜128MBで済みます。私はデータベース、Dockerホスト、WebプロキシをLXCに移行しました。これにより、専用カーネルが必要なHome AssistantやWindowsのテスト環境のために「重い」VMリソースを温存することができました。
6ヶ月後の結論
ホームラボを維持することは短距離走ではなくマラソンです。半年後、このクラスターは3回の停電と1台のSSD故障を乗り越えました。私がどのようにして先手を打っているかをご紹介します。
温度とディスク摩耗の監視
小型PCをクローゼットなどに押し込むと、熱がこもりやすくなります。私は lm-sensors を使ってチップの温度を監視しています。私のi5は通常アイドル時で42°C前後、負荷時で最高70°Cです。SSDの健康状態を確認するため、毎週S.M.A.R.T.チェックを実行しています。
smartctl -a /dev/sda | grep -i percentage
Proxmoxはログの書き込みが多いため、NVMe/SSDドライブの Percentage Used (使用率パーセンテージ)メトリクスを監視することは、ドライブの寿命を予測するために不可欠です。
オーバープロビジョニングを使いこなす
ProxmoxはCPUリソースの「オーバープロビジョニング」に優れています。現在、物理コアは12個ですが、クラスター全体で24個の仮想CPUを割り当ていています。Plexのダッシュボードやファイルサーバーなどのホームサービスは90%の時間アイドル状態であるため、ハイパーバイザーが完璧にスケジュールを調整してくれます。私が心配し始めるのは、ダッシュボードの IO Delay が10%に達したときだけです。高いIO Delayは、古いSSDが書き込みリクエストに追いつけていない警告であり、アップグレードのタイミングを示しています。
この実験は、「古い」というのは単なる思い込みに過ぎないことを証明してくれました。ガレージで眠っている埃を被ったPCでも、月額料金なしで自分のデータを完全にコントロールできる、最新のクラウドの「無料枠」インスタンスを簡単に凌駕するパワーを秘めているのです。

