2014年05月19日
_ [computer] HP MicroServer + FreeNAS 9.2 でWOL(Wake On Lan)
HPのMicroServerでFreeNAS(Ver.8)をインストールしてNASサーバを運用していますが、このサーバを離れた所に設置することになりました。そこで、毎日の電源投入をWOLで行おうと思いたちました。
当然BIOSで設定しただけではやはり起動しません。FreeNASの方からNICの設定で、WOL起動できるようにしないといけないはずなんですが、検索すると、古いヴァージョンで設定している記述を見ましたが、今のヴァージョンでは何処を探してもWOLの設定項目が有りません。現在FreeNASもヴァージョン9ですが、使用中の機種は運用中でもあるし、あまり手を加えたくないので、もう一台買ってある方で色々テストしてみました。
このハードで本当にWOLが可能かどうか、まずWindows8をインストールしてみて、設定してみます。これにはあちらこちらに解説がありますので、その通りにすると、ちゃんとマジックパケットを送ると起動しました。
次に、FreeNASから派生して、LinuxのDebianベースになったOpenMediaVaultをインストールしてみました。こちらのNAS用OSでは、きちんとWOLの設定が有って、こちらをチェックするとやはり、きちんと立ち上がります。(ただ、シャットダウンの後の起動はOKですが、電源が切れた後はWOLが効きません)いっそのことFreeNASからOpenMediaVaultに乗り換えることも考えたのですが、FreeNASが必要だっていうので折角メモリを8Gも積んだし(OpenMediaVaultはそれほどメモリは必要ないみたい、でもZFSは使えないけど)、データコピーは面倒なので、やはりそのままFreeNASで続行予定。
そうこうしている内に、結局の所FreeNASでは、MicroServerに乗っているブロードコムのコントローラーに対応していないらしいと言うことが、判明しました。Realtekだと対応しているらしいので、検索した所、2千円ほどでRealtekのNICカードが有るので、アマゾンで注文してみました。
MicroServerに拡張カードを差すのは結構面倒なので、それよりも前に、まずはFreeNASの最新ヴァージョンではどうかと、9.2.1.5を入れてみましたが、やはり設定項目が有りません。
ここまでは主に日本語のページに限って検索していたのですが、その制限を外してみると、FreeNASのファーラムの中で同じような質問を見つけました。やはり同様な人が結構居たみたいです。そこでWOLの対処法と、ブロードコム用のドライバのパッチの見つけました。詳細は以下のURL参照。
http://forums.freenas.org/index.php?threads/wake-on-lan.13508/
>try the attached if_bge.ko and post the results
> 1. mount -uw /
> 2. copy if_bge.ko to /boot/kernel
> 3. Create a new tunable if_bge_load with value YES
> 4. reboot
> 5. check WOL_MAGIC in ifconfig bge0
以上の様に書いてあるのですが、取りあえず"if_bge.ko"をダウンロードしましたが、(3)は実際どうすれは良いのか、すぐには解りませんでした。カーネル再構築かなとも、思いました。
(1)のmountは書き込みを可能にする為の様です。FTPで"if_bge.ko"を持ってきて、/boot/kernelにコピーします。同じディレクトリの"*.ko"ファイルが実行可能になっていたので、chmodで実行可能にしておきました。
先に書いたとおり、次の"Create a new tunable if_bge_load with value YES"の"tunable"がよく分かりません。"Freebsd tunable"で検索したのですが、何も出てきませんでした。後で気がついたのですが、FreeNASのGUIの設定で、"Tunable"って言う項目が有るんですね!、全く気がつきませんでした。"FreeNAS tunable"で検索すれば良かったみたいです。上記紹介のフォーラムのスレッドでも、後ろの方に画像付きで解説が載っていました(そこまで読まなかったので、これにも気がつかなかった)。
何だか良く分からなかった私の場合、次に"Freebsd if_bge_load"で検索しまして、"loader.conf"のマニュアルの所に、if_bge_load="YES"と書けと有りましたので、viで/boot/loader.confにこの一行を加えて、リブートしました。立ち上げでドライバが新しくなった旨のメッセージが出て、試しに、
# ifconfig bge0
とすると、WOL_MAGICの項目が出ています。シャットダウンして、マジックパケットを送ると問題なく立ち上がりました。GUIからの設定を使わないで直に設定した事になりましたが、本来は「システム」下の「Tunables」でVariable=>"if_bge_load"、Value=>"YES"、Enableにチェック、とすれば良い様です。購入したNICカードが無駄になりましたが、中を開けてカードをさす手間がかからなかったので、有難いです。現在運用中のFreeNASは、OSのヴァージョンを最新まで上げてから、このドライバを適用するのが良さそうです。