【Home Assistant(Hass.io)】
今更ながらサーバをSSD起動で動かしました
「Home Assistant(Hass.io)でホームオートメーション 再起動!」シリーズです。
GW中に書きかけを払い出す計画第2弾。昨年末におこなったサーバ群(と言っても2つ)のSDカードからSSDへの移行です。細かいファイルを読み書きするHome AssistantサーバをSDカードで運用するのは寿命の面でやはり心配なのと、スピードの面でSSDからのブートに変更したいと思います。
しかし、変更してから半年(InfluxDB用のポータブルSSDを買って机の上に置き去りにしてから数えると2年ほど)も記事にせず放置。まあ、特に何が変わったわけでないので、備忘録的にもイマイチ。
- 【Home Assistant(Hass.io)】 今更ながらサーバをSSD起動で動かしました
- 1. 準備
- 2. ラック(?ケース?)を作る
- 3. Home AssistantサーバのSSD化
- 4. InfluxDBサーバのSSD化
- 5. おわりに
この記事の前提条件 | |
---|---|
Home Assistant | 2022.12.0 |
Supervisor | 2022.11.2 |
Operating System | 9.3 |
Server | Raspberry Pi 4(4GB)/64bit |
上記バージョン(の頃)を前提とした手順です。
1. 準備
1.1. Home Assistantサーバー
Raspberry Pi4 ModleB/4GB
ファン付アルミヒートシンク仕様、写真は4B(4GB)のHome Assistant用のもの。2022年は需給がまったく合致していなくてRaspi4Bは入手困難でしたね。フリマサイトで購入。
SSD (M2. NVMe PCIe, 128GB)
高速化を狙うと言っても所詮はRasPiなので安いやつを選びました。2000円ぐらい。
Logitec M.2 NVMe SSDケース
冷えそう、というイメージから放熱シート付のものを(騙されやすい?…)。SSDよりこっちの方が高い、2500円ぐらい。
1.2. InfluxDBサーバー
Raspberry Pi 4B
ファン付アルミヒートシンク仕様、写真は4B(2GB)のInfluxDB用のもの。Home Assisstant用を横流し。
Buffalo ポータブルSSD 250GB
SSD-PG250U3-BC。2021年ごろにInfluxDBで全データバックアップを狙い購入するも放置。7000円ぐらいだったか。
2. ラック(?ケース?)を作る
最初は元々RasPiサーバーsを置いていた百均のミニラックにSSDケースもポイっと置いていました。放熱面は万全なのですが、ただUSBケーブルのすわりも良くないし、ちょっと雑然とした感じに(写真が無くてすみません)。
せっかくなので、ぴったりフィットのミニ収納ラックを3Dプリントしてみました。下の写真が印刷したパーツです。真ん中がRasPi4Bを置く部分。左右が足、上のパーツがSSDを取りつける延長ガイド(SSDケースよりRasPi4Bを置く台が大きいので)。
組み立てるとこんな感じです。
RasPi4Bを置く上の段には横のコネクタ(電源、MicroHDMI)がグラグラしないようなガイドと後ろのネットワークなどもぷらぷらしないようなスペースを設計。この写真は後ろから見たの写真。前後の枠はパチンと嵌める設計。ガイド付き取付延長パネルは両面テープで枠に貼り付けます。
RasPi4Bを載せるとこんな感じです。下がBuffaloのSSDですね。
使う人がいるかどうかわかりませんが、一応データはThingiverseに置いておきますね。
(組み合わせのすり合わせはFLASHFORGE社Adventurer4で行いました)
www.thingiverse.com
3. Home AssistantサーバのSSD化
3.1. USB Boot可能に
と、言いながらRasPi4BでUSBブートが出来なかったのは、リリース当初(2020年中ごろだったかと)なので、最近のヤツ大丈夫。2022に入手したものは大丈夫でした。
3.2. Home Assistantイメージの書き込み
Home AssistantのインストールもRaspberry Pi Imager(もしRaspberry Pi Imagerをインストールしていなければ、ココからダウンロードしてインストールしておく)で出来るようになってます。
"Other specific-purpose OS" > "Home assistants and home automation" > "Home Assistant (RPi4)"と進んで、PC接続したUSBスト―レージ(SSD (M2. NVMe PCIe, 128GB))を指定して書き込みます。
3.3. Home Assistantインストール&復元
HAを書き込んだUSBストレージをRasPi4Bにつないで電源を入れてインストール。
インストール後のバックアップからの復元は下記の記事と同じ。
maky-ba.hatenablog.com
4. InfluxDBサーバのSSD化
これを機にInfluxDB 2.xへアップグレードだ、と息巻いて試しましたが、どうもうまくデータ移行が出来ず、InfluxDB 1.x用に作られている各種スクリプトも変更が上手くいかず、なので結局InfluxDB 1.8のまま…。
4.1. USB Boot可能に
しばらくHome Assistantサーバに使っていたこのRasPi4Bはブートローダーが古かったので、次の手順でブートローダーを最新化しました。
まずMicroUSBをWindows PCに挿して、Raspberry Pi Imagerを起動する。OSイメージとして、Misc utility images > Bootloader > USB bootを指定します。ここで作ったMicroUSBを一度RaspPi4Bに挿して立ち上げると、ブートローダーを最新化してくれます。
この変更は恒久的なのでいったん変更すればUSBストレージを接続している限りそちらからブートしようとします。よしよし。
4.2. OSインストール
USBブートできるようになったら、あとは下記記事を読み替えてゆけばOKです。
maky-ba.hatenablog.com
- 1.1 HDD起動可能かの確認
⇒ 上記「4.1」でUSBストレージから起動できるようにブートローダーを変更しているので【OK】 - 1.2 USB HDDの準備
⇒記載の通り素のポータブルSSD (250GB)をPCにつなげば【OK】 - 1.3 USB HDDにRaspberry Pi OS(32bit) Liteイメージを焼く
⇒「balenaEtcher」ではなく純正の「Raspberry Pi Imager」を使う。RasPi4Bなので「Raspberry Pi OS Lite(64bit)」("Raspberry Pi OS (Other)"の下だったかな)を指定、設定で「SSH(パスワード認証)」「パスワード設定」をすればssh空ファイルとか設定しないで【OK】 - 1.4 Rasbperry Piに接続して起動
⇒ "sudo raspi-config"で設定することの大半は、Rasberry Pi Imagerでの設定で出来てしまう気が…。
4.3. InfluxDBインストール
これも上記の記事で大丈夫なはず。
- InfluxDBインストール
上記記事の「2. InfluxDBを導入する」の記載を参考に - InfluxDBの設定関連
上記記事の「3. データベースの設定」の記載を参考に - InfluxDBのデータのリカバリ
上記記事の「4. InfluxDB覚書」の記載を参考に
5. おわりに
タイトルでは「・・・動かしました」と過去形チックに書きましたが、まあ現在完了進行形ですね。今も元気に動いています。SSDもそれほどホットにならずに。でも夏はこれから…。