nasneのハードディスク交換♯2 HDDの修復

nasneが起動しなくなりました。前回の投稿でnasneのHDDが故障しているのが確認できました。今回は新しいHDDで修復をします。

2021年3月にBUFFALO製のnasneが発売されました。しかし、この投稿で扱うnasneは、ソニー製のnasneです。ご注意ください。

新しいHDDを利用したnasneの修復

前回の投稿で、nasneを新しいHDDを使用して修復することにしました。この修復方法をとる場合は、いくつかの条件がそろっている必要があります。

nasneの個体に依存した暗号化

nasneのファームウェアは、nasne個体に依存した暗号化がかかっています。そのため、他のnasne個体のファームウェアをこのnasneにコピーしてきても、有効なファームウェアとなりません。

そのため、障害が起きたnasneの個体の正常なファームウェアイメージが存在する必要があります。

HDDの個体に依存しないファームウェア

nasneのファームウェアのver.1.5以降はHDDの個体の情報に依存したつくりになっています。

たとえば、正常に起動するnasneのHDDから別のHDDにディスクイメージ全体をコピー(クローン)し、作成したHDDをnasneに接続したとしても、HDDが交換されたことを認識し、nasneは起動しません。

しかし、ver.1.5より前のファームウェアは、HDDの個体の情報に依存したつくりになっていません。この場合、正常に起動するnasneのHDDから別のHDDにディスクイメージ全体をコピー(クローン)し、作成したHDDをnasneに接続したら、nasneは起動します。

そのため、ver.1.5より前のファームウェアイメージが存在してることが必要です。

私の場合は、500GBのnasneを購入した直後に、1TB HDDに取り換えて1TBのnasneとして運用していました。その時に、すべてのパーティションのバックアップイメージを保存してあったので、それを利用します。

ver.1.5より前の状態のパーティションのバックアップイメージがないと、今回の新しいHDDを使った修復はできません。この投稿の後半のTipsにも書きましたが、パーティションのバックアップイメージがなかったとしても、自動で作成されるバックアップフォルダーが使える可能性もあるようです。

新しいHDDを使用したnasneの修復に必要なイメージ

結果として、

  • パーティション1のイメージ (ただし、ver.1.5より前のファームウェアを含むイメージ)
  • パーティション2のイメージ

が必要となります。

これは、nasneを購入して、ファームウェアをバージョンする前に、HDDのバックアップを取っていた時に可能です。HDDのバックアップは、ディスク全体であっても、パーティション1とパーティション2の二つの部分だけでも問題ありません。

幸い、私はnasneを購入した当時、まず、nasneのHDDのバックアップを作成しました。その後、nasneを通常利用しました。そのため、上記のパーティションイメージが存在することになります。このバックアップイメージを使用してnasneを修復することにします。

以下の新しいHDDを使ったnasneの修復は、上記のイメージが存在する前提での方法です。

新しいHDDを使ったnasneの修復

前節で説明したように、パーティションのバックアップイメージがある前提での、新しいHDDを使ったnasneの修復をしました。手順を順番に説明します。

この手順は、私がnasneを新しいHDDを使った修復を実際に行った手順ですが、他の環境でも必ず可能だという保証はありません。この手順について、私は保証も問い合わせに答えることはできません。もし、実際にこの手順を実行する場合は、自己責任でお願いします。

HDDの用意

SATA接続の2.5インチサイズのHDDを用意します。SATA接続であれば、SSDでも問題ありません。しかし、nasneの用途ではSSDの速度的な能力を生かすことはできないでしょう。ただ、静音化が目的であれば、仕組み上、回転音やシーク音が発生することがないSSDは有効であると思います。

HDDの容量は500GB以上を用意します。nasneの商品として存在したのは500GBモデルと1TBモデルです。しかし、このサイズ以外でも問題ありません。

nasneに内蔵されていたHDDの回転数は5400rpmでした。ただし、これより速い回転数でも問題ありません。そのため回転数が5400rpm以上のHDDを用意します。

