節電のためにWake-On-Lanを使う

2011年7月5日(火)
sanonosa

節電時代の自宅サーバー

以前「「生きてる」自宅サーバー運用」というテーマで自作サーバー関連の連載をさせていただいたところ、幸いにも多くのアクセスをいただき、その流れで今回は自作サーバー実践編を続編としてご紹介させていただける運びとなりました。皆さんどうもありがとうございます。

初回となる今回は節電サーバーというテーマを取り上げてみたいと思います。節電サーバーという考え方は、前回の連載でも「自宅サーバーもグリーンIT」という内容で、パーツ交換やサーバー統合などによってサーバーの消費電力を下げることが可能だということをご紹介しましたが、今回は方向性を変えて、自宅サーバーを利用するときだけ起動させて、使い終わったら電源を切るという使い方を考えていきたいと思います。

サーバーと言うと24時間365日稼働させて利用する使い方が一般的かと思いますが、全国的な節電ムードな中、必要のないときは極力サーバーの電源を落として使うといった使い方が最近は特に重要です。そこで今回はリモートからサーバー電源のon/offを行う方法を実現してみたいと思います。

今回想定している運用としては、サーバーを使いたいときクライアントPCからリモートでサーバーを起動させて利用し、使い終わったらサーバーを落とすという利用方法です。この運用であれば24時間365日サーバーを常時稼働させておくのと比較して大幅な節電が期待できそうです。とは言っても都度手作業でサーバーを物理的にon/offさせる運用は利便性を大いに下げるため、今回はWake-On-Lanという仕組みを使って、リモートからサーバー電源のon/offを行う方法を実現してみたいと思います。

Wake-On-Lanの仕組み

Wake-On-Lanとは、その名の通り他のホストからLANを通じて眠っている(Shutdown)状態のサーバーを起こす(Wake)仕組みです。眠っていると言っても完全に眠っているわけではなく、仮眠(Sleep)状態でマジックパケットと呼ばれるパケットを待ち続け、マジックパケットが送信されてきたら目覚めるという仕組みです。

マジックパケットとは、ブロードキャストアドレス「FF FF FF FF」に続き、サーバーのNIC(Network Interface Card)に割り当てられたMACアドレスを16回繰り返し送信するというフォーマットを指します。このマジックパケットをクライアントPCなどから送信すると、該当サーバーのNICがそれを受け取り、サーバーが起動し始めることになります。
注:マジックパケットとは言ってもISOのOSI参照モデルで第3層 ネットワークレイヤで使われるパケットとは意味合いが異なりますのでご注意ください。

図1:マジックパケットのフォーマット

サーバーとなるマシンでは、BIOSとNICがWake-On-Lanに対応していることが必要になります。また意外と盲点ですがOSレベルでもWake-On-Lanに対応していないと使えないのでご注意ください。BIOSの設定でWake-On-Lanを有効にすると共に、OSレベルでもWake-On-Lanを有効にすることでWake-On-Lanが使えるようになります。

一方、マジックパケットを送信するマシンは何でも構いません。クライアントPCはもちろんのこと、マジックパケットを送信することが可能な家庭用ブロードバンドルータも存在します。マジックパケットを送信するソフトウエアはフリーソフトも含め多数存在します。送信するフォーマットが非常に単純ですので、マジックパケットを送信するプログラムを自作することも容易でしょう。

国内某有名ITベンチャー企業に創業メンバーとして携わる。国内最大規模のシステムを構築運用してきたほか、社内情報システム導入のプロジェクトマネジメント、韓国の交友関係が豊富なことから韓国関連で多数のシステムインテグレーションなども行ってきた。前職は富士通株式会社でSE。
個人blog:http://nosa.cocolog-nifty.com/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています