配線
私はRaspberry Pi Zero WHを所有していて、これまで自宅の室温を記録してサーバーに送信していた。突然NASを組みたくなり、これを利用できないかと考えた。
ざっくりラズパイにストレージが接続さえできればあとはどうにでもなりそうだったので、アダプター類を購入して準備した。具体的には、Zero WHはUSB micro-B凹端子しかないので、ここから
- USB micro-B凸 to USB A凹 変換
- USB A凸 to USB A凹 ハブ(給電機能つき)
- USB A凸 to SATA
の3段階を経てタンスに打ち捨てられていたHDDに接続。つないでlsblkするだけで認識できた。
HDDの準備
母艦側PCでHDDの中身を適当にサルベージしたあと、フォーマットしてLUKS暗号化しつつBtrfsでパーティションを作成。このあたりは全部UbuntuのdiskユーティリティでGUI操作可能だった。ただしGUI上でBtrfsを選択するためにはaptでbtrfs-progsを入れておく必要がある。
Raspberry Piのソフトウェアレイヤーの準備
よくあるチュートリアルのようにOpenMediaVaultを入れようとしたのだが、そのためにはRaspberry PiのOSがGUIをサポートしないバージョンでなければならない。そのために面倒な思いをしてOSを入れ直した。しかし改めてOMVを入れようとしたが、一般的なインストールスクリプトはRaspberry Pi Zeroには対応してないらしい。
RPi revision code :: 9000c1
This RPi1 is not supported (not true armhf). Exiting...
仕方なくsambaに方針転換してインストールしてみた。
HDDをマウントする
LUKSで暗号化されたストレージは先に
sudo cryptsetup luksOpen /dev/sda storage
する必要があるのだが、なんとこれを実行するメモリが足りなかった(そんなことある!?)
Not enough available memory to open a keyslot.
ので、HDDを再フォーマットしてチャレンジします…