★電気を食わないサーバを立てる

 これまでの説明で入れたソフトは自分が使用しているPCに入れてもかまわないのですが、できることなら独立したサーバPCが理想です。メインPCはCPUもグラフィックも高性能のものを使い、サーバPCは最低限の性能のみを満たしただけの古いPCなどに入れてやればいいでしょう。その程度のものなら外出時に大電力を消費するメインPCを常時立ち上げておく必要がなくなります。

 おいらがサーバ用に使用しているPCは、ネットオークションで3000円で購入したIBM NetVista A40というPentium3/733Mhz、メモリ384メガの貧弱マシンですが十分問題なく使えています。さすがにIamgeCache2機能を使用して一度に何十枚も画像を開こうとしたら重くなりますけど、普通にAirProxyやWebサーバとして使う分には全く問題ありません。



 電気代もこの程度の低スペックマシン+モニタ無し必要な最低限以外何も無しで、おいらの使用方法だと電気消費量はフル使用でも1日あたり0.56kwhていど。東京電力の家庭用従量電灯B契約における第3段階料金では1日の料金が14円28銭。仮に1ヶ月間稼働でもわずか428円程度にすぎない。ウィルコム公式の高速化サービスが使い物にならないレベルなのに315円ということを考えると、色々できてこのコストは超格安!…たぶん。(それぞれの機器がどれくらいの電気を食っているのかはエコワットなどの簡易計測器を使うのが便利です)

 ちなみにおいらがメインで使っているAthron3000+メモリ2ギガ+RADEON X800PRO+MTV3000WなどのPCを同条件で動かしたら、1日あたり3.12kwhなので…1ヶ月で2466円、1年では2万9千円強もかかってしまう。今やエントリークラス程度でしかないこの性能のマシンですらこの有様なのだから最新のPCではいったい…。ううむ、ロースペックサーバ万歳!


★サーバは使うときだけ電源が入ればいい…それも自動で

 しかし、いくら安いからといっても使わないときまで電源を入れ続けるのはもったいなさすぎる。それに常時アクセスされっぱなしのWebページが開かれているわけでもない個人用のサーバの場合には、別に24時間常時電源を入れておかなくてはならないわけではありません。単にアクセスがあったときだけ電源が入ればいいわけで。特に絶対に使わない就寝中にまで電源が入れっぱなしというのはあまりにも無駄すぎますので、省電力機能とWake on LANの設定をしましょう。

■省電力機能とWake on LAN
 スタンバイや休止状態という言葉ならコントロールパネルにもその項目がありますし見聞きしたことがあると思います。これを利用してやるわけですね。

 AirProxyやrep2にアクセスがあったときだけ電源を入れたいということなので一般的にPCでサポートされているWake on LAN機能を使用します。これはLANポートに信号が受信された時点で省電力状態から復帰をしてPCを電源オン状態に復帰させる機能です。2000年代に製造されたPCならだいたいハードウェアレベルで省電力機能とWake on LANをサポートしていると思います。なお省電力状態には以下のレベルがあります。

 S0 電源オン
 S1 スタンバイ:CPU・チップセットともに電源オン、モニタ・ハードディスクのみオフ。
 S2 スタンバイ:S1状態+CPU・キャッシュの電源オフ、各ファン類停止。
 S3 スタンバイ:メモリ以外はほとんどオフ状態
 S4 休止:メモリ内容をHDに保存し電源断
 S5 電源オフ

 このうちS3をメインで使用することとなります。S4ではメモリ内容をすべてハードディスクに書き込んでから電源断をし、復帰にはそれを読み込むための動作が必要となり復帰に時間がかかります。おいらのNetVista A40ではメモリの状態にもよりますが最低でも30秒は必要で、これではあまりにも遅すぎます。しかしS3を使用すれば、起動して2〜3秒ほどで使用可能になりますので現実的な選択でしょう。S3ならファン類も完全停止し、見かけ上は電源を切っているのと同じです。電気消費量も極めて少なく、うちではS3状態でひと晩放置しても1円とかかりませんでした。もちろんS4状態がもっとも電気を食わない状態ですので、復帰時間が許容できるならS4を選択するのも良いでしょう。


■省電力機能とWake on LANの設定
 それでは省電力機能と、ネットワークからWake on LANさせる設定をしましょう。

 まずOS側の設定を変えます。マイコンピュータ→右クリック→管理→デバイスマネージャ→ネットワークアダプタ→使用しているLANカード→右クリック→プロパティ→電源の管理→「このデバイスで、コンピュータのスタンバイ状態を解除できるようにする」にチェックを入れます。



 休止状態も使用する場合にはコントロールパネル→電源オプション→休止状態→「休止状態を有効にする」のチェックボックスを入れておいてください。


