■データを救え!まずは、telnet接続
HDL4 のRAID5が崩壊モードとなり、参照不能となった。 詳しくは、
HDL4崩壊の日。
HDL4 の管理画面でステータスを見ると、4台のHDDのうち、SLOT1のHDDが停止となっている。
RAID5 なので、4台のうち1台が故障しても、残った3台が無事であれば、データは復活できるはず。
ネットを検索すると、HDL4 に telnet 接続したという情報がヒットする。
失敗すれば、データ復旧の道は遠のくが、
以下のページを参考に、telnet 接続に挑戦した。
http://www.ebimemo.net/diary/?date=20071211
http://plus-alpha-space.cocolog-nifty.com/blog/2010/05/landisk-hdl4-gt.html
http://www.compensator.net/doc/hdl4g.html
■概要
HDL4 には、もともと telnetd が入っている。
telnetd を起動させるため、HDL4のファームアップ機能を利用する。
ファームアップ機能は、ファームアップファイルを読み込んで、ファームアップファイルに含まれるコマンドを実行するらしい。
なので、ファームアップファイルにあらかじめ、telnetd を有効化するコマンドを仕込むことで、実現できるらしい。
■手順
(01) メーカページから最新ファームのダウンロード
http://www.iodata.jp/lib/product/h/1889_winxp.htm
上記ページより、ファイル「hdl4_f121.exe」をダウンロードする。
(02) ダブルクリックで、解凍すると、「update.tgz」が出てくる。
(03) Linux機へ「update.tgz」を転送する。
(04) update.tgz の中身を確認
----------
[user@host]$ tar ztvf update.tgz | more
-rw-r--r-- root/root 1496 2009-05-22 16:40:59 confupdate.tgz
-rw-r--r-- root/root 5 2009-05-22 16:40:59 for_HDL4-G_series
-rwxrwxrwx root/root 5976 2008-12-25 22:22:29 landisk-update.sh
-rw-r--r-- root/root 869 2009-05-22 16:40:50 rmlist
-rw-r--r-- root/root 32371730 2009-05-22 16:43:01 update-files.tar.gz
-rwxrwxrwx root/root 1425 2006-12-19 15:59:00 update.pl
[user@host]$
----------
(05) rootユーザにスイッチ
----------
[user@host]$ su
[root@host]#
----------
(06) 解凍先フォルダ作成
----------
[root@host]# mkdir update
[root@host]#
----------
(07) pオプションをつけて解凍
----------
[root@host]# tar zxvfp update.tgz -C update
confupdate.tgz
for_HDL4-G_series
landisk-update.sh
rmlist
update-files.tar.gz
update.pl
[root@host]#
----------
(08) パーミッション・ユーザ名確認
----------
[root@host]# ls -l ./update
合計 31676
-rw-r--r-- 1 root root 1496 5月 22日 2009 confupdate.tgz
-rw-r--r-- 1 root root 5 5月 22日 2009 for_HDL4-G_series
-rwxrwxrwx 1 root root 5976 12月 25日 2008 landisk-update.sh
-rw-r--r-- 1 root root 869 5月 22日 2009 rmlist
-rw-r--r-- 1 root root 32371730 5月 22日 2009 update-files.tar.gz
-rwxrwxrwx 1 root root 1425 12月 19日 2006 update.pl
[root@host]#
----------
(09) 解凍フォルダに降りる
----------
[root@host]# cd update
[root@host]#
----------
(10)ファイルの確認
----------
[root@host]# ls -l
合計 31676
-rw-r--r-- 1 root root 1496 5月 22日 2009 confupdate.tgz
-rw-r--r-- 1 root root 5 5月 22日 2009 for_HDL4-G_series
-rwxrwxrwx 1 root root 5976 12月 25日 2008 landisk-update.sh
-rw-r--r-- 1 root root 869 5月 22日 2009 rmlist
-rw-r--r-- 1 root root 32371730 5月 22日 2009 update-files.tar.gz
-rwxrwxrwx 1 root root 1425 12月 19日 2006 update.pl
[root@host]#
[root@host]# more for_HDL4-G_series
1.21
[root@host]#
----------
→バージョンは1.21
----------
[root@host]# tar ztvf update-files.tar.gz | egrep -i 'telnet|ssh'
[root@host]#
----------
→アップデートファイルに、telnetやsshはないようだ。
→先人の知恵を読む限り、やはり、telnetd は既にHDL4に入っている模様。
(11)オリジナルファームアップファイル作成用フォルダを作る
ユーザは root 。
----------
[root@host]# mkdir mk-telnetd-on
[root@host]# cd mk-telnetd-on/
[root@host]#
----------
(12)landisk-update.sh と for_HDL4-G_series を原版からコピー
(念のため、手打ちミスや、文字コードが原版と異ならないように、原版から該当ファイルをコピー)
----------
[root@host]# cp -p {解凍フォルダ}/update/landisk-update.sh ./
[root@host]# cp -p {解凍フォルダ}/update/for_HDL4-G_series ./
[root@host]# ls -l
合計 12
-rw-r--r-- 1 root root 5 5月 22日 2009 for_HDL4-G_series
-rwxrwxrwx 1 root root 5976 12月 25日 2008 landisk-update.sh
[root@host]#
----------
(13)それぞれのファイルを編集
----------
[root@host]# vi for_HDL4-G_series
[root@host]#
[root@host]# vi landisk-update.sh
[root@host]#
----------
<編集内容>
----------
[root@host]# more *
::::::::::::::
for_HDL4-G_series
::::::::::::::
1.22 ←ここを1.21→1.22へ修正
::::::::::::::
landisk-update.sh
::::::::::::::
#!/bin/bash
#
# landisk-update.sh
#
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# remount rw /
mount -o remount,rw,noatime /
echo "/usr/sbin/telnetd" >> /etc/init.d/rc.local ←ここを追記
echo "pts/0" >> /etc/securetty ←ここを追記
[root@host]#
----------
(14)2つのファイルをupdate.tgzに固める
----------
[root@host]# tar zcvfp update.tgz for_HDL4-G_series landisk-update.sh
for_HDL4-G_series
landisk-update.sh
[root@host]# tar ztvf update.tgz
-rw-r--r-- root/root 5 2012-10-08 15:10:11 for_HDL4-G_series
-rwxrwxrwx root/root 232 2012-10-08 15:13:35 landisk-update.sh
[root@host]#
----------
オリジナルアップデートファイルの準備完了。
■HDD4本を抜いたらどうなる?
どうせ、認識しないので、HDD4本を抜き取ってみた。
・電源ON(失敗)
→STATUS ランプ が赤点滅し、ピピピピピと音がなり続けた。
→FUNCTION ボタンを押したら、STATUSランプは緑点灯し、音が止まった。
→しばらく待って、ping を打っても応答無し。
・仕方が無いので、HDD4本を接続。
・再度電源ON(成功)
→ディスクは、相変わらず崩壊状態。
■WEB管理画面オープン
ファーム更新画面で、先ほど作成した、update.tgz を指定し、実行。
STATUSランプが緑点滅後、ピコッと鳴って、再起動した。
ピーピーピーと3回なって、STATUS[赤] HDD1[赤] HDD2[赤] HDD3[赤] HDD4[赤] すべて赤点灯。
WEB画面にアクセスしてみると、オープン成功。
システム情報を表示すると、システムバージョンは、1.21 。 アップデート失敗か?
■telnet でアクセス(成功)
早速、root で telnet アクセスしてみた。
ノーパスワードで、すんなり、ログインできちゃった。
よし、これでひとまずデータ復旧の足掛かりはできた。
-----
Using fallback suid method
landisk login: root
Linux landisk 2.6.12.6-arm1 #7 Wed May 13 18:53:06 JST 2009 armv5tejl GNU/Linux
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
landisk:~#
landisk:~# pwd
/root
landisk:~#
landisk:~# uname -a
Linux landisk 2.6.12.6-arm1 #7 Wed May 13 18:53:06 JST 2009 armv5tejl GNU/Linux
landisk:~#
landisk:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:A0:B0:90:E3:EA
inet addr:***.***.***.*** Bcast:***.***.***.*** Mask:***.***.***.***
UP BROADCAST RUNNING MULTICAST MTU:4074 Metric:1
RX packets:327 errors:0 dropped:0 overruns:0 frame:0
TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:512
RX bytes:31007 (30.2 KiB) TX bytes:13726 (13.4 KiB)
Interrupt:21
ipddp0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
BROADCAST NOARP MULTICAST MTU:585 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
landisk:~#
landisk:~# cd /
landisk:/# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
rootfs 396608 266407 126106 68% /
/dev/root 396608 266407 126106 68% /
/dev/shm 30712 3504 27208 12% /mnt/ram0
tmpfs 30712 0 30712 0% /dev/shm
/dev/md1 202208 106676 93448 54% /boot
/dev/md5 517336 130328 360506 27% /mnt/hda5
landisk:/#
-----