サーバーラックまで歩くのはもうやめよう
ソファでくつろぎながらHomeLabを管理するのは最高ですが、カーネルパニックが発生したりBIOS設定を変更する必要が出たりすると話は別です。エンタープライズ環境では、iDRACやiLOといった統合ツールを使用して、こうしたアウトオブバンド(帯域外)タスクを処理します。しかし、コンシューマー向けハードウェアや中古のリース下がりPCを使用している場合、それらの機能は搭載されていないか、高価なライセンスキーが必要になることがほとんどです。
私は何年もの間、マシンがオフラインになるたびに、埃をかぶったモニターと絡まったキーボードをサーバーラックまで運んでいました。それが変わったのは、PiKVMを構築してからです。このオープンソースプロジェクトは、Raspberry Piをプロ仕様のKVM-over-IP(IP経由のキーボード、ビデオ、マウス)に変身させます。約80ドルのパーツ代で、かつては500ドルもするエンタープライズ向けスイッチが必要だったレベルの制御が可能になります。
PiKVMを使えば、電源ボタンを押した瞬間から画面を確認できます。UEFIメニューの操作やNVMeドライブのフォーマット、さらにはデスクにいながらISOファイルを仮想USBドライブとしてマウントすることさえ可能です。「モニターの差し替え作業」にうんざりしているなら、このセットアップはラボに施せる最高のアップグレードになるでしょう。
ハードウェア要件:ショッピングリスト
技術的にはRaspberry Pi 3も使用可能ですが、Raspberry Pi 4を強く推奨します。新しいボードはUSB-C OTGをサポートしており、ネットワーク速度も大幅に向上しているため、スムーズなビデオストリーミングには不可欠です。今回の構築で使用したものは以下の通りです:
- Raspberry Pi 4 (2GB): 通常45ドル前後で販売されています。この用途に4GBや8GBモデルは必要ありません。
- HDMI-to-CSI-2 ブリッジ: TC358743チップを搭載したボードを探してください。価格は約25ドルで、サーバーのHDMI出力を Pi が処理できるカメラフィードに変換します。
- USB-C スプリッター(電源+データ): これは必須パーツです。Piを周辺機器としてサーバーに接続しながら、同時にPi自体に給電する必要があります。専用の「Y字」ケーブルを使用することで、サーバーからPiへの逆給電を防ぎ、マザーボードの損傷リスクを回避できます。
- MicroSDカード: 長期的な信頼性のために、Samsung Enduranceのような32GB Class 10カードが最適です。
インストール:PiKVM OSの書き込み
PiKVMチームは、Arch Linuxベースのカスタムイメージを提供しています。これには、HDMIブリッジやUSBガジェットモードに必要な特定のドライバーがプリインストールされています。公式のRaspberry Pi Imagerを使用するのが、最も素早く書き込む方法です。
- Raspberry Pi Imagerを開きます。
- 「OSを選ぶ」をクリックし、「Other specific-purpose OS」 > 「Gateways and terminals」 > 「PiKVM」へと進みます。
- ハードウェアに合ったイメージを選択します(自作のPi 4ビルドの多くはV2を選択します)。
- SDカードを選択してイメージを書き込みます。
配線はシンプルです。HDMIブリッジをPiのCSIポート(公式カメラと同じポート)に接続します。サーバーのGPUからそのブリッジへHDMIケーブルを繋ぎます。最後に、スプリッターからのUSB-Cデータケーブルをサーバーに接続します。
初期設定とセキュリティ
PiKVMはDHCP経由で自動的にIPを取得します。ネットワーク上で pikvm.local を探すことでアクセスできます。デフォルトの認証情報は、Webインターフェースが admin、SSHが root で、パスワードはそれぞれのユーザー名と同じです。
これらはすぐに変更してください。ハードウェアレベルのアクセス権は、開放されたままだと重大なセキュリティリスクになります。SSH経由で以下のコマンドを実行してください:
# Linuxシステムのパスワードを変更
passwd root
# Web UIのアクセスパスワードを変更
kvm-htpasswd set admin
PiKVMは、停電時のSDカード破損を防ぐために読み取り専用(read-only)ファイルシステムを使用しています。設定を変更する場合は、手動で書き込みモードに切り替える必要があります:
# 書き込みモードを有効化
rw
# 変更を適用後、再び読み取り専用にロック
ro
ルーター側で固定IPを割り当てることをお勧めします。これにより、ラボ全体の障害でDNSサーバーがダウンした場合でも、常に管理インターフェースにアクセスできるようになります。
高度な制御:ATX電源管理
サーバーが完全にフリーズした場合はどうなるでしょうか?その状態ではキーボード操作も効きません。PiのGPIOピンをマザーボードの電源およびリセットヘッダーに接続することで、ブラウザから物理的にボタンを「押す」ことができます。これにより、真の「ライツアウト(無人)」管理環境が実現します。
私は、Piをマザーボードから電気的に絶縁するために、安価な2チャンネルのフォトカプラリレーを使用しています。これらのピン設定は /etc/kvm/override.yaml で定義します。基本的な設定は以下のようになります:
pikvm:
gpio:
map:
power:
pin: 11
mode: output
switch: true
reset:
pin: 13
mode: output
switch: true
設定が完了すると、Web UIに電源(Power)とハードリセット(Hard Reset)のボタンが表示されます。リモートでのトラブルシューティングにおいて、これはまさに命綱となります。
テストと実環境でのパフォーマンス
ブラウザを開いてログインしてください。「KVM」タブにサーバーのビデオフィードがすぐに表示されるはずです。画面が真っ暗な場合は、HDMIブリッジのリボンケーブルを確認してください。これらのケーブルは非常に脆く、セットアップ時のトラブルの最も一般的な原因です。
仮想メディアの利点
仮想メディア(Virtual Media)は私のお気に入りの機能です。物理的なUSBメモリを探し回る代わりに、ISOファイル(ProxmoxやUbuntuなど)を直接PiKVMにアップロードできます。すると、PiがUSB DVDドライブとしてエミュレートされます。これにより、3マイル離れたカフェに座りながら、地下室にあるサーバーのOSを丸ごと再インストールすることができました。
熱と安定性
Pi 4は1080p 30fpsのビデオストリームをエンコードする際、かなりの熱を発生させます。サーマルスロットリングを防ぐために、必ずヒートシンクか小型の30mmファンを使用してください。スロットリングが発生したPiでは、マウスの動きが遅延したりフレーム落ちが発生したりするため、BIOS操作が非常にストレスになります。
私の経験では、適切に冷却されたPi 4は数ヶ月間安定して稼働し続けます。これによりサーバーラックへ足を運ぶ回数が劇的に減り、旅行中に起動エラーを修正しなければならなかった最初の一回だけで元が取れました。時間を大切にしたいなら、PiKVMはHomeLabへの最高の投資になるはずです。

