はじめに
Raspberry Pi 2 Bを複数台所有しているのですが、microSDが壊れて起動できなくなることが何回かありました。
そこで、ReadyNAS DuoのnfsサーバにRaspberry Piのルートをマウントして運用することを考えました。といってもRaspberry Piを完全なディスクレスクライアントにすることはできませんでした。(Rpi3だとできるような記事もありましたがRpi2は無理なようです)
ReadyNAS Duoの設定
管理コンソールから共有に対しnfsを有効にしてクライアントからのrootアクセスを許可するだけです。
Raspberry Piの設定
Raspbianを手順通りにmicroSDに書き込みます。
起動した状態でReadyNASにコピーしようと試みたのですが、うまくいかなかったので別のDebianマシンを使ってReadyNASにコピーしました。(microSDはsdb、ReadyNASサーバのIPアドレスは192.168.1.16です)
#mount /dev/sdb2 /mnt #mount -t nfs 192.168.1.16:/c/rpi-nfsroot /mnt2 #cd /mnt #tar cvf - * | tar xf - -C /mnt2 . . #
次にsdb1にあるファイルを編集します。
変更前(実際は1行)
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
変更後(実際は1行)
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/nfs rootfstype=nfs nfsroot=192.168.1.16:/c/rpi-nfsroot rw smsc95xx.turbo_mode=N ip=dhcp elevator=deadline rootwait
起動時間を図りました。電源を入れてからログインプロンプトが出るまでの時間です。
microSDからブート:21.7秒
nfsブート:22.3秒
nfsの方が若干かかるようです。