■BIOSの設定
 次にBIOSの設定を行います。
 Wake on LANに関する設定がそのPCでサポートされているならBIOSのどこかにあるはずですので設定を有効にしておきます。(オンボードならマザーボードのBIOS、PCIならカード個別のBIOSで)これは各PCによって異なりますのでBIOSのヘルプを参照しながら探してください。(NetVista A40の場合はF1押しながら起動でBIOSに入り、省電力機能→自動パワー・オン→Wake on LAN)これらのBIOSの設定は非常に重要ですので、確実に行ってください。

 次にスタンバイモードの設定を行います。メーカ製のPCでは問題ないと思いますが、自作用マザーのBIOSによってはスタンバイ状態を選択してもS1やS2状態にしかならない場合がありますので、BIOSのACPI項目にあるSuspend TypeやSuspend Modeなどの項目で設定がS3になっているか確認しておきましょう。


■ドライバのACPIへの対応
 現行の電源管理規格であるACPIモードを使用しているPCでは、OSからグラフィックチップに至るまで全ての機器がACPIに対応し、かつ対応しているドライバが入っていることが必須です。古いPCを使う場合には必ず最新ドライバを導入しておいてください。


■正常に動作させるために試行錯誤
 とりあえずこれでスタンバイ状態と休止状態の時にこのサーバにアクセスがあると復帰するように設定できました。あと電源設定からスタンバイまでの時間を設定すればOKです。これで他のPCからアクセスがあるとスタンバイから復帰し、設定時間が経過するとスタンバイという状態を繰り返すことになります。

 …しかし、ここで少し問題が。おいらの環境ではこの設定で運用していると、いったんスタンバイに入ってから復帰をすると二分ほどで再びスタンバイ状態に陥ってしまうという症状が出ています。キーを打ったりマウスなどを動かして操作してやるといいのですが、遠くにあるサーバなんていじれるわけもないし。マウスカーソルを自動で動かすソフトを使って試してもみましたが、物理的に操作しなくては駄目なようです。

 で、それを解決するためにやったことはキーボードを洗濯ばさみで挟んで常時入力しっぱなし状態にしておくということでした。これなら勝手にスタンバイに入ることもありません。でも、当たり前ですが設定時間がきてもスタンバイに入りませんが…。文鎮をキーボードの上に載せるとかでも良いかも。で、さらにそれを解決するために電源管理のソフトを入れることにしました。(ただ、これをやるのはメカニカルキーボードだけにしておいた方が無難。一般的なメンブレン式キーボードの場合は回路が焼けてキーボードが壊れてしまう可能性が高いです)


■省電力状態に移行するまでの時間の設定
 OSの電源コントロールパネルは使用せず、CPU-OFFというソフトを使用することにしました。CPU-OFFはCPU使用率などを監視していて、指定レベル以下になると自動的に再起動やスタンバイに移行させてくれるソフトです。AirProxyやrep2程度のソフトではほとんどCPUリソースを使用しないために、OSの省電力設定では動作を認識せず、時間切れと誤判定してサスペンドしてしまうことがあるので、細かく状態監視のレベルを設定できるCPU-OFFの出番となるのですね。しかも設定でマウスやキーボードの動作は無視する設定も可能なので、この目的にはうってつけです。

 OS側の設定はモニタのみ1分で残りはすべて「なし」にして、CPU-OFF側の設定でCPU使用率10%、30分間、1000ミリ秒、1回の計測値を設定しています。これで1秒ごとにCPU状態を計測してくれて、一度でも10%を超えればサスペンド待機時間は30分に復帰します。おいらはCPU使用率を10%としましたが、あなたが使うPCのCPU性能に応じて増減してやってください。サーバマシンでタスクマネージャを立ち上げてAirProxy経由で携帯からネットを見たときにCPU使用率がどのくらいまでいくかを確認し、サスペンド待機時間のリセットに十分な値を入れてください。


■動作確認
 ここで復帰の動作確認です。スタート→終了オプションからスタンバイを選択してS3状態にしておいてから、携帯で「http://グローバルIPアドレスもしくはダイナミックDNSアドレス/」に接続してみましょう。起動すれば成功です。きちんとルータ設定とPC設定ができていれば起動するはずです。念のために休止状態からも起動できるかどうか確認しておきましょう。あ、S5からのWake on LANはハードウェアの条件がシビアなようで、メーカー製PC以外は無理かもしれません。おいらのNetVista A40ではWindows2000でS1からS4までのLAN通信起動と、S5におけるMagic Packet受信での起動を確認しました。S5からのMagic Packet起動はCGIでも使って別のサーバから送信する必要があるなど、あまり現実的な運用とはいえないので使っていません。まあ3000円で買ったマシンにしてはきっちりと動いてくれています。


■うまく動作しないときは
・省電力状態から復帰しないとき
 設定をちゃんとしたつもりでも携帯電話からのアクセスで省電力状態からの復帰をしない場合があります。私はBIOSの設定を間違えていたためにAirProxyを設定したNetFrontブラウザからは省電力状態から復帰していなかったのですが、プロクシ設定のない生接続でのIEブラウザでのサーバ接続ではなぜか復帰してくれていたので、問題が携帯側にあるのかと誤解したため問題の特定に時間がかかってしまいました。必ずルータ、OS、BIOSの設定の全てを完全に行ってください。

