UbuntuがインストールされたヘッドレスHP Proliant Microserverがあります。このマシンにはメディアを提供するsamba共有があり、通常はrdpまたはsshします。今私の問題は、マシンをスリープモードにしたいので(状態はRAMからハードドライブに保存されます)、アイドリングの1時間後にオフになっているように見えます。
LAN経由でsamba共有にアクセスしようとする場合は、ウェイクアップさせてください。マザーボードがこの機能をサポートするようになりましたが、これを簡単に達成するための正しい方向を教えてくれますか?
ありがとう
私がウェブ上で見つけた最高の指示は WOLのXBMC wiki でした。要するに(リンクの詳細):
Sudo apt-get install ethtool
;Sudo ethtool -s eth0 wol g
;未テスト; wikiリンクからの情報
Dd-wrtに依存しない、アクセス時にメディアサーバーを自動的にウェイクアップするソリューションが必要であると判断しました。
私はRaspberry Piを持っているので、それは低電力であり、常にLinuxマシンから実行できるので、常に使用することを気にしないので使用しました。
私が自分で見つけた最後の解決策は、小さなbashスクリプトを書くことでした。 raspberry-piの依存関係は、etherwakeとtcpdumpです。どちらもデフォルトではrasbianにインストールされていません。また、他の投稿で述べたように、サーバー上でWake On Lanを有効にする必要があります。
Sudo apt-get install etherwake
Sudo apt-get install tcpdump
ウェイクスクリプトは次のとおりです。
nano ~/wol.sh
次に:
#!/bin/bash
pingInterval=60 #time interval, in seconds, between checks that the server is still awake.
target=192.168.x.x #WOL target ip address
targetMAC=00:11:22:33:44:55 #WOL target MAC
wake () {
tcpdump -i eth0 -c 1 -p Host $target
etherwake $targetMAC
#echo WOL sent to $target at $targetMAC
return
}
while sleep $pingInterval; do
varPing=`ping -s 1 -c 2 $target > /dev/null; echo $?`
if [ $varPing -eq 0 ]; then
#echo ping success
else
#echo ping fail
wake
fi
done
主なアイデアは、サーバーに対する単一のarp要求に気付いた場合にサーバーをウェイクするraspberry-piから実行することです。サーバーが起動している場合、サーバーはarpリクエストをリッスンしませんが、時々数回pingを送信して、まだ起動していることを確認します。
ファイルにwol.shという名前を付け、実行可能にしました。次に、それをSudo crontabに入れて、rootとして@rebootを起動します。これは、eth0およびetherwakeをリッスンするために昇格されたアクセスを必要とするtcpdump用です。
Sudo chmod +x /home/pi/wol.sh
Sudo crontab -e
これを一番下に追加します
@reboot sh /home/pi/wol.sh > /dev/null
スリープモード以外に、ハードディスクに状態を保存してサーバーを完全にシャットダウンするため、探しているのは休止状態です。
多くの人が指摘しているように、アンスウェはWOL(Wake On Lan)です。これについては多くのチュートリアルがありますが、主に次の設定が必要です。
サーバーは、非アクティブな状態が1時間続くとシステムを停止するために適切な電源管理構成よりも多くの設定を必要としません(システム>管理>電源管理から実行できます)。
システムの休止状態を解除する必要があるため、WOLパケットを送信した後、しばらく待たなければならないことは明らかです。
幸運を
Wake On Lanが鍵です。今日のほぼすべてのカードがすべてのモードをサポートしています(ただし、Linuxではサポートされていません:()。
最も簡単な解決策は、Wake On LanモードをサポートするLinuxドライバーが動作するカードです。pumbg
in ethtool
、ユニキャストモードのようなものが必要です。そのため、ネットワークアドレスにアクセスするとすぐにコンピューターが起動します。しかし、Linuxでサポートされているカードのリストを取得するのはさらに困難です。私が見つけたのは、Intel Gigabit Netzwerkadapter Pro/1000 GT PCIです。
回避策は、すべてのモードをサポートしていないカードがある場合です:ほとんどすべてのLinuxドライバーはgモード=>マジックパケットをサポートします。したがって、使用する前に明示的にサーバーの電源を入れる必要があります。
サーバーでWoLを有効にして特定のプロトコルトラフィックにウェイクアップするには、ルーターで実行されているスクリプトのようなものが必要になります。
ウェブサーバーのウェイクアップ 例