如何关闭系统电源,但仍在网络上保持可用状态


10

我正在考虑在网络上安装文件服务器,以提供数据和备份。

我希望这台机器始终可用,但我不想一直都保持开机状态(以节省电量)。

是否可以进行设置,以使它在一段时间后自动挂起(或关闭电源),然后在我尝试连接到它时自动重新打开电源(使用LAN魔术唤醒,而无需发送明确的WOL包)?

Answers:


8

从Snow Leopard开始,OS X现在可以执行此操作。通过睡眠代理服务使之成为可能。这几乎是自动的。唯一的要求是您的局域网上还有第二台始终在线的Apple设备,可以充当睡眠代理。我相信,他们目前的低功耗嵌入式盒都支持此功能:机场,时光机和Apple TV。

不过,在一般情况下,我相信答案是否定的。我不知道任何其他实现了此类服务的OS。该技术是开源的,因此没有理由最终不会无处不在。可能还太新,以至于尚未被广泛采用。

您现在可能会问,为什么在局域网上需要第二个Apple盒子?

当PC处于睡眠状态时,内核以及网络堆栈均未运行,因此OS中没有代码可以响应您所希望的“魔术”包。

操作系统不处理局域网唤醒魔术包。它们被网络接口IC识别,该网络接口IC通过向CPU发送信号以使其从睡眠状态释放进行响应。可以这样做是因为IC在某些睡眠状态下仍保持上电状态。(这就是为什么在某些计算机上PC处于“关闭”状态时,以太网链接指示灯保持点亮的原因。)

苹果技术之所以起作用,是因为在PC进入睡眠之前,它会通知睡眠代理。然后,睡眠代理安排临时接受睡眠计算机的流量,如果发现有趣的东西,它将向PC发送WOL数据包,并移交接收到的流量。


2
“安排暂时接受睡眠机的流量”-就像ARP中毒一样?凉。
Wim Coenen

4
与NIC故障转移相比,这不再是使用ARP中毒。ARP中毒一词具有其意图,其中之一是:没有人试图使用这种技术来攻击任何东西。另外,睡眠代理服务是睡眠PC明确授权代理在睡眠时监视流量的一种方式。您最好将电话消息服务用于身份盗用,就像将其称为ARP中毒一样。
沃伦·杨

我赞成这一点,因为即使它没有提供一般的解决方案,它在上一段中也很好地解释了该解决方案的性质。
Shiny先生和新安宇

11

我曾经使用PowerNap运气(它是为ubuntu-sever打包的,但是源在那儿,所以您应该可以在任何东西上编译它)在不执行任何操作时挂起备份计算机。但是,这不会自动将它们唤醒。还有一个PowerWake程序与PowerNap源tarball捆绑在一起(打包powerwake在Ubuntu中),该程序为Wake-On-Lan进程提供了一些抽象(例如,仅使用主机名即可轻松发送WOL),但是它仍然不是自动的。

编辑。另外一个选项:

我对它了解不多,因为我从未使用过它,但是有些卡能够唤醒任何单播消息。您可以使用ethtool查看卡是否具有该功能

# ethtool eth0 

用eth0代替您的网络设备。然后查看以“ Supports Wake-on:”开头的行的输出。如果在该行上列出了“ u”,则可以在引导时执行以下操作(即,使用init脚本或类似的方法):

ethtool -s eth0 wol u

与PowerNap或其他使机器在某些情况下进入睡眠状态的组合在一起,这应该可以提供您所需要的东西。


在哪里可以找到ethertool
Gert 2010年

抱歉,这是一个拼写错误-该工具是ethtool。我已纠正错字并添加了ethtool的链接。
史蒂文D

powerwake似乎至少在ubuntu 10.10中包含在单独的同名软件包中。
直觉

我懂了。powernappowerwake包含在同一源代码树中,但以制作两个包的方式。一旦我想到了提及这一事实的好方法,我将稍作更新。
史蒂文D

还有napd,它似乎比powernap更通用。
sebastian
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.