Qnap TS-220を復旧する

Page content

概要

Qnap TS220をヤフオクで落札した。もちろんジャンク扱いだが目立った争いもなく送料込み6000円程度で購入。前の持ち主がいろいろやったと書いているが、果たしていかに?

ハードウエアの概要

TS-220はMarvelのSOCと16MBのフラッシュ、512MBのDRAMで構成される。おそらくフラッシュには最低限のカーネル+α(Busybox等)が展開され、Chrootのような仕組みを使って、HDDに仕込まれたOSがブートしてくる仕組みだろう。

到着時の状態

正常にブートしないと聞いていたので、大して確かめず復旧作業へGO。

リカバリイメージ

Qnapがリカバリイメージを配布している。これは、UbuntuベースのOSとなっており、実態はTFTPサーバ。isoからOSを立ち上げると、TFTPサーバが立ち上がり、Qnap NASのリセットボタンを押しながら立ち上げると自動的にTFTPサーバからカーネルを読み込む仕組み。

復旧作業

基本的に、https://wiki.qnap.com/wiki/Firmware_Recovery#Instructions_for_NAS_Recovery_-Method_1.28VMware_Player.29

に従えばOK。概要は下記の通り。

  1. 機種にあったリカバリイメージ(ubuntuベースのOS)を入手し、VMware Playerで起動させる。
  2. NICの設定はブリッジ設定とする。NICはインターネット用のNICと別にしたほうが良い。
  3. NICとNASを接続する。オートネゴシエーションが働くので大抵の場合ストレートでOK。クロスが必要と書いてある記事はガセなのか、20年前くらいのPCを使っているのか。
  4. VMを起動させる。TFTPサーバとリカバリイメージが仕込まれたOSが起動する。
  5. 背面リセットボタンを押しながら電源を入れ、ビープ音が2回出るまで待つ
  6. リカバリ用のOSが起動する。起動するとビープ音がなるので、QFinderなどから復旧する。

ここで、4以降がわかりにくかったのでメモ。

まず、このリカバリ用のOSがイメージはTFTPサーバとして振る舞うようだ。

起動すると、NICに192.168.0.1のIPが振られ、QNAPはそのTFTPサーバに接続することで起動用のカーネルをロードする。

カーネルをロードした後おそらく内部Flashが書き換えられ、一旦再起動される。

再起動されるとQFinderから認識可能な状態となる。そこにHDDを追加し、通常通りセットアップを行う。....というところらしい。

Wiresharkのログを見る限り、TS220は192.168.1.113のIPでアクセスするようだ。

この仕様のため、復旧用に独自のNICが必要である。また、仮想マシンとはブリッジする必要がある。(自分は、USB-LANアダプタを使った)また、おそらく中のFWを引っこ抜いておけば、普通のTFTPサーバでも問題なく作業は行えると思う。なお、データは/tftpbootに入っている様子。

わかりにくいのは、TFTPでBootが完了した後、仮のLinuxがいつ立ち上がるかだ。かなり待たされるので、失敗したのではと思い精神衛生上良くない。Wiresharkで監視し、TFTPの転送が止まったら復旧用FWの転送は終わっている。うまく言っているのでそのまま放置し、結構長い間待ってビープ音がなるまで待つ。

自分は、TFTPの転送が終わったことを確認し、LANケーブルを自宅のNWセグメントのものに繋ぎ変えた。しばらくするとDHCPが払い出されたことがFWより確認できた。

QFinderから見えるようになっても注意が必要。さらに、未初期化のNASとして認識するのはもう暫く掛かる。結果として、復旧用FWを呼んでから10分程度は次の作業に入れないと考えたほうが良い。

Qfinderのセットアップ後、更にしばらく永遠に待つと、Firemwareが無事導入され、正常に使えるようになる。

所管

LinkStationやTeraStationの復旧よりは良心的だが、やっていることはほぼ変わらない。

iSCSIのLUNが一瞬で作れた。下位モデルなので速度は大したことがないが驚き。ボリュームも一瞬で削除できた。

tftpサーバやsyslogサーバも用意してあり便利に使えそう。DTCP-IPにも対応するらしい。