はじめに
会社の隅に置いてあったテスト用ESXiサーバが夏の暑さに耐えられず電源落ちたので、空調が動いている時間だけ動かすようにしたためその時の記録。
構成
ヤマハルータにESXiホストが直結されている極々単純な構成です。
ヤマハルータでのWoL設定
ヤマハルータにはWoL
(Wake On LAN)機能があるため、指定時間にESXiホストをWoL
で起動させるようにします。
尚、ESXiホストのMACアドレス
は事前に調べておいてください。
schedule at 1 */Mon-Fri 08:00 * wol send lan1 [ESXiホストのMACアドレス]
上記は月~金の朝8時にWoL
でESXiホストを起動させるコマンドとなります。
ESXiホスト側のcron設定
コンソール・SSHでの操作となるため、ESXiホスト側でコンソール・SSHログインできるようにしておいてください。
ESXiでは普通にcron設定を行っても再起動すると初期状態に戻ってしまうため、起動時にcron定義を再設定するようvi
で/etc/rc.local.d/local.sh
を開き、exit 0
の前に書き込んでやります。
注意点はESXiホストのタイムゾーンがUTC
となっているため、UTC
時間でcron設定を行う必要があります。
また、crontab
が使えないので、/var/spool/cron/crontabs/root
に直接cron定義を書き込んでcrondを再起動させる必要があります。
/bin/echo "0 10 * * mon-fri /bin/poweroff" >> /var/spool/cron/crontabs/root
/bin/kill $(cat /var/run/crond.pid)
/bin/crond
# !/bin/sh
# local configuration options
# Note: modify at your own risk! If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading. Changes are not supported unless under direction of
# VMware support.
/bin/echo "0 10 * * mon-fri /bin/poweroff" >> /var/spool/cron/crontabs/root
/bin/kill $(cat /var/run/crond.pid)
/bin/crond
exit 0
上記は月~金の夜19時にpoweroff
コマンドでシャットダウンするcron設定となります。
その他
今回は特に何もせずできたのでやっていませんが、BIOS設定によってはESXiホスト側のBIOS設定でWake On LAN
設定を有効にする必要があります。