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シリーズの中でも非常に小型なモデルです。

Orange pi Zero lts 512mb h3クアッドコア、オープンソースシングルボードコンピューター、Android 4.4、Ubuntu、Debia…
ja.aliexpress.com

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

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

Orange Pi Zero LTSのケース問題

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

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

最も安い価格での自動車、電話とアクセサリ、コンピューターと電器、ファッション、美容と健康、ホームとガーデン、おもちゃとスポーツ、結婚式とイベントのオンラインショ…
ja.aliexpress.com
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で組むのが今はベターかもですね。