nasneに内蔵あれていたHDDの厚みは7mmでした。しかし、nasneのケースは、9.5mm厚のHDDまで入りそうです。そのため9.5mm厚以下のHDDを用意します。

今回の修復にあたっては、2TBのHDD(MQ04ABD200-2YW)を用意しました。

東芝 内蔵HDD 2.5インチ 2TB PCモデル MQ04ABD200-2YW 【国内正規代理店品】2年保証 SATA 3Gbps対応

新品価格
¥7,480から
(2021/4/4 19:44時点)

HDDのパーティションを構成するためのOSを準備

HDDにパーティションを構成するためには、PCにHDDをつないでLinuxなどOSで起動し、パーティションを構成します。必要な機材は、先にnasneのHDDの状態の確認をした時と同じです。

  • SATA端子を持つPC(デスクトップPCなど)、もしくは、SATA-USB変換ケーブルとUSB端子を持つPC
  • OSのブータブルイメージ

です。

修復作業のためのコマンドがそろっているLinuxを使用します。ただLinux系といっても、いろいろなディストリビューションのOSイメージがあります。今回のように一時的にLinuxを使いたいときは、Linux系のブータブルイメージを使います。Linux系のブータブルイメージは、DVDやUSBメモリなどに展開すると、PCにLinuxをインストールすることなくLinuxを起動できます。

今回は、ブータブルイメージの一つであるDebian Liveを使います。このLinuxのisoイメージは、

https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/ 

にあります。今回は、debian-live-10.8.0-amd64-gnome.iso をUSBメモリに展開して使いましたが、これより、バージョンが新しくても問題ありません。

ブータブルイメージのDVDやUSBメモリが準備できたら、デスクトップPCのSATA端子にnasneの修復に使う新しいHDDをつないで、ブータブルイメージからLinux (Debian Live)を起動します。

HDDのセクターデータに直接触る作業には管理者権限が必須です。

上記のDebian Live (gnome)を使った場合は、xtermを起動し、そのコンソールで管理者権限に昇格します。管理者権限への昇格は

sudo su

とすることで可能です。一つ一つの作業を毎回sudoを使って行うことも可能ですが、手順が複雑になるので、今回は、管理者権限に昇格してしまいます。

これ以降のLinux上での説明は、Debian Liveを使って、管理者権限へ昇格済みであることが前提となります。

新しいHDDのデバイスパスを確認

まずは、新しいHDDのデバイスパスを確認します。

fdisk -l

fdisk-lオプション付きで実行すると、PCにつながっているストレージの情報が表示されます。

たとえば、以下のように表示されます。

...
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: TOSHIBA MQ04ABD2
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
...

これは、出力結果の一部を抜粋したものです。Disk modelの情報を参考に新しいHDDを特定します。この例の場合は、TOSHIBA MQ04ABD2です。すぐ上を見ると、新しいHDDのデバイスパスは/dev/sdaであることがわかります。

これ以降は、新しいHDDのデバイスパスは/dev/sdaであることを前提に説明します。

HDDのパーティションの作成

パーティションの作成はLinuxのコマンドfdiskを使って行います。

パーティション1は256MB、パーティション2は1GB、パーティション3は残りすべてを割り当てます。具体的には、以下のパーティション構成になるように設定します。パーティション3の値は用意したHDDのサイズにより変化します。下記の例は、HDDがMQ04ABD200-2YWの場合の例です。

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 3907029167 3904405680  1.8T 83 Linux 

