nasneが故障した時の対処法
私のケースでは、nasneの電源を入れたらすべてのランプがずっと点滅してしまい、内部HDDをパソコンにつなげてチェックしてみたところエラーを吐きまくる(ディスクの認識や読み込み自体がとても遅い)という状態でした。HDD自体が死にかけてると思われます。
それぞれの事案に対処できるかどうかわからないけど、nasneなHDDが故障しているケースが多いのでそれに対する一般的な処置について書きます。十分調査した上で開始してください。ここに書いてあることはあくまで参考程度にし、理解した上で実行してください。
まず分解して、HDDを取り出します。nasneの構成はsdb1:ext3(boot), sdb2:ext3, sdb3:xfs
です。システムがHDD(sdb1,2)にはいっており、sdb3がユーザー領域でフォーマットしてもかまわない領域だと考えられます。
とりあえずバックアップした後に色々やります(私のケースでは主に新しいHDDに換装)。私のケースではHDDが死にかけているためバックアップが非常に困難(時間がかかる)。この場合、エラーがsys1,2にクリティカルヒットし、かつそれが起動に必要なものであり修復できない場合、多分ですがリストアしてもnasneが起動できないかもしれません。なので、クリティカルしてないことを祈るしかない…。
$ sudo fdisk -l
# バックアップ
$ sudo dd if=/dev/sdb of=~/nasne.img bs=512 count=2623488
# エラーが出てる時はdumpなどでバックアップを取ったほうが良い
$ sudo dump -0u -z9 -f ~/nasne_sdb1.dump /dev/sdb1
$ sudo dump -0u -z9 -f ~/nasne_sdb2.dump /dev/sdb2
# その他のバックアップ方法
$ sudo ddrescue -v -d -f -r3 /dev/sdb ~/nasne.img
# リストア(新しいHDD, cfdiskで領域削除した後に)
$ sudo dd if=~/nasne.img of=/dev/sdb
# user:xfs領域のチェック
$ sudo xfs_check /dev/sdb3
error
# 修復, これで治るのがベスト
$ sudo xfs repair -L /dev/sdb3
# 場合によってはフォーマット(録画したビデオなどは消える)
$ sudo cfdisk /dev/sdb # sdb3領域を削除し、新しい領域を作って保存
$ sudo mkfs.xfs -f /dev/sdb3
$ sudo xfs_admin -L user /dev/sdb3 # ラベル:user
# sys1,2:ext3領域チェック
$ sudo fsck /dev/sdb1
$ sudo fsck /dev/sdb2
# 修復
$ sudo fsck -yf /dev/sdb1
$ sudo fsck -yf /dev/sdb2
nasneは、そう簡単に壊れると思ってなかったのでバックアップも取ってなかったし、なんというかあれ。バックアップとっとけばよかった(特にsdb1:sys1,sdb2:2)
本来なら買った時にHDDのsdb1,2領域をバックアップしておけば簡単に新しいHDDに換装できたのでやっておくべきだった。よって、バックアップしてない人はシステム領域だけでもバックアップしておいたほうが良いかもしれない。
自分の場合、HDDが死んでsdb2領域がダメになってるぽいので割とどうしようもない感じだった。が、一応、復旧を試みる。
たった1GBのバックアップに時間がかかり最終的にはエラーを吐く(上手くバックアップできないし、できたとしても修復できない可能性)。ディスクがなかなか認識しないような状態でHDDディスク自体が壊れかけていると思われる。
この兆候はそれまで全く見られず、久しぶりに電源入れたらこんな状態だった。全部のランプが点滅しててなんかおかしいなと思ったが、調べてみるとHDDがほぼ死んでた。バックアップには相当苦労した(時間がかかった)。
参考
http://note.n6e.be/blog/2012/07/19/filesystem-of-nasne/
http://note.n6e.be/blog/2012/07/21/replacing-hdd-of-nasne/