2012年11月18日日曜日

HDL4復旧:telnetの有効化

■データを救え!まずは、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:/#
-----

0 件のコメント:

コメントを投稿