fdiskコマンドの実行手順は以下の通りです。

  1. fdiskを起動する。デバイスパスが/dev/sdaの場合はfdisk /dev/sda
    (fdisk /dev/sda↓)
  2. pコマンドでストレージが間違っていないか確認
    (p↓)
  3. もしパーティションがあったら、dコマンドですべてのパーティションを削除
  4. nコマンドで一つ目のプライマリーパーティション(開始:2048 終了:526335) を作成
    (n↓ p↓ 1↓ 2048↓ 526335↓)
  5. nコマンドで二つ目のプライマリーパーティション(開始:526336 終 了:2623487)を作成
    (n↓ p↓ 2↓ 526336↓ 2623487↓)
  6. nコマンドで三つ目のプライマリーパーティション(開始:2623488 終了:最後 のセクター(デフォルト値でOK))を作成
    (n↓ p↓ 3↓ 2623488↓ ↓)
  7. aコマンドで一つ目のパーティションのブータブルフラグをセットする
    (b↓ 1↓)
  8. pコマンドで、希望のパーティション構成になっているか確認
    (p↓)
  9. wコマンドで、新パーティション情報をストレージに書き出して、fdiskを終了
    (w↓)

パーティション1にバックアップイメージをコピー

ddコマンドで、パーティション1のバックアップイメージをパーティション1にコピーします。

dd if=/media/user/UFD/nasne-part1.img of=/dev/sda1 status=progress

上記の例は、パーティション1のバックアップイメージのパスが/media/user/UFD/nasne-part1.imgであるとします。

パーティション2にバックアップイメージをコピー

ddコマンドで、パーティション2のバックアップイメージをパーティション2にコピーします。

dd if=/media/user/UFD/nasne-part2.img of=/dev/sda2 status=progress

上記の例は、パーティション2のバックアップイメージのパスが/media/user/UFD/nasne-part2.imgであるとします。

xfsファイルシステムのコマンドをインストール

パーティション3は、xfs形式でフォーマットする必要があります。xfs形式でフォーマットするには、mkfs.xfsコマンドを使います。

mkfs.xfsコマンドがインストールされていない場合は、mkfs.xfsコマンドを使えるようにxfsprogsパッケージをapt-getコマンドを使ってインストールします。

apt-get update
apt-get install xfsprogs

xfs形式でフォーマットする

mkfs.xfsコマンド使ってパーティション3をxfs形式でフォーマットします。mkfs.xfsのデフォルトのパラーメータでxfsフォーマットした場合、nasneから正しく認識されません。そのため、いくつかのパラメータを指定します。

具体的には、以下のパラメータを使用してフォーマットします。

mkfs.xfs -f -m crc=0 -d agcount=9 -i size=256,attr=2,projid32bit=0 -L user -n ftype=0 -s size=512 /dev/sdb3

linuxをシャットダウンする

パーティション1とパーティション2のバックアップイメージからの復旧、および、パーティション3をxfs形式でフォーマットすると新しいHDDの設定は完了です。Linuxをシャットダウンして、PCからHDDを取り外します。

nasneに新しいHDDを接続して起動する

nasneにHDDをつないで、電源を投入します。うまくできていると、電源ランプが緑点滅から緑点灯に変わり、nasneが正常に起動します。

修復したHDDでnasneを起動

基板の状態で起動

まずは、ケースを組み立てる前に、基板の状態で起動を確認します。

下記の左の写真のように、電源を入れてしばらくしたら、電源ランプが緑点灯、IPランプがオレンジ点灯となり、正常に起動することが確認できました。

修復が完了したnasneを基板の状態で起動確認(電源LED 緑点灯、IP LED オレンジ点灯)
nasneの基板をケースに組み込んだ状態

正常に起動することが確認できたので、組み立てをします。まずは、上記の右の写真のように、基板をケースに組み込みます。その後、ケースの反対側をはめ込み、nasneを組み立てます。

nasneを組み立てた後、もう一度起動確認をします。

下記の写真のように、電源を入れてしばらくしたら、電源ランプが緑点灯、IPランプがオレンジ点灯となり、正常に起動することが確認できました。

修復が完了したnasneを組み立てた状態で起動確認(電源LED 緑点灯、IP LED オレンジ点灯)

nasne HOME

起動したnasneのWEB画面であるnasne HOMEの「基本設定」画面と「ハードディスク管理」画面を確認します。

「基本設定」画面を見ると、この修復したnasneのファームウェアのバージョンは、Version 1.00であることがわかります。この後、現時点(2021年4月)で最新のファームウェアであるVersion 2.6にアップデートすることもできました。

