2009/01/10(Sat)LinkStationの読み書きが遅い、フォーマットできない

2009/01/10 3:44 Hardware::NAS

なんか調子悪い…

一般層にも手が出しやすく、複数のコンピュータ間で手軽にデータを共有できるのがウリのNAS。
我が家でも、LinkStation HD-H120LANを長いこと使っていたが、最近、どうもアクセスが遅い。

フォルダを開いたりフォルダツリーを展開するのに2~3秒、ファイルコピーではコピー自体だけでなく、「コピーの準備しています」部分も遅い。
そのトラブルシュートメモ。

下調べ

気になってベンチマークを取ってみると……

linkstation-bench_before.png


なんじゃこりゃ。
100Mbps商品なのに、シーケンシャルでも20Mbps程度とは……。

ファームウェア アップデート

色々調べてみたところ、まずはファームウェアアップデートをしてみるのが良いらしい。
購入当時のv1.32のままだったので、最新のv1.54にアップデート。

これにより、ごみ箱機能が一部使えなかったユーザーがいた件は解消されたようだ*1が、やはり速度の遅さは変わらない。

*1 : 公式更新履歴にも記載されている

フォーマット

次に、遅いのをガマンしてすべてのファイルのバックアップを取り、Webの管理画面からフォーマットをしてみることに。一旦無にすれば速くなるかも?


と、フォーマット実行をかけたのだが、DISK FULLのLEDが10秒ほど点滅→POWER LEDが10秒ほど点滅したあと、フォーマット等無かったようにケロっと復活。中身は消えていない。
何度繰り返しても消えない。なんでー!!

こーなったら強制フォーマット

ここから先は、メーカーの保障が切れるのは確実なので、それを理解の上どうぞ。

まず、この辺りを参考に分解し、HDDを引っ張り出す。
ATAをUSB変換するケーブルを用いて適当なLinux機に繋げ、以下のようにパーティションを吹っ飛ばす。
Windowsから行う場合は、適当な起動ディスクで起動し、fdiskで非MS-DOS領域を削除するとか、市販のパーティション操作ソフトで削除すれば良いかな。
$ su -

Password:
# fdisk /dev/sdb

このディスクのシリンダ数は 14596 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): p


Disk /dev/sdb: 120.0 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          16      128488+  83  Linux
/dev/sdb2              17          48      257040   82  Linux swap / Solaris
/dev/sdb3              49       14596   116856810   83  Linux

コマンド (m でヘルプ): d

領域番号(1-4): 1


コマンド (m でヘルプ): d

領域番号(1-4): 2


コマンド (m でヘルプ): d

Selected partition 3

コマンド (m でヘルプ): p


Disk /dev/sdb: 120.0 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

デバイス Boot      Start         End      Blocks   Id  System
何も無いことを確認


↓"w"を入力せずに"q"で終了すれば、変更は書き込まれない

コマンド (m でヘルプ): w

領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

# exit

LinkStationの修復

上のパーティション状況からするに、sdb1がシステム(WebサーバーとかSambaをつかさどる)、sdb2がswap、sdb3がデータ領域なので、この状況だとただの箱のままだ。
というわけで、ソフトウェア面を直していこう。

IPアドレスの再設定

まず、LinkNavigator 統合版を使って、認識を確認。
うまくいけばデスクトップに"HD-HLAN-EM設定結果.txt"というテキストができ、中身こんな感じ。
ホスト名:HD-HLAN-EM
ワークグループ名:
IPアドレス:192.168.  1.150
サブネットマスク:255.255.255.  0
その他:DHCPサーバから割り当てられたIPアドレスを使用しています
が、Link-StationはDHCPから割り当てるIPアドレスを192.168.1.15に固定化しているため、なんかうまく組み合わさってないような……。
事実、192.168.1.150も192.168.1.15もアクセスできなかった。
一旦ここで電源ボタン長押しで再起動。

再起動すると、192.168.1.15にpingが通るようになるが、80番は接続拒否状態。そりゃWebサーバー無いからね……この状態だと。
固定化していない人は、再起動後、ここで検知されたIPアドレスが正しいのかも?(初期設定192.168.XXX.150?)

ファームウェア転送

先ほどのファームアップデートで用いたこれを起動し、LinkStationを検知することを確認したら、ファームを転送。

ファームのバージョンが0.00ということで、「復旧モードで起動するから管理者パスワードは入れるな」というダイアログのあと、そのままOKを押すと、2分ほどかかったあと、1回目は失敗する。
おそらく、1回目開始時はパーティションが切られていない状態なので、復旧を試みる→パーティションが無い→とりあえずパーティションだけ作成→復旧は失敗、という処理になっているのだろう。

懲りずに、もう一度復旧をさせると、1回目とはダイアログがちょっと変わり、今度はファームの転送がされる。「ファームウェアの更新が完了しました」が出たら終了。


この状態でウェブインターフェースが有効になっているので、httpでアクセスして、好きなように設定。
今度は、ちゃんとフォーマット機能も使えるようになったし、全体的に安定。

<番外編>
このLinkStation、処置以前に設定初期化のリセットPINを長押しして設定を飛ばしたはずなのに、ファームを書き戻した後、設定まですべて戻っていた。
普通に考えれば、HDDもファームも吹っ飛ばした(リセットPINで)はずなのに、どうして設定が残っているんだ!という所ですが、まあ、フォーマットを実行しても中身が消えなかったりしたという現象が起こっていたところを見ると、設定も一時的に消えたように見えていただけなのかな?(リセット後は、ちゃんとアクセス権が消えててアクセスできなかったんだけどね)

処置後のベンチマーク

linkstation-bench_after.png


まあ最高速度でないとはいえ、50~60Mbps辺り出ているので、改善したということにしよう。
今となってはずいぶん古い製品だから、そろそろ替え時なのかもしれない。

参考元

おくまの部屋(本館): LinkStationのHDD換装、成功!
若干手順をアレンジしましたが、参考になりました。この場を借りてお礼申し上げます。