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 Linuxfdiskコマンドの実行手順は以下の通りです。
- fdiskを起動する。デバイスパスが/dev/sdaの場合はfdisk /dev/sda(fdisk /dev/sda↓)
- pコマンドでストレージが間違っていないか確認(p↓)
- もしパーティションがあったら、dコマンドですべてのパーティションを削除
- nコマンドで一つ目のプライマリーパーティション(開始:2048 終了:526335) を作成(n↓ p↓ 1↓ 2048↓ 526335↓)
- nコマンドで二つ目のプライマリーパーティション(開始:526336 終 了:2623487)を作成(n↓ p↓ 2↓ 526336↓ 2623487↓)
- nコマンドで三つ目のプライマリーパーティション(開始:2623488 終了:最後 のセクター(デフォルト値でOK))を作成(n↓ p↓ 3↓ 2623488↓ ↓)
- aコマンドで一つ目のパーティションのブータブルフラグをセットする(a↓ 1↓)
- pコマンドで、希望のパーティション構成になっているか確認(p↓)
- wコマンドで、新パーティション情報をストレージに書き出して、fdiskを終了(w↓)
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/sda3 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の取説にも載っていません。
(2022年4月18日追記: インジケーターランプの状態の情報をまとめた投稿を追加しました)
この状態になると、この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より前のファームウェアである可能性が高いです。
ネット上の各情報を整理すると以下の方法でバージョンダウンできるようです。ただし、動作する保証はありません。問題が起きたときの責任も負えません。試すときは、自己責任でお願いします。試すときは、必ずパーティションのバックアップを取ってから作業してください。
- 33004400フォルダーの中にある4つのdmlファイル(*.dlm)を11002200フォルダーにコピーします(cp -p 33004400/*.dlm 11002200/)
- ルートフォルダーにある2から4つのdlmファイル(*.dlm)を削除します(rm *.dml)
- 11002200フォルダーの中にあるdlmファイル(00110022.dlm)をルートフォルダーにコピーする(cp -p 11002200/00110022.dlm .)
- 11002200フォルダーの中にあるdlmファイル(00550066.dlm)をルートフォルダーにコピーする(cp -p 11002200/00550066.dlm .)
- 00550066.dlmの実行ビットをセットする(chmod 766 00550066.dlm)
今回の投稿では、nasneの新しいHDDを使った修復方法の紹介でした。次回は、nasneのインジケーターランプについて説明します。