・エラーが出て省電力状態に入れないとき
 OSやBIOSの設定によってはスタンバイや休止状態に入れない場合があります。その場合、以下の手順を試してみてください。
 スタンバイや休止状態をサポートしていないシリアルATAインターフェイスが搭載されているPCでシリアルATAドライブ類を使用している場合、BIOSでパラレルATAモード(レガシーモード)に切り替えてください。多くのシリアルATAデバイスでは休止状態をサポートしていませんので仕方がありません。性能が落ちるのが嫌だったり、その項目自体がない場合には休止状態に対応したシリアルATAボードやドライブを購入してください。
 窓の手などで特定のレジストリをいじっていると駄目な場合があるようです。デフォルトの状態に戻して運用してください。


★サーバマシンに使えそうなソフトウェア

 サーバには電源管理関連のソフトウェアが入っているといろいろと便利になります。インターネットから電源を入れたり切ったり、特定の操作をしたり、ファイルの出し入れをしたりなどです。ここではそういった便利ソフトを少しご紹介。

WindowsXpの電源関連修正パッチ (KB909095)
 WindowsXPでエラーが出て休止状態に入れない症状の改善。

WindowsXpの電源関連修正パッチ (KB889673)
 WindowsXP SP2でスタンバイから復帰したときにクラッシュしたり誤動作を起こす問題の改善。

CPU-OFF
 先にも紹介したとおり、詳細な条件を指定して自動でスタンバイや休止状態に移行できるソフト。

BootTimer
 指定時間に電源を切ったり起動したりするソフト。他の終了系ソフトと違うのは、電源断状態からでも起動が可能という点。サーバに入れておき、指定日数ごとに再起動するようにしてメモリのゴミを掃除するのに使う。終了時間と起動時間を別に設定できるので、就寝時は電源を完全に切り、起床時間に自動起動という設定が可能。

StartupEX
 指定したファイルやアプリケーションを指定した順番とタイミングで起動することができる。

Suspender
 サスペンドや休止状態から復帰した時に自動で指定のexeファイルを実行してくれる。StartupEXと併用すれば好きなファイルを開くことができるなど利便性は高い。

ガバッと終了
 指定したアプリケーションを一括で終了したり起動したりすることができる。他の一括起動系ソフトと違うのは専用の起動用(終了用)ショートカットアイコンを作成することができ、それらを実行するだけでプログラム本体を起動して操作することなく終了・起動が可能な点。

wolcgiカスタム版
 CGIを利用したWake on LANソフト。携帯電話などからCGIを設置したサーバのWol.cgiを呼び出せば自宅のサーバにMagic Packetを送出してくれるので、完全に電源が落ちているS5状態からでも携帯電話からリモート復帰することができる。カスタム版の方はダイナミックDNSとCGIソース内部を一度設定をしてしまえば入力無しで操作できるのでおすすめ。プロバイダのホームページスペースや無料レンタルサーバなどが自作CGIに対応しているのなら設置してみるのもいいかも。

Remote Power
 Wake on LAN機能を使用してリモートで他PCの電源オンオフや再起動することができる。サーバが別の部屋に置いてあっても不安定になってきたと思ったらホスト側から動かずに操作できるのが便利。Magic Packet送出ができるのでS5電源オフ状態でも起動できる。ホストPCが電源を入れたらサーバの電源も入り、ホストを落とせばサーバも落とすといった、連動電源機能もあるので便利。無料のStandard Editionは電源オンオフのみができるが、シェアウェア版Professional Editionはスタンバイや休止状態移行も可能など高機能になっている。概してWake on LAN系のソフトは設定がややこしい物ですが、これには珍しく親切なヘルプがついているし、わかりやすいGUIなので悩まずに設定できるのも良いところ。連動電源機能にはPCのみではなくアイ・オー・データのネットワークディスクLANDISKやGiga LANDISKなどにも対応している。シェアウェアの高機能版でも1050円と安価なのは好感。

FolderShare
 LANやインターネットを介してフォルダーの共有ができるソフト。なんとCドライブを丸ごと共有させるなどのことすらもできてしまう。サーバ機に入れればいろんな使い方ができそう。英語版なので詳しい使い方は他の方が書かれているものを参考に。


■これらのソフトの使い方
 なんでこんなソフトを使うかというと、AirProxyは定期的に再起動してやらないと不安定になる事があったからです。だいたい4〜7日くらいの連続稼働で接続エラーが…。また、モニタなどを一切取り付けず、本体のみで動作させるために電源ボタンを入れるだけで全てのセッティングができているという必要もありましたので、このようなソフトを使用することになったわけです。だいたい2〜3日に1回再起動するように設定してやれば常に正常な状態を保つことができるようです。