nasneが壊れたのでRaspberry Pi4で修復してみた


nasneが起動しなくたったので、内臓ディスクの問題なら修復できるかもと思い、どうせならと購入してから何もしてないRaspberry Pi4でやってたお話です。

nasneが起動しない

ある日、自室の隅っこにおいてあるNASNEを見るとランプが点滅してるのに気づきました。
録画はしているけど、この半年以上まったく見てないんですけどね。。。

こんな感じで上の緑が電源ランプ下の二つはLANとディスクのアクセスランプ。
全部点滅。この状態はマニュアルによると故障を表すらしく、PS4からもPCでLAN経由で共有フォルダへのアクセスすらできない。

というわけで分解です。※自己責任

ちなみに、nasneのハードディスクは基盤とセットでシリアル番号による著作権ロックが掛かっていて自身での交換はできないそうです。

TVやLAN・USBケーブルを外して、工具を用意してBCASカードは取り出しておきます。
そしてBCASカード入れる面を下にします。

上蓋を取る

四隅にある四角の外せそうなプラをヘラとかマイナスドライバーで外すと、
ネジが出てくるのでこれを外します。

そして、ちょっとやっかいですが、ふたを外します。
両端を内側に寄せて上げる感じで思い切っていきます。かなり固いです。
自分は数十分格闘しました。

すると、基盤とハードディスク登場。

ハードディスクを取り出す

ハードディスクを取り出すには下の蓋を外してそちら側のネジを外さないといけません。
同様のやり方で下蓋を外し、ハードディスクを止めている4か所のネジを外して抜き出します。

ハードディスクをRaspberry Pi 4に認識させる

蓋さえはずせたら、ディスク抜くまでは簡単です。
逆にまた最後に蓋を付けることを考えると億劫ですが。

ありあわせのやつで認識させる

では、ここからはRaspberry Piにハードディスクをつないで修復をはじめます。

なんでもいいので抜き出したハードディスクを認識できる装置を用意します。
自分は以前NASが壊れた時に中身を別ディスクにコピーするために買ったgroobyさんのCLONES-03-SAIDを使いました。
つい最近購入したSANWAサプライさんのUSB-CVIDE7も認識しました。

いずれにせよ、Raspberry Pi で外付けのHDDをUSBバスパワーで動かすには電力パワー不足に陥る可能性が高いので、ACアダプターで給電できるものがいいと思います。

Raspberry Piのセットアップとかは別の機会にするとして、
こんな感じでディスクを指して、Raspberry Piにつなげます。

でssh接続ソフト(私はPowerShell 7)からSSHでRapberry Piに接続してディスクを確認

ssh [email protected]
[email protected]'s password:
Linux xxx 5.4.51-v7l+ ...
pi@xxx:~ $ sudo fdisk -l
...
Device     Boot   Start        End    Sectors   Size Id Type
/dev/sda1  *       2048     526335     524288   256M 83 Linux
/dev/sda2        526336    2623487    2097152     1G 83 Linux
/dev/sda3       2623488 1953525167 1950901680 930.3G 83 Linux
pi@xxx:~ $ df -T
ファイルシス   タイプ   1K-ブロック    使用    使用可 使用% マウント位置
/dev/root      ext4        27784728 9501624  16848660   37% /
devtmpfs       devtmpfs     1827808       0   1827808    0% /dev
tmpfs          tmpfs        1959904       0   1959904    0% /dev/shm
tmpfs          tmpfs        1959904    8756   1951148    1% /run
tmpfs          tmpfs           5120       4      5116    1% /run/lock
tmpfs          tmpfs        1959904       0   1959904    0% /sys/fs/cgroup
/dev/mmcblk0p6 vfat          258094   54606    203489   22% /boot
tmpfs          tmpfs         391980       0    391980    0% /run/user/1000
/dev/sda1      ext3          245679  103726    128846   45% /media/pi/sys1
/dev/sda3      xfs        974974548 7542156 967432392    1% /media/pi/user

/dev/sda1,/dev/sda3がnasneですね。/dev/sda2が見れていない。これが壊れてるのかな?
/dev/sda1がマウント位置が/sys1とあるので起動ドライブっぽいですね。
/dev/sda3はサイズ・マウント位置的に録画データの格納エリアかな。
録画は外付けのハードディスクにしてるから使用率1%からして間違いないでしょう。
ファイルシステムもxfsだし、xfsprogsとか入れないといけないしやりません。

ということで、まずは/dev/sda1のext3を標準コマンドfsckでチェック・修復します。

pi@xxx:~ $ sudo fsck /dev/sda1
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
sys1 has been mounted 63 times without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inodes that were part of a corrupted orphan linked list found.  Fix<y>? yes
Inode 12 was part of the orphaned inode list.  FIXED.
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
/lost+found not found.  Create<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information

sys1: ***** FILE SYSTEM WAS MODIFIED *****
sys1: 23/65536 files (8.7% non-contiguous), 120192/262144 blocks

あぁ、やっぱ起動ドライブの破損やったみたいやね。
修復はされたけど、起動に必要な個所だとアウトの可能性もある。じゃないことを祈る。

次に見れなかった/dev/sda2 これがext3なのかxfsなのかわからないけどfsckでやってみる。

pi@xxx:~ $ sudo fsck /dev/sda2
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
sys2: recovering journal
Clearing orphaned inode 24585 (uid=0, gid=0, mode=0100644, size=0)
sys2 has gone 1440 days without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
/lost+found not found.  Create<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (235297, counted=234303).
Fix<y>? yes
Free inodes count wrong (63946, counted=63944).
Fix<y>? yes

sys2: ***** FILE SYSTEM WAS MODIFIED *****
sys2: 1592/65536 files (6.0% non-contiguous), 27841/262144 blocks

こっちも壊れてたのか。チェックできたということはext3だったのかな。
こっちは起動ドライブじゃなないはずなので、まぁ問題ないでしょ。

では再度ディスクを確認。

pi@xxx:~ $ df
ファイルシス   1K-ブロック    使用    使用可 使用% マウント位置
/dev/root         27784728 9506264  16844020   37% /
devtmpfs           1827808       0   1827808    0% /dev
tmpfs              1959904       0   1959904    0% /dev/shm
tmpfs              1959904    8764   1951140    1% /run
tmpfs                 5120       4      5116    1% /run/lock
tmpfs              1959904       0   1959904    0% /sys/fs/cgroup
/dev/mmcblk0p6      258094   54606    203489   22% /boot
tmpfs               391980       0    391980    0% /run/user/1000
/dev/sda3        974974548 7542156 967432392    1% /media/pi/user
/dev/sda2           999320   62108    884784    7% /media/pi/sys2
/dev/sda1           245679  103727    128845   45% /media/pi/sys1

ん。/dev/sda2も見れるようになった♪

組み立て前にチェック

組み立てる前に、直接基盤に電源とLANケーブルつないで起動してランプを確認
電源とLANランプが点滅から療法常時点灯になればOK。

左側の電源ランプ、LANランプ点灯 これで起動はできてるはず。

動作確認

では電源落として組み立て

無事起動そして録画データ(これは外付けハードディスクに保存してたので被害なし)も見れた。

組み立てて、作業完了!
お疲れさまでした。

感想

復旧したはいいけど、半年も見てないしこれからも見るのか果たして疑問 笑

でも、Raspberr PiでLinuxでできる作業はだいたいできそう。
やったことは簡単なことだったけど、いい勉強になりました♪