Управление питанием – Спящий / Wake up Server при доступе

У меня есть безголовый HP Proliant Microserver с установленным ubuntu. У этой машины есть доля samba на ней, обслуживающая медиа, и я обычно rdp или ssh. Теперь моя проблема в том, что я хочу, чтобы машина перешла в спящий режим (поэтому состояние сохраняется от бара до жесткого диска), и похоже, что он отключается после часа простоя.

Если есть какие-либо попытки доступа к ресурсу samba через LAN, я бы хотел, чтобы он проснулся. Теперь моя материнская плата поддерживает эту функцию, может ли кто-нибудь указать мне в правильном направлении для достижения этой цели?

благодаря

Лучшей инструкцией, которую я нашел в Интернете, была вики XBMC для WOL . Короче (дополнительная информация в ссылке):

  1. Вам нужно включить WOL на вашей материнской плате;
  2. Установите ethtool: sudo apt-get install ethtool ;
  3. Установите опции Wake-on-LAN: sudo ethtool -s eth0 wol g ;
  4. Включите его при запуске системы с помощью сценария инициализации. В ссылке wiki есть скрипт init.

Непроверенные; информация из wiki-ссылки

Помимо спящего режима, то, что вы ищете, является спящим, поскольку вы хотите сохранить свое состояние в своем жестком диске и полностью закрыть сервер.

Итак, как указывали многие, answe – WOL (Wake On Lan). В нем много учебников, но в основном вам необходимо настроить следующее:

  • Ваш маршрутизатор должен обойти волшебный пакет (по мере того, как будет вызван пакет WOL) на ваш сервер, поэтому вам необходимо выполнить переадресацию порта. Обычно он находится в разделе LAN. По умолчанию порты 7 и 9.
  • При отключении вашей материнской платы необходимо прослушивать порт LAN. Большинство современных МБ предоставляют эту функцию, но по умолчанию отключены. Проверь это! В моем случае это называется «Power on by Ring on Lan».

Серверу не требуется больше настроек, чем соответствующая конфигурация управления питанием, чтобы отключить систему после часа бездействия (это можно сделать из системы> Администрирование> Управление питанием).

Очевидно, что вам нужно подождать некоторое время после того, как вы отправили пакет WOL, так как вашей системе необходимо сменить спячку, и это может занять несколько.

Удачи

Я решил, что я хочу, чтобы решение автоматически разбудило мой медиа-сервер при доступе, который не зависел от dd-wrt.

У меня есть малина pi, поэтому я использовал ее, потому что она мала, и я не против ее постоянно держать, конечно, ее можно запустить с любой Linux-машины.

Окончательное решение, которое я нашел для себя, заключалось в написании небольшого сценария bash. Зависимости малины-пи – это 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.xx #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-запрос для сервера. Если сервер бодрствует, тогда он не будет слушать запрос arp, но посылает несколько писем каждый раз, чтобы убедиться, что он все еще бодрствует.

Я назвал файл wol.sh и сделал его исполняемым. Затем поставьте его в sudo crontab, чтобы запустить @reboot как root. Это для tcpdump, которому необходим повышенный доступ для прослушивания eth0 и etherwake.

 sudo chmod +x /home/pi/wol.sh sudo crontab -e 

добавьте это на дно

 @reboot sh /home/pi/wol.sh > /dev/null 

С включенным WoL на вашем сервере, чтобы он проснулся к определенному трафику протокола, вам понадобится нечто вроде скрипта, запущенного на вашем маршрутизаторе, который имеет правила пакета и может отправить волшебный пакет WoL, когда он получит запрос.

Пример пробуждения в Webserver

Wake On Lan – это ключ, почти все карты сегодня поддерживают все режимы (но не в linux :().

pumbg ethtool решение – это карта с рабочим драйвером Linux, которая поддерживает режимы Wake On Lan: pumbg in ethtool , вы хотите что-то вроде одноадресного режима. Поэтому ваш компьютер запускается, как только вы получаете доступ к его сетевому адресу. Но еще сложнее получить список карт, которые поддерживаются Linux, и я нашел Intel Gigabit Netzwerkadapter Pro / 1000 GT PCI.

Обходной путь заключается в том, что если у вас есть карта, которая не поддерживает все режимы: почти все драйверы linux поддерживают g mode => magic packet. Поэтому вы должны явно включить свой сервер, прежде чем использовать его.