自宅サーバーを立ち上げていると、電気代が毎月数千円発生してしまいます。
今までは利便性重視で良かったんですが、そろそろ安定してきたのと、ストレージサーバーも随時稼働しなくてよくなったので、必要な時だけ立ち上げるような仕様に変更したいと思います。
WOL機能を利用して立ち上げる
WOLというのは、Wakeup On Lanを略しているのですが、LANにつながっているPC端末の電源を信号を送ることでONにする事です。
昔の自作PCでは、ネットワークカードとPCのマザーボードをWOL用の端子で繋いで、WOL機能を有効にして使っていたんだが、最近のマザーボードはNIC(LAN端子端子)がオンボードになっているため、WOL機能を搭載しているものが多いらしい。
具体的にはACPI2.0の企画にマザーボードが対応していれば対応済みという事。
信号などの詳しい解説は
http://www.atmarkit.co.jp/ait/articles/0602/25/news014.html
にてされているので、熟読してみてください。
インフラの概要と構成
今回はHDDを5台も搭載しているストレージサーバーを使っていない時は5分程度で自動的にサスペンドモードにするように設定して、必要な時にWOLパケットを送って起動してあげるようにします。
ちなみに、ストレージサーバーはUbuntu14を使っているのでGUIでの操作も可能ですが、定時バックアップなどに対応したいので、コマンドで行える事を考えます。
WOL対象サーバーの設定
BIOSをチェック
大体のマザーボードではPC立ち上げ時に「DEL」または「F2」のキーを押しているとBIOSモードに突入します。
そこでWOLやWakeOnLanやACPIなどの箇所が「Disable」に鳴っている場合は「Enable」に切り替えておきましょう。
この辺はマザボのマニュアルを見ながら行なってもらいたいのですが、中には「ネット経由でサスペンドを解除する」
というような書き方をしている場合もあるので、うまくいかない時はマニュアル熟読です。
Macアドレスを確認
以下のコマンドまたは、対象サーバーのネットワークプロパティを確認して、ネットカードのMACアドレスを確認しましょう。
※pingコマンドでmacアドレスが拾える場合もあります。
$ ifconfig
WOL機能が使えるかどうか確認する
念のため、OS側からもチェックしておきたいと思います。
## CentOS
$ sudo yum install ethanol
## Debian , Ubuntu
$ sudo apt-get install ethtool
確認
$ sudo ethanol eth0 | grep Wake-on
> Supports Wake-on: pg (pumbg)
> Wake-on: g
「Wake-on: g」この箇所が「Wake-on: b」と鳴っている場合は、以下のコマンドを実行してみてください。
$ sudo ethtool -s eth0 wol g
起動ツール
今度は、クライアント側での設定です。
今回はWEBサーバーにツールを入れて、ストレージを起動させたいと思うのでLINUXサーバーに入れてみます。
※WindowsやMacはアプリが存在すると思うので、そちらでセットしてみてください。
## ubuntu
$ sudo apt-get install powerwake
## Debian
$ sudo apt-get install etherwake
起動方法
起動させるのは非常に簡単です。
事前に調べていたMacアドレスをコマンドと共にたたいてあげるだけです。
## ubuntu
$ powerwake %Macアドレス%
## Debian
$ etherwake %Macアドレス%
注意点
今回いちばんハマったのが、上記をやってもなかなか起動しなかったという事です。
BIOSもツールも何度も見直しましたが、起動チェックの為に電源をシャットダウンしていたのですが、
どうやら完全に電源を落としているとWOL機能は使えないという事をどこぞのネットで見かねたので、
サスペンスモード(または休止モード)で行なったところ、問題なく起動するようになりました。
今後の企み
バッチ処理や、外部からストレージにアクセスする場合に、WEBサーバーにスイッチをセットしてコマンドを叩くセキュアページを用意しておくことで、スマホなどからでも便利に立ち上げアクセスできるようになるはずです。
ツール化できるようであれば、後ほど公開したいと思います。
0 件のコメント:
コメントを投稿