N4100 Pro RAID5 Rebuild

November 15, 2009 先勝 投稿時の月齢:28.5  月名:二十九日月  潮汐:大潮 Moon:28.5 - 5:42 pm by chameleon
Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus
売り上げランキング : 21421

Amazonで詳しく見る by G-Tools

degradededN4100Proに4枚搭載しているうちのTray1のHDDがエラーを起こしているとメールで自動通知され、ちょっと焦りつつN4100PROにログインして確認してみると・・・。

IMG_4175代替処理待ちセクター数が416値になっています。ちょっと笑う・・・。代替処理済みの不良セクター値は0でしたが、この1枚はハズレと即断です。なにしろ稼働時間はまだ、1700時間程度なのだから・・・。ここでHDDケチってデータ失ってしまうのは本末転倒で何でRAID5のシステムを組んでいるのか分からないので、購入していた予備のHDDに換装することにしました。
購入時期は微妙にずらしてあったので、HDDの筐体表面に刻印してあるアルファベットが違っています。というか、こんなところに刻印がしてあるんですね・・・。

二枚並べても外見は全く同じ・・・。IMG_4177どっちが故障ハードディスクか分からなくなる前にマジックで印をつけておきます。

で、トレイに組み込んで準備完了。組み立てたトレイはN4100PROに戻します。実は、数回抜き差しを繰り返さないと自動でリビルドが始まりませんでした。ディスクを交換してコールドスタートするよりも、ホットスワップしてしまう方が正解のようです。
IMG_4176RAID5は構成されているHDDのうち1枚が故障しても、他のディスク上にあるパリティーを使ってデータを完全に再構成することができます。が、大抵は、同時期に買った同ロットのHDDなのでリビルド中の過激なハードディスクアクセスで他のHDDもお亡くなりになるということが往々にして起こります。今回は稼働時間が1700時間程度ということでそのあたりは余り気にせずにリビルドを始めましたが、運用実績の長いNASの場合はこのあたりも考慮しないと、データを失うことになりかねません。かといてRAID6で構成するのも個人利用ではちょっとムダな気がするし・・・。
rebuild自分の経験からは、RAID5で構成しておいて、NASの状況をメールで自動通知させて怪しいときは速攻で対応するという正攻法が一番良さそうです。
どうやら3TBのディスクをリビルドするのには700分ほど12時間近くを要するようです・・・。
まあ、データを一切合切失うよりはいいです。

予備のディスクはあと1枚・・・これが必要になった頃には、4枚を総入れ替えも考えないといけないかな・・・案外、コストがかかる気がする。大容量NAS・・・。
とりあえず、エラーを吐いているHDDはローレベルフォーマットしてみて、具合が良さそうならSHEEVA PLUG接続用の外付けHDDにしてみよう。
玄人志向あたりの安いHDDケース買ってこないと・・・

Back to 2003 Pro

November 13, 2009 大安 投稿時の月齢:26.7  月名:二十七日月  潮汐:中潮 Moon:26.7 - 9:47 pm by chameleon

excel2003またデスマーチ進行突入で、かなり仕事が厳しかった・・・というか今も厳しいです。
もはやなりふり構っていられない状況の中で、ちょっとでも効率的に仕事するために、微妙にイライラの元になっていたOffice 2007のリボンインターフェースを「Back to 2003 Pro」で改善してみました。
切羽詰まっているときは、慣れたボタンとメニューバーで作業できてとってもありがたいです。リボンインターフェースにも慣れては来たのですが、あの機能はどこにあったっけ・・・という滅多に使わないけど、あると便利な機能というやつがなかなか探せないんですよね・・・。つまりは、Office 2007でコマンド選択の第1段階さえクリアできれば、あとは2007のインタフェースのままでも問題はありません。
そんなわけで、わずかばかりストレス軽減されたありがたいツールでした。フリーのやつもあるようですが、とりあえずこれにしておきました。

Back to 2003 Pro
Back to 2003 Pro

Amazonで詳しく見る by G-Tools

N4100PROの新ファームで一部モジュールが動かない件について

September 28, 2009 大安 投稿時の月齢:10.2  月名:十日余の月  潮汐:若潮 Moon:10.2 - 11:00 pm by chameleon

Thecus N4100Proの新ファーム v3.00.05は非常にすばらしいGUIに生まれ変わっています。
また、iSCSIをサポートするなど、今のトレンドをしっかり押さえたものに仕上がっています。v.2系とは全く別物のファームと言っても過言ではありません。

