昨日の続きです。昨日は外付けHDDのドライブ二台をRAID1構成にしました。
このUSB外付けHDDをOS起動時に自動的にマウントさせようとするとハマりました。
今日はそのご報告です。
昨日の記事⇒RaspberryPiの外付けHDDでソフトウェアRAID1
昨日の時点ではパーティションは認識するし、手動でマウントすることは成功しました。RAID1もmd0デバイスとして認識する状況です。この状況ですが、OS起動時にはなぜか認識しません。パソコンの内蔵HDDでRAID1を構成した時にはこんなことなかったんですが。
失敗した操作
OS起動時のUSBハードディスクの自動マウントは/etc/fstabファイルにディスクのUUIDを記述して実行します。(いつもそれでやってました)
----------------------------------------------
# vi /etc/fstab
----------------------------------------------
「/etc/fstab」には、いつもと同じように
UUID=XXXXXXXX…XXXXXXXX /home/samba ext4 defaults 0 0
という感じに再起動後でも用意したmd0アレイがマウントされるように記述しておきます…と思ったら、再起動後にOS自体が起動しない(正確にはシングルユーザモードでしか起動しない)ようになってしまいました。
※写真を撮り忘れ…
確かメッセージでは
「"Welcome to emergency mode! After logging in, type "journalctl -x" to view system logs,
"systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode."」
と表示されていたと思います。つまりシステム起動失敗でシングルユーザモードで起動した、みたいな状況です。rootのシェルだけがパスワードなしで画面に表示されていて、SSH接続も×、GUIも×な状況に陥りました。
調べてみた結果
どうやら、Debian公式にある「systemd 配下での起動時のマウント失敗に対する、より厳格な取り扱い」の記載に当てはまっているようです。
■Debian:jessie で知っておくべき問題点
詳しくはURLをご覧ください、ってことで、概要だけ。
Debian Jessieからは新しいinitシステムsystemd-sysvが採用されていますけども、これが、ですね。
起動中に "auto" マウントが失敗した場合には、以前までのsysvinitよりもとても厳格に判定して扱いを決めるらしいのです。おそらくfstabで記載のdefailts欄に「nofail」オプションを付けていない(従来Wheezyと同じようにした)状況でautoマウントに失敗すると、新しいinitであるsystemdではOSの起動を継続せずにエマージェンシーモードで起動する、という仕様のようです。オリジナル本文に「非常時のシェルに落ちます」という記載があるのでこれでほぼ間違いないかな、と。
fstab文末の記述は…
UUID=XXXXXXXX…XXXXXXXX /home/samba ext4 defaults,nofail 0 0
「nofail」を追記し、自動マウントに失敗した場合でもOSは正常起動を完了させるようにします。
これでコールドスタートしてみると、
----------------------------------------------
$ df -m
ファイルシス 1M-ブロック 使用 使用可 使用% マウント位置
/dev/root 15056 3828 10563 27% /
devtmpfs 459 0 459 0% /dev
tmpfs 463 0 463 0% /dev/shm
tmpfs 463 7 457 2% /run
tmpfs 5 1 5 1% /run/lock
tmpfs 463 0 463 0% /sys/fs/cgroup
/dev/mmcblk0p1 63 21 43 33% /boot
tmpfs 93 1 93 1% /run/user/1000
tmpfs 93 0 93 0% /run/user/1001
----------------------------------------------
あれ?消えちゃいました…。/dev/md配下を見てもmd0デバイスは表示されないし、/proc/mdstatも(mdstatがなくて)表示できません。
ハードディスクがカンカンカラカラ、とか変な音だったので思わず故障か?と疑ってディスクチェックに走ってしまいました。結果ディスクは無事(むしろ良好)、しかもやらなくていいのにRAID1を再構成してしまいました。※どうやらハードディスクの音はたまに出る仕様のようです。
実はこれは消えていません。マウントされていないだけでした。
ここからさらに必要な設定
実際に追加設定を実施して自動起動するようになったのですが、作業メモをまだまとめ切っていないので、明日ご報告しまする。