
最近、8コア、32GBメモリのHP Z420を入手し、Ubuntu 18.04サーバーとしてセットアップしました。消費電力がかなり大きいため、rtcwake毎晩午後11時に寝かせる。
VBox VM、docker コンテナー、docker マシンなどを試すために時々リモートでログインする以外は、平日はほとんどアクセスしないので、メモリ スリープ モードにしておき、アクセスする必要があるときにのみ Wake-on-LAN を使用してリモートで起動したいと思います。
そのような取り決めは可能でしょうか?
答え1
Ubuntuを完全にシャットダウンし、リモートで起動する
サーバーを完全にシャットダウンする
この解決策はサーバーを完全にシャットダウンするため、質問とは異なります。スリープ/サスペンドまたは休止状態にはなりません。
Ubuntu 18.04 をシャットダウンするには、次の条件を満たす必要があります。
- サーバーは
ssh
別の(ローカル)コンピューターからアクセスできる必要があります。
ローカル コンピューターからサーバーをシャットダウンするには、次のコマンドを使用します。
ssh -t server.address "sudo /sbin/shutdown -h +1"
ここで、server.address はサーバーの IP アドレスまたはドメイン名です。この-h
オプションはサーバーの電源をオフにします。この+1
オプションは 1 分間の遅延です。
Raspberry Pi からの Wake on Lan
etherwake
Raspberry Pi にインストールします。Pi と Ubuntu サーバーがイーサネット ケーブルで接続されていることを確認します。
Ubuntu サーバーで次のコマンドを使用して LAN ポートの MAC アドレスを確認します。
ifconfig
次のようになります:
ether AA:BB:CC:DD:EE:FF txqueuelen 1000 (Ethernet)
Pi から次のコマンドを使用します。
sudo etherwake -i eth0 AA:BB:CC:DD:EE:FF
ここで、はeth0
Pi のイーサネット ポートであり、はAA:BB:CC:DD:EE:FF
Ubuntu サーバーのイーサネット ポートの MAC アドレスです。
Pi での入力を省くために、小さなスクリプトを作成しました。
#!/bin/bash
# wake.sh
if ping -c 1 10.42.0.1 &> /dev/null
then
echo "Server is ON already!"
else
echo "Turning Server ON now."
etherwake -i eth0 AA:BB:CC:DD:EE:FF
fi
ここで、10.42.0.1 は Ubuntu サーバーの IP アドレスです。このスクリプトを使用するには:
- スクリプトを Pi のホーム フォルダーに wake.sh という名前で保存します。
- 保存したスクリプトで、Ubuntu サーバーの IP アドレスと MAC アドレスを編集します。
- スクリプトを実行可能にします。
最後に、次のようにスクリプトを呼び出します。
sudo ./wake.sh
お役に立てれば