本サイトはサイト運営費捻出のため、アフィリエイト広告を利用しています。*詳細
Orange Pi Zero LTSでPiKVMを作ってみた

Orange Pi Zero LTSでPiKVMを作ってみた

2023年3月19日
スポンサーリンク

自宅や実家に設置しているサーバでトラブルが起きた際、今まではモバイルモニターとキーボードを繋げて何とかしていました。

ただ、サーバは普段ラック内に置いていますし何より、実家に置いているサーバで何か問題が起きると、現地に行かないといけないのが辛いところ。

この問題を解決すべく、IP-KVMを導入するかぁ・・・でも高いしなぁ・・・と考えていたのですが、Raspberry Piを使ったPiKVMが良さそう、という話を耳にしました。

PiKVM an easy and inexpensive DIY IP-KVM on Raspberry Pi to control remote machi…
pikvm.org

ただ、現在においてRaspberry Pi自体非常に手に入れづらい物になっており、Raspberry Piを使うことを前提としたソフトウェアは非常に重たい物です。

とはいえLinuxが動くSBC(Single Board Computer)さえあれば何とかなるだろう、とも思っていたのでもう少し調べてみると、Orange Pi やNano Piでも動くPiKVM OSが公開されていました。

OS for Pi-KVM based on Arch Linux ARM. Contribute to Yura80/os development by cr…
github.com

今回は、このリポジトリにあるOSイメージをOrange Pi Zero LTSに導入し、PiKVM環境を構築してみることにしました。

必要な物

PiKVM環境を組み上げるのに必要な物は以下の通り。

必要な物購入先(アフィリエイト広告リンクを含みます)価格(送料含まず)
Orange Pi Zero LTSAliExpress2,934円
MicroSDカード 16GB以上Amazon.co.jp550円
GROOVY グルービー
GM-UH016Y [Y字型microUSBケーブル]
ヨドバシカメラ360円
六角柱 6角スペーサーAmazon.co.jp890円
HDMIキャプチャボードAmazon.co.jp1,598円
HDMIケーブル(無ければ)Amazon.co.jp600円
LANケーブル(無ければ)Amazon.co.jp792円
アクリル板(加工含め)アクリルオンライン1,243円
合計8,967円

Orange Pi Zero LTS

Orange Pi Zero LTS
www.orangepi.org

Orange Pi Zero LTSはOrange Piシリーズの中でも非常に小型なモデルです。

AliExpressで2,934円程度で売られており、入手性が非常に良いのが高ポイント。

Orange Pi Zero LTSに搭載されているWi-Fiモジュールは、技適をクリアしていないため有線のみで利用します。

Orange Pi Zero LTSのケース問題

Orange Pi Zero LTSですが、Raspberry Piと違ってあまり良さげなケースが用意されていなかったため、今回は自分で作ることにしました。

後から気付いたのですが、普通に公式のケース売っていました・・・
2台目組んだときにケースと一緒に買いました

Orange Pi Zero LTSでPiKVMを作ってみた

Orange Pi Zero LTSの図面が公式サイトに公開されていたので、アクリル板と六角柱、六角スペーサーを組み合わせてみます。

広告リンク

Orange Pi Zero LTSでPiKVMを作ってみた

アクリル板の加工については、幅48mmの高さ46mmの四角形をベースに、四隅からそれぞれ縦横3mmの位置に直径5mmの穴を空け、最後に四隅をR2で丸めます。

流石に自宅にレーザーカッターなどは置いていないので、アクリルオンラインさんに加工を依頼しました。

あなたの欲しいサイズ・色・素材でオーダーカットできるアクリル板加工専門の通販 アクリルオンラインです。ポリカーボネート、塩ビ、PET板等の加工や特注品も承ってお…
acrylic-online.com

アクリル板(押出) オーダーカットから、下記の通り指定して注文すれば写真と同じ物が作れます。

項目内容
透明(P)
厚み3mm
W48mm
H46mm
端面仕上げ磨き
角R半径 A:2mm B:2mm C:2mm D:2mm
穴あけ1丸穴 ABCD 直径5 X:3mm Y:3mm

あとは六角スペーサーと六角柱を組み合わせて良さげな形に仕上げ、邪魔なWi-Fiアンテナは引っこ抜きます。

写真にあるOrange Pi Zero LTSは、拡張インターフェースボードも載せているのですが、PiKVMとして利用するなら不要です。(勘違いして必要と思い、買っちゃいました・・・)

PiKVMセットアップ

Orange Pi Zero LTSの準備ができたら、下記リポジトリのReleasesにアクセスし、最新のVer(記事執筆時点ではv2020.12.19)→Show all 16 assetsの順にクリックし、「v2-hdmiusb-generic-arm-orangepi-zero.img.bz2」をダウンロードします。

