古いLink StationのLS-QLをRAIDで使っていますが、HDDに不具合があると、ディスクチェックが永遠に終わらず、シャットダウン(shutdown)も出来なくなってしまいます。
この問題、ディスクチェックが終わらない理由は「Yes/No」を返せないからなので、コマンドラインからディスクチェックコマンドを打てれば解決します。
こういったトラブルが多いので、LinkStationは予めtelnetやsshを有効にしておき、リモートログインしてLinuxコマンドが打てるようにしておくことが予防策です。
LinkStationをハックしてtelnet化する情報はネットに散財していますが、RAIDやRAID5を使っている人であれば、私の手順がきっと役に立つと思います。
本記事では、LinkStation/TeraStationをハックして、telnetでログイン出来るようにする手順を紹介します。
新しいハードディスクをLinkStationのdisk1へ換装する
この手順では、LinkStationの1番目のHDDにOSを入れて、そのHDDの中身をハックする・・という手段を取ります。
そのため、壊れても良い新しいハードディスクを用意して、それをdisk1用にしましょう。
詳細は以下に順を追って説明します。
disk1に空っぽのHDD、他は全て元のHDDを入れたまま、立ち上げる
disk1 : 新品
disk2 : 元のdisk2
disk3 : 元のdisk3
disk4 : 元のdisk4
このように搭載して、LinkStationを起動します。
すると、RAID5構成は壊れたままですが、OSイメージはdisk2にも入っているので、エラーランプ付きっぱなしで立ち上がります。
disk1をフォーマットする
LinkStationが立ち上がってWebメニューにもアクセス出来るようになったら、メニューからdisk1をフォーマットします。
フォーマットは数分で完了しますが、disk1へのアクセスが落ち着くまで、しばらく気長に待ちます。
アクセスランプが点きっぱなしになっていますので、それが消えるまで待つことをオススメします。
LinkStationを再起動する
アクセスランプが落ち着いたら、LinkStationを再起動します。
再起動後、再びアクセスランプが全体的に落ち着くまで気長に待ちます。
この間に、disk1にもOSイメージがコピーされ、disk1がメインでOS駆動するように自動的に切り替わります。
disk1の動作確認
新しいHDDが完全にdisk1として機能するようになったことを確認するため、disk1のみ入れて、他は全て外した状態で立ち上がることを確認します。
disk1 : 新しいdisk1
disk2 : 空
disk3 : 空
disk4 : 空
この状態でLinkStationを起動します。立ち上がってWebメニューにアクセスできたら、disk1の換装は完了です。
LinkStationのtelnetdを自動起動にする
LinkStationはLinux OSで動いています。
Linux OSにはtelnetを受け付けるためのdaemonがプレインストールされていて、そのプログラムをtelnetdと言います。
今回そのtelnetdを使えるようにします。
LinkStationのHDDをパソコンでマウントする
LinkStationを停止し、disk1のHDDをパソコンにつなぎ、Linuxのrescue CDからパソコンを起動します。
流石にLinuxのrescue CDを持っている人は少ないと思うので、無い人は以下の記事を参考に、Ubuntuのbootable USBを作って下さい。
Linux OS(Ubuntu)が立ち上がったら、disk1のHDDを以下のコマンドでマウントします。
# mount -t ext3 /dev/sda1 /mnt/boot
# mount -t xfs /dev/sda2 /mnt/root
/dev/sda1はext3でマウント可能。/dev/sda2はxfsでマウント可能です。
/bootは使わないのでマウントできなくてもOKです。
/mnt/rootの環境定義ファイルをviで編集する
LinkStatioの中のLinuxの環境定義ファイルを横から見ることが出来る状態になっています。
そこで以下の内容をハックします。
/mnt/root/etc/init.d/rcS をviで編集し、最終行に以下のように記述します。
/usr/sbin/telnetd &
これで telnetd が自動起動されるようなります。
次にviで/mnt/root/etc/shadowを編集し、rootのパスワードを潰します。
先頭行を
root::数字・・・
で始まるようにすれば良いだけです。
HDDをLinkStationに戻す
ここまでで細工は出来ていますので順番に慎重に元に戻していきます。
1本だけLinkStationのdisk1に戻して起動
パソコンをシャットダウンしてdisk1のHDDを取り出します。
それを再びLinkStationのdisk1の位置に装着して起動してみます。
TeraTermなどから、telnetアクセス出来ることを確認してみましょう!
プロンプトが出るはずです。
rootと入れるといきなりログイン出来てしまったびっくりします(笑)。
セキュリティがゼロの状態です。
rootのパスワードを再設定
# passwd root
というコマンドでrootのパスワードを再設定できます。
好きなパスワードに変更して下さい。
パスワード無しのままNASが動いているのは危険な状態ですので、必ずこれは実施して下さい。
全てのHDDを繋いで起動
ここまで出来たらゴールは間近です。
disk2~disk4も元のHDDを繋いで、フルの状態で起動してみましょう。
引き続きtelnetでログイン出来たら完成です!
disk2~disk4を繋いだらうまく立ち上がらなくなった!というケースもあります。
その場合は、1本ずつ丁寧に増やしていく方法を↓別記事で紹介しています。
LinkStationのboot領域をRAID1で1本ずつRebuildする方法
ちょっと手間ですが成功率は↑こちらの方が上がります。
以上、LinkStationのtelnet化の解説でした。
壊れたLinkStationを復旧させる全行程
LinkStationのtelnet化は、壊れたLinkStationを直すための下準備です。
LinkStationのHDDが壊れてEMモードにすらならずにハマってしまったけれど、Linuxの機能を駆使して完全復旧させた私の体験の一部始終を読みたい方は、以下の記事から進んで下さい。
コメント