「ハードディスク管理」画面を見ると、内蔵ハードディスクは1.8TBとして認識しています。これは、nasneの製品のモデルには存在しなかった、2TBのHDDを正しく認識していることになります。

nasne Home – 基本設定
nasne Home – ハードディスク管理

Tips

Tipsの節では、今回のnasneのHDDの修復を試行錯誤している過程で、わかったことや調べた結果を記録として残しておきます。

同じHDDで数回失敗するとそのHDDでは常に起動エラーになる

xfs形式でフォーマットするときのパラメータを確定させるために、何回か試していた時に遭遇しました。

同じHDDを使って、イメージを変えつつnasneの起動テストをしていると、何回か起動に失敗したあと、そのHDDは使えなくなりました。

特定のHDDで起動が常に失敗するnasneの基板(電源LEDは緑点灯、REC LEDは赤点灯、IP LEDはオレンジ点灯)

起動処理が終わった後、電源ランプ緑点灯、RECランプは赤点灯、IPランプはオレンジ点灯となります。

nasneのインジケータランプの状態と動作(nasneの取説pdfから抜粋)

このランプの点灯のパターンは、nasneの取説にも載っていません。この状態になると、このHDDを確実に正常に起動するイメージにしてもnasneが起動しなくなります。

同じHDDで何回か失敗すると、そのHDDは、怪しいHDDであるとしてnasneに記録されるようです。

こうなると、そのHDDはnasneで使えなくなります。ただし、一度、他のHDDでnasneが正常起動すると、怪しいHDDの情報はリセットされるようで、また利用できるようになります。

このため、パラメータを少し変えて、何度も試すということは事実上できません。試したい場合は、正常に起動するHDDを一つ確保してから、それとは別のHDDで行いましょう。

ファームウェアのバージョンダウン

今回の新しいHDDを使ったnasneの修復には、ver.1.5より古いファームウェアのときのパーティションのバックアップイメージが必要です。しかし、パーティションのバックアップイメージを取っていることはほとんどないと思います。

パーティションのバックアップを取っていなかったとしても、nasneが自動でバックアップする古いファームウェアが使えることがあるようです。

パーティション1にはファームウェアが入っているのですが、このパーティションには、バックアップフォルダーがあり、起動に使用しているファームウェアよりも古いファームウェアのバックアップが存在するようです。

バックアップフォルダーにある古いファームウェアが、ver.1.5よりも古いものであれば、それが利用できる可能性があります。

パーティション1には、フォルダーが二つあります。11002200フォルダーと33004400フォルダーです。この中の33004400フォルダーの中にあるファイルがバックアップされたファームウェアのようです。

33004400フォルダーの中のファイルの日付が、2012/05/10 など、2012年であれば、Ver.1.5より前のファームウェアである可能性が高いです。

ネット上の各情報を整理すると以下の方法でバージョンダウンできるようです。ただし、動作する保証はありません。問題が起きたときの責任も負えません。試すときは、自己責任でお願いします。試すときは、必ずパーティションのバックアップを取ってから作業してください。

  1. 33004400フォルダーの中にある4つのdmlファイル(*.dlm)を11002200フォルダーにコピーします
    (cp -p 33004400/*.dlm 11002200/)
  2. ルートフォルダーにある2から4つのdlmファイル(*.dlm)を削除します
    (rm *.dml)
  3. 11002200フォルダーの中にあるdlmファイル(00110022.dlm)をルートフォルダーにコピーする
    (cp -p 11002200/00110022.dlm .)
  4. 11002200フォルダーの中にあるdlmファイル(00550066.dlm)をルートフォルダーにコピーする
    (cp -p 11002200/00550066.dlm .)
  5. 00550066.dlmの実行ビットをセットする
    (chmod 766 00550066.dlm)

今回の投稿では、nasneの新しいHDDを使った修復方法の紹介でした。

“nasneのハードディスク交換♯2 HDDの修復” への1件の返信

コメントを残す