ダウンロードしてきたbz2アーカイブを展開すると、「v2-hdmiusb-generic-aarch64-orangepi-zero-plus.img」が展開されるので、Win32 Disk Imagerを使ってmicroSDにイメージを書き込みます。

Download Win32 Disk Imager for free. A Windows tool for writing images to USB st…
sourceforge.net

PiKVM初期設定

Orange Pi LTSに、OSイメージを書き込んだmicroSDとLANケーブルを刺した上でmicroUSBケーブルにOTGケーブルを刺し、適当な電源アダプタもしくはPCに接続して起動します。

DHCPでIPアドレスが払い出されるので、ルーターなどからpikvmに払い出されているIPアドレスを特定し、SSHでPiKVMに接続します。

デフォルトIDとパスワードはroot/rootです。

PiKVMは/がRead Onlyでマウントされた状態で起動するので、下記コマンドを実行して/を再マウントします。

mount -o remount,rw /

続いて、rootのパスワードを下記コマンドで変更します。

passwd

あわせて、PiKVM管理画面のパスワードも下記コマンドで変更しておきます。

kvmd-htpasswd set admin
systemctl restart kvmd kvmd-nginx

続いて、pacmanのmirrolistが古いためかpacman -Syuを実行すると、404エラーが返ってくるのでpacmanのmirrorlistを下記コマンドで編集します。

vi /etc/pacman.d/mirrorlist

mirrorlistは下記の通り編集して保存します。

#Server = http://il.us.mirror.archlinuxarm.org/$arch/$repo
Server = http://jp.mirror.archlinuxarm.org/$arch/$repo

mDNSの有効化

今回、PiKVMは持ち運べるIP-KVMとして想定して組んでいるため、毎回払い出されたIPアドレスをルーターで確認するのは非常に面倒です。

そこで、mDNSを使える様にして「pikvm.local」で名前解決できるようにします。

PiKVMはarchlinuxがベースですので、下記コマンドでabahiとnss-mdnsをインストールし、サービスを有効化します。

pacman -S avahi nss-mdns
systemctl enable avahi-daemon.service

ここまでできれば準備完了です。

利用するまでの間いったんshutdown nowでシャットダウンしておきます。

PiKVMでサーバを操作する

Orange Pi LTSのUSB Type-A端子に、HDMIキャプチャボードを接続し、HDMIケーブルでサーバと接続した後、LANケーブルを接続します。

その後、Y字型microUSBケーブルのmicroUSB側をOrange Pi LTSのmicroUSBポート、残りのUSB Type-Aケーブル2つをサーバに接続します。

すると、Orange Pi LTSに電力が供給され起動するので、ブラウザで「https://pikvm.local」へアクセスします。

Orange Pi Zero LTSでPiKVMを作ってみた

ログイン画面が表示されるので、IDに「admin」、パスワードにはkvmd-htpasswd set adminで変更したパスワードを入力してログインすると、上図の様なPiKVMのWEBコンソールが表示されるので、「KVM」をクリックします。

Orange Pi Zero LTSでPiKVMを作ってみた

すると、上図の通りブラウザ上にサーバの画面出力内容が表示されます。

Orange Pi Zero LTSでPiKVMを作ってみた

もちろん、キーボード入力もOK。なんともあっさりとIP-KVM環境が構築できました。

Orange Pi Zero LTSでPiKVMを作ってみた

更に、Y字ケーブルを別のPCやUSBアダプタに繋げてあげる必要があるものの(Orange Pi LTSへの電源供給が必要なため)、上図の通りBIOS画面もPiKVM経由で操作できちゃいます。

更に更に、事前にISOイメージをOrange Pi Zero LTS側にアップロードしておく必要がありますが、Virtual Media機能もあるので、PiKVMを入れたOrange Pi Zero LTSを用意しておけば、PCやサーバのセットアップができちゃうのも魅力的ですね。

安いUSBタイプのHDMIキャプチャボードを利用しているので、GUI操作などはどうしても遅延が発生しますが、トラブルシューティング位であればこれで十分です。

まとめ

本来であればIP-KVMを利用しようとするとかなりの出費が必要なのですが、PiKVMを使えばビックリするくらい安くでIP-KVM環境を構築できるのはありがたい話です。

もちろん、ハードウェアの信頼性を見ると比べものにならないものの、物自体が安いので故障したら丸っと交換、でも全く問題無さそう。

Raspberry Piであれば、無線モジュールが技適をパスしているのでWi-Fi経由でPiKVMを利用できるのでより便利かなという感じ。

ただ、正規価格で中々揃えられないことを考えると、有線LANのみという制限は受ける物のOrange Pi Zero LTSで組むのが今はベターかもですね。