LoginSignup
3
7

PiKVMのインストール

Last updated at Posted at 2023-02-21

サーバーにはリモートから操作するための管理機能が備えられていることがありますが,通常のパソコンにはそのような機能は付いておらず,リモートから操作するためにはなんらかのアプリをつかって実施する必要があります.
トラブル発生時などは,アプリを使うところまで辿りつかないことも考えられます.なんとかアプリなしでリモート操作できるものがないかを探しているとpikvmというものを見つけました.
PiKVMとパソコンをHDMI,USBケーブルで接続すればリモートから操作できるようになります.

ハードウェア

  • Raspberry Pi 4 Model B 4GB
  • PiKVM V3
  • MicroSD(16GB)
  • ACアダプタ(USB-C)

PiKVM V3はamazonで売っているジェネリック製品の方が入手し易いかも.今回はジェネリック版を利用しました.

インストール

pikvmのイメージをダウンロード.
利用するハードウェアによってダウンロードするイメージが異なるので注意.
今回はRaspberry Pi 4, v3 HAT platformを選択します.

圧縮の伸長

% xz --decompress v3-hdmi-rpi4-latest.img.xz

SDカードへの書き込み

Linuxを使っているので,ddを使ってイメージをSDカードへ書き込みます.Windowsなら別のソフト(balenaEtcherなど)を使えばいいでしょう.
/dev/mmcblk0はそれぞれの環境に合わせてください.

% sudo dd if=v3-hdmi-rpi4-latest.img of=/dev/mmcblk0 bs=1M conv=fsync status=progress

圧縮されたイメージを伸長せずに書き込む

% xzcat v3-hdmi-rpi4-latest.img.xz | sudo dd of=/dev/mmcblk0 bs=1M conv=fsync status=progress

ダウンロードした圧縮イメージをそのまま書き込むこともできます.

起動

イメージを書き込んだMicroSDをラズパイ4に挿入して,電源を入れます.

ログオン

本体のmicro HDMIにディスプレイ,USBにキーボードを接続すれば,consoleを利用できます.
LANに接続しておけば,DHCPでアドレスを取得しているので,ssh経由で接続するのが簡単です.
設定すれば本体のOLEDにIPアドレスを表示できるのですが,初期状態では表示されないため,何らかの方法で割り振られたIPアドレスを確認する必要があります.

初期のID/pwは

default console(ssh) Web IF
ID root admin
Password root admin

になっています.
sshでアクセスする,もしくはブラウザで http://IPアドレス で接続し,Web IFに接続してTerminalを選ぶとconsoleにアクセスできます.

         _____ _  _  ____      ____  __
        |  __ (_)| |/ /\ \    / /  \/  |
        | |__) | | ' /  \ \  / /| \  / |
        |  ___/ ||  <    \ \/ / | |\/| |
        | |   | || . \    \  /  | |  | |
        |_|   |_||_|\_\    \/   |_|  |_|

    Welcome to Pi-KVM - Open Source IP-KVM based on Raspberry Pi
    ____________________________________________________________________________

    The root filesystem of Pi-KVM is mounted in read-only mode by default.
    Use command "rw" to remount it in the RW-mode and "ro" to switch it back.

    To prevent kernel messages from printing to the terminal use "dmesg -n 1".

    To change KVM password use command "kvmd-htpasswd set admin".

    Useful links:
      * https://pikvm.org
      * https://docs.pikvm.org
      * https://wiki.archlinux.org/title/systemd-networkd

[root@pikvm ~]# 

パスワードの変更

初期パスワードを変更するには,

[root@pikvm ~]# rw
[root@pikvm ~]# passwd root
New password: 
Retype new password: 
passwd: password updated successfully
[root@pikvm ~]# kvmd-htpasswd set admin
Password: 
Repeat: 

# Note: Users logged in with this username will stay logged in.
# To invalidate their cookies you need to restart kvmd & kvmd-nginx:
#    systemctl restart kvmd kvmd-nginx
# Be careful, this will break your connection to the PiKVM
# and may affect the GPIO relays state. Also don't forget to edit
# the files /etc/kvmd/{vncpasswd,ipmipasswd} and restart
# the corresponding services kvmd-vnc & kvmd-ipmi if necessary.

[root@pikvm ~]# systemctl restart kvmd kvmd-nginx
[root@pikvm ~]# ro

パッケージのアップデート

pikvmはarchlinuxがベースになっているのでアップデートにはpacmanコマンドを利用します.こちらの環境ではproxyサーバーの利用が必須だったので,環境変数を使って指定しました.
archlinuxを使うのは始めてなので,どうやってproxyを設定すべきかわかりませんでしたが,
とても充実しているドキュメントにプロキシサーバーの記載があったので,こちらを参考にしてもいいかもしれません.

# rw
# export http_proxy=http://xxxxxx:8080
# export https_proxy=http://xxxxxx:8080
# pacman -Syu
# reboot

2023年2月にダウンロードしたイメージ(SHA1:6f7711bbc7c060259787a584144bfca843ba401e
)で試したところ,アップデート前は画面の配信がMJPEGのみしかできませんでしたが,アップデート後にはH.264/WebRTCによる配信も可能になりました.

インストール直後ではMJPEGのみ配信できたので,H.264/WebRTC Troubleshooting
を見て,ipv6の無効化を試したりしましたが結局はパッケージのアップデートが必要だった模様.

その他の設定

ホストネーム

hostnamectl set-hostname xxxxx

vi /etc/kvmd/meta.yaml

server:
    host: xxxxx.domain

タイムゾーン

[root@pikvm ~]# timedatectl set-timezone Asia/Tokyo

OLEDの有効化

systemctl enable --now kvmd-oled kvmd-oled-reboot kvmd-oled-shutdown

FANの有効化

systemctl enable --now kvmd-fan

ATXの無効化

/etc/kvmd/override.d/atx.conf

kvmd:
        atx:
                type: disabled

H.264の有効化

閉じたネットワークでH.264を有効にするには,

systemctl enable --now kvmd-janus-static

インターネットに接続できる環境だと

systemctl enable --now kvmd-janus

こちらだと,インターネット上のstunサーバに接続する.

PiKVMの利用

ブラウザでPiKVMのIPへ接続すると,認証画面が表示されます.UsernameとPasswordを入力してLoginします.
image.png

KVMをクリックすると,接続したパソコンの画面が表示され,キーボードやマウス操作ができます.
TerminalをクリックするとPiKVMのconsoleが開きます.
image.png

利用シーンの想定

パソコントラブル時のリモート対応に利用しようと考えています.電話だとGUIの操作を説明するのが大変なので.
いまのところ,WiFiは使っていないので,PiKVMにLANケーブルを接続する必要はありますが,PiKVM操作対象となるパソコンとHDMI,USBで接続し,OLEDに表示されるIPを電話で伝えてもらえば,リモートから操作できるのはかなり便利になりそう.いまのところ,こちらで想定している利用はLAN内に限定しますが,Tailscale VPNを使えばLANに限定しなくても利用できそう.

参考

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7