前回からの続きです。Zabbixサーバに出ていた「Disk read/write request responses are too high」への対処が結果的に解決できませんでしたが、試行錯誤した結果、RasPi3B+ でZabbixサーバが使えるようになりました。
RasPi4 にZabbixサーバを構築
今回はこちらの記事を参考に、改めてZabbixサーバのインストールを試してみました。
結果は「Disk read/write request responses are too high」は変わらず出ていました。
そこで、USBメモリブートは諦めて、HDDブートでやってみる事にしました。
ハードディスクとハードディスクケース
余っていたハードディスク(500GB)を、余っていたハードディスクケースに入れてみます。
SD Card Copier
RasPi4を別のOSイメージで起動し、SD Card Copierを使って、USBメモリ(Zabbixインストール済のOS)をハードディスクにコピーしました。
コピー後、無事にハードディスクからRasPi4が起動しました。
この状態でZabbix サーバのダッシュボードを確認すると、無事「Disk read/write request responses are too high」が出なくなっていました。という事で、HDDブートで運用する方向にします。
RasPi3B+ で起動させてみる
RasPi4でうまくZabbixサーバを動作させる事が出来ましたが、RasPi4はOpenVINO(Intel社のAI推論エンジン)の検証で利用したいので、余っているRasPi3B+でZabbixサーバを動作させてみる事にします。
HDDブートを試す
早速、RasPi4で起動したハードディスクをRasPi3B+に接続して起動してみましたが、なぜかブートプロセスが走りません。USBメモリでは正常にブートするのですが…はてさて。
/boot/cmdline.txt の確認
blkid でPARTUUIDを確認し、/boot/cmdline.txt に記載されているかを確認したところ、問題なく記載されていました。(RasPi4で起動するのだから、ここは大丈夫だと思いましたが念のため。)
$ sudo blkid
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="" TYPE="vfat" PARTUUID="xxxxxxxxxxxx"
/dev/sda2: LABEL="rootfs" UUID="" TYPE="ext4" PARTUUID="xxxxxxxxxxxx"
USB mass storage boot の手順を試す
公式ページのUSB mass storage bootの記事の手順を試します。
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
$ vcgencmd otp_dump | grep 17:
結果的には事象は変わらず、HDDから起動しませんでした。遅延も試しましたが駄目でした。
よくよく観察すると、電源オンしたあとにHDDへアクセスが行ってないようです。ケースの問題?
別のハードディスクケースを試してみる
という事で、他に余っていたハードディスクケースに変えてみたら普通に起動しました。
RasPi3B+とHDDケースの相性だったのですね。切り分けが大変でした。
完成
なんとか無事にRasPi3B+でZabbixサーバが使えるようになりました。
あと、起動後にUnder-voltage detected!が頻繁に出ていました。HDDを繋いだから?と思いましたが、電源ケーブルを変更したところ出なくなりました。焦りますね。
まとめ
以下のURLを参考に、設定を進めました。
HDDブートはケースの相性があり、注意が必要でした。
Zabbix自体は普通に動作スピードが気にならない程度に使えました。
RasPi3B+が余っている方は、Zabbixサーバを構築してみてください。
良かったら他の記事も読んで頂けると嬉しいです。よろしくお願いします。