が、「PHPFILEMGR」というモジュールが動作しませんでした。
フォーラムの方で、対応バージョンがリリースされていたので、新版のModule version 2.00.03へ変更することで利用可能になります。
日本語が扱えるようにするには、「Thecus N4100Pro用Module PHPFILEMGR v2.00.01 で日本語表示を可能にする」を参考にしてください。

今のところ、iSCSIを堪能するまでの暇がありません・・・。

Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus
売り上げランキング : 21421

Amazonで詳しく見る by G-Tools

Thecus N4100Pro iSCSIに対応した

September 27, 2009 仏滅 投稿時の月齢:8.9  月名:九日月  潮汐:小潮 Moon:8.9 - 3:46 pm by chameleon

Thecus N4100Proの最新ファームでiSCSIに対応したようなので、早速140GほどのiSCSIドライブを構成してみた。
ちなみに、今回のファームでN4100Proの管理画面のインタフェースが大幅に変更になり、かなりかっこよくなった。AJAX使ってるらしい・・・。
まだフォーマット中なのでベンチはそのうち・・・。

Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus
売り上げランキング : 21421

Amazonで詳しく見る by G-Tools

Thecus N4100Pro用Module PHPFILEMGR v2.00.01 で日本語表示を可能にする

September 10, 2009 仏滅 投稿時の月齢:21.0  月名:二十二日月  潮汐:小潮 Moon:21.0 - 9:33 am by chameleon

PHPFILEMGR v2.00.01はThecus N4100Pro用のファイルマネージャーとして機能するモジュールです。
N4100Proを使い込んでいくと、ファイル操作などを頻繁に行いたくなるのですが、SSHでコンソールからlsなどとタイプするのも結構めんどくさいものです。

Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus
売り上げランキング : 21421

Amazonで詳しく見る by G-Tools

PHPFILEMGR v2.00.01はインストールすると、ブラウザからディレクトリをツリー構造で把握しながら、コピーや移動、圧縮や解凍、パーミッションの変更やファイルの編集などビジュアルに行うことができます。
とても便利なのですが、一つ致命的な問題が・・・。それは、「日本語が化ける」ことです。
もともとこのモジュールは、別の作者が作成した「php File Manager 0.9.3」というPHPのプログラムを取り込んで作られているようです。ファイラーとしての機能は、php File Manager 0.9.3に依存しているようです。PHPFILEMGR v2.00.01に内包されているphp File Manager 0.9.3とオリジナルのものが完全に同じなのか、カスタムされているのかは詳細に調査していません。もちろん、Thecus N4100PROで利用するのですがらPHPFILEMGR v2.00.01に内包されているスクリプトをターゲットに日本語表示ができるように対応することにします。

変更方法
PHPFILEMGR v2.00.01をダウンロードして解凍します。ついでに、Thecusにモジュールとしてインストールしておきます。
解凍してできあがったフォルダ内の「PHPFILEMGR」配下にある「www」フォルダ直下の「index.php」を編集します。最終的に保存するときにファイルの文字コードを変更して保存したいので、編集するにはそれなりのテキストエディタを用意しておいた方がいいでしょう。

編集する箇所は2カ所です。

<?
// +--------------------------------------------------
// | Config Class
// +--------------------------------------------------
class config {
    var $data;
    var $filename;
    function config(){
        global $script_filename;
        $this->data = array(
            'lang'=>'en',
            'auth_pass'=>md5(''),
            'quota_mb'=>0,
            'upload_ext_filter'=>array(),
            'download_ext_filter'=>array(),
            'error_reporting'=>'',
            'fm_root'=>'',
            'cookie_cache_time'=>time()+60*60*24*30, // 30 Dias
            'version'=>'0.9.3'
            );
        $data = false;
        $this->filename = $script_filename;
        if (file_exists($this->filename)){
            $mat = file($this->filename);
            $objdata = trim(substr($mat[1],2));
            if (strlen($objdata)) $data = unserialize($objdata);
        }
        if (is_array($data)&&count($data)==count($this->data)) $this->data = $data;
        else $this->save();
    }
?>

158行目付近にある「Config Class」ブロック内の
‘lang’=>’en’,

‘lang’=>’jp’,
に書き換えます。

さらに、

<?
// +--------------------------------------------------
// | Interface
// +--------------------------------------------------
function html_header($plus=""){
    global $fm_color;
echo "
<html>
<head>
<title>...:::: ".et('FileMan')."</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
$plus
</head>
<script language=\"Javascript\" type=\"text/javascript\">
<!--
    function Is(){
        this.appname = navigator.appName;
        this.appversion = navigator.appVersion;
        this.platform = navigator.platform;
        this.useragent = navigator.userAgent.toLowerCase();
        this.ie = ( this.appname == 'Microsoft Internet Explorer' );
        if (( this.useragent.indexOf( 'mac' ) != -1 ) || ( this.platform.indexOf( 'mac' ) != -1 )){
            this.sisop = 'mac';
        } else if (( this.useragent.indexOf( 'windows' ) != -1 ) || ( this.platform.indexOf( 'win32' ) != -1 )){
            this.sisop = 'windows';
        } else if (( this.useragent.indexOf( 'inux' ) != -1 ) || ( this.platform.indexOf( 'linux' ) != -1 )){
            this.sisop = 'linux';
        }
    }
    var is = new Is();
    function enterSubmit(keypressEvent,submitFunc){
        var kCode = (is.ie) ? keypressEvent.keyCode : keypressEvent.which
        if( kCode == 13) eval(submitFunc);
    }
    var W = screen.width;
    var H = screen.height;
    var FONTSIZE = 0;
    switch (W){
        case 640:
            FONTSIZE = 8;
        break;
        case 800:
            FONTSIZE = 10;
        break;
        case 1024:
            FONTSIZE = 12;
        break;
        default:
            FONTSIZE = 14;
        break;
    }
";
?>

712行目付近にある「Interface」ブロック内にある

<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">


charsetの値を以下のように「UTF-8」に変更します。

<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">

あとは、この編集したindex.phpファイルそのものを「UTF-8(BOM無し)」の文字コードで保存しておきます。
このファイルを、Thecus N4100PROの「/opt/apache/htdocs/modules/PHPFILEMGR/www/」のindex.phpに上書きします。パーミッションは775に変更します。

これで、再度ディレクトリを読み込むと日本語でディレクトリ名やファイル名が正しく表示されるようになります。

これで便利になりました。

p.s.
WindowsXP+IE6の環境では、ここまでやっても残念ながら一部の文字が化けてしまうという現象が発生することがあります。IE6の問題のようですから対処するのは困難ですし、いまさらIE6でなくてもという感がありますから問題なしと判断することに・・・。
FireFox3.5やIE8ではきちんと表示されることを確認しています。

WordPress脆弱性

September 9, 2009 先負 投稿時の月齢:20.2  月名:二十日余の月  潮汐:中潮 Moon:20.2 - 1:31 pm by chameleon

WordPressの旧バージョン使用では踏み台になる恐れがあると・・・
これは本家のサイトにも記載されているんですが、わかりやすいサイトの記事では

『WordPress』旧版にワーム感染のおそれ

なんかが。Ver.2.8.4では対策済みとのこと。

Thecus N4100ProにVBSスクリプトで自動ログインする

- 11:34 am by chameleon

NASとして活躍中のThecus N4100Proですが、毎回、WEB画面からログインするのが面倒です。
管理者としてログインするときと、単なるユーザーとしてログインするときと・・・ユーザー名をタイプしてパスを入れてボタンを押すという、何気ない、しかし毎度毎度めんどくさい作業を自動化することにしました。

実は自宅用PCはノートンのIDセーフというプログラムでIDとPASSを自動入力もできるのですが、職場用はそんなわけにもいきません。それに、ノートン先生もID欄とパスワード欄に値を自動記入はしてくれますが、ログインするためのボタンは手動で押さなければなりません。
また、管理者と一般ユーザーの二種類のログインを使い分けることもできませんので、IDセーフはN4100Proに対してはあまり使い勝手がよくありません。

今回は、VBSのスクリプトで自動ログインすることを考えてみました。

'//Copyright chameleon ---GhostWriter Ver.0.0.1 for Thecus---
 
Const READYSTATE_COMPLETE = 4
Const URL = "http://xxx.xxx.xxx"    'N4100ProログインページへのURLを入れる
Const ID = "admin"           '管理者用アカウント
                     '一般ユーザー用のスクリプトにするならここにN4100Proに登録してある任意のユーザー名を入れておく
Const PASS = "pass"    '自分で設定したログインパスワードを入れる
 
Set objIE = CreateObject("InternetExplorer.application")
 
objIE.Visible = True
objIE.Navigate URL
 
While objIE.ReadyState <> READYSTATE_COMPLETE
    While objIE.Busy = True
        WScript.Sleep 10
    Wend
Wend
 
objIE.Document.Forms(0).Item("username").value = ID
objIE.Document.Forms(0).Item("pwd").value = PASS
objIE.document.forms(0).Submit
 
While objIE.ReadyState <> READYSTATE_COMPLETE
    While objIE.Busy = True
        WScript.Sleep 10
    Wend
Wend
 
Set objIE = Nothing

IDとPASSの部分を変更するだけで管理者用と一般ユーザー用の二種類のVBSスクリプトが作成できますから、その二つをデスクトップにでも置いておけば、ユーザーを使い分けてNASにログインできます。
もちろんファイルは拡張子、vbsで保存してください。

Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus
売り上げランキング : 21421

Amazonで詳しく見る by G-Tools

VBSファイルをダブルクリックするだけでログイン完了まで自動化できますから、結構便利です。
ただし、VBSスクリプトは単なるテキストファイルで、中にログイン用のパスフレーズが平文で書かれていますから、その点だけは注意が必要です。

Thecus N4100Pro バックライトを消灯する リベンジ編

September 3, 2009 先負 投稿時の月齢:14.1  月名:十五夜  潮汐:大潮 Moon:14.1 - 11:44 am by chameleon

先日、NASとして利用しているThecus N4100Proの液晶バックライトがやたらと明るすぎるので消灯させようとcrond.confを編集して対応したのですが、「再起動すると」編集したcrond.confが元に戻ってしまうという・・・まあ製品としてはもっともな仕様を発見して、がっかりしていました。

再起動することはほとんどなかったので気づかなかったのですが、Thecusのデフォルトの機能で電源の入り切りを曜日ごとに設定できるので、寝ている間は停止させるようにしてからこの状況に気づきました・・・。
ちなみに、この電源の入り切りもcrond.confに書き込まれます。ただし、こちらは再起動しても、当然書き変えられて消去されるようなことはありません。

しばらく放置していたのですが、Thecusのフォーラムで「META」というモジュールを見つけたので、これで対処することにしました。

これは、NASの起動時と終了時に指定のディレクトリに置かれた任意のスクリプトを実行できるという優れものです。
起動時にバックライトを消灯させるスクリプトを実行すれば、起動とともにバックライトが消灯します。

スクリプトは前回のものを応用して、こんな感じで作りました。

#!/bin/sh
echo "LCM_DISPLAY 0" > /proc/thecus_io

このスクリプトを適当な名前で作成したら、実行権限を与えて以下のディレクトリにコピーします。
/raid/data/module/META/system/etc/startup

終了時に走らせたいスクリプトは下記のディレクトリに任意の実行ファイルを置けばOK
/raid/data/module/META/system/etc/shutdown

このモジュール便利です。

Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus
売り上げランキング : 21421

Amazonで詳しく見る by G-Tools

GoogleMap & TOYOTA G-BOOK

August 21, 2009 友引 投稿時の月齢:1.6  月名:二日月  潮汐:大潮 Moon:1.6 - 11:39 pm by chameleon

GoogleMapとトヨタナビのサービス、G-BOOKが連係してくれるようになりました。
具体的には、GoogleMapで検索した指定ポイントをそのまま、G-BOOKのGメモリ地点としてG-BOOKに送信してくれる機能です。
これで、車に乗り込んだとき、Gメモリの一括ダウンロードをすると、Googleから送信された地点が目的地設定できるようになります。

事前に目的地を決定しているならナビでごちゃごちゃやるよりもとっても便利。いままでも、G-BOOKのサイトで目的地設定したりしていたんですが、やはりGoogleの方が目的地を検索する作業効率がいいですね。

さらにはG-BOOKとOutlookの予定表の連係機能があるんですが2003のバージョンまでしか対応してくれていません。願わくば2007にも対応してください…。

なんだかんだで、ますますGoogleが便利になるじゃん。

N4100ProでBitTorrent

- 10:53 pm by chameleon

N4100Proには単体でtorrentファイルをダウンロードする機能が実装されています。torrentファイルはダウンロードが完了するのに相当時間がかかったりするので、PCではなく常時稼働しているNASだけで完結するなら非常にありがたい機能です。
で、とりあえずtorrentファイルがダウンロードできるか実験。

Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus 4ベイ エントリーNASキット Webサーバー機能 DLNA対応 N4100PRO
Thecus
売り上げランキング : 21421

Amazonで詳しく見る by G-Tools

N4100ProのDownloadManagerでtorrentファイルを読み込んでみるも、全くダウンロードの気配なし。どうやら、通信できていないようでこれは予想の範囲…。N4100PROに対してポートが80しか通していないので仕方がない。

ルータの設定を変えてDMZ配下にN4100PROを置いてみる。
ダウンロードができることを確認。
さすがにDMZ配下ではちょっと抵抗があるので、利用するポートを調べてみることに…。
あれこれして、N4100PROとルーター間の通信を調査して利用されているポートが2106-2706の範囲であると結論づけました。
ルータにこのポートを開けて設定終了。
無事、BitTorrentできています。