Gerenciamento de energia - Servidor de suspensão / ativação quando acessado

9

Eu tenho um HP Proliant Microserver sem cabeça com o ubuntu instalado. Esta máquina possui compartilhamentos de samba servindo mídia e eu geralmente rdp ou ssh. Agora, meu problema é que eu quero que a máquina entre no modo de suspensão (para que o estado seja salvo da memória ram no disco rígido) e parecerá que ele foi desligado após uma hora de inatividade.

Se houver alguma tentativa de acessar o compartilhamento de samba pela LAN, eu gostaria que ele fosse ativado. Agora, minha placa-mãe suporta essa função. Alguém pode me indicar a direção certa para conseguir isso facilmente?

obrigado

KP65
fonte

Respostas:

3

A melhor instrução que encontrei na web foi o wiki do XBMC para o WOL . Em resumo (mais informações no link):

  1. Você precisa habilitar o WOL na sua placa-mãe;
  2. Instale ethtool: sudo apt-get install ethtool;
  3. Definir Wake-on-LAN opções: sudo ethtool -s eth0 wol g;
  4. Ative-o na inicialização do sistema com um script init. Há um script init no link do wiki.

Não testado; informações do link wiki

Rinzwind
fonte
2

Além do modo de suspensão, o que você está procurando é hibernar, pois deseja salvar seu estado no disco rígido e desligar completamente o servidor.

Assim, como muitos apontaram, o answe é o WOL (Wake On Lan). Existem muitos tutoriais sobre o assunto, mas principalmente você precisa configurar o seguinte:

  • Seu roteador precisa ignorar o pacote mágico (como o pacote WOL é chamado) para o servidor, portanto, é necessário fazer o encaminhamento de porta. Geralmente está localizado na seção LAN. As portas padrão são 7 e 9.
  • Sua placa-mãe precisa estar ouvindo na porta LAN quando está desligada. A maioria dos MBs modernos fornece esse recurso, mas está desativada por padrão. Confira! No meu caso, é chamado "Power on by Ring on Lan".

O servidor não precisa de mais configurações do que a configuração adequada de gerenciamento de energia para desligar o sistema após uma hora de inatividade (isso pode ser feito em Sistema> Administração> Gerenciamento de energia).

Obviamente, é necessário aguardar um pouco depois de enviar o pacote WOL, pois seu sistema precisa des-hibernar e isso pode levar alguns.

Boa sorte

sergio.hs84
fonte
2

Decidi que queria uma solução para ativar meu servidor de mídia automaticamente quando acessado e que não dependesse do dd-wrt.

Eu tenho um raspberry pi, então usei porque é de baixa potência e não me importo em mantê-lo ligado o tempo todo, é claro que pode ser executado em qualquer máquina Linux.

A solução final que encontrei foi escrever um pequeno script bash. As dependências raspberry-pi são etherwake e tcpdump. Ambos não são instalados por padrão no rasbian. Também no servidor, o Wake On Lan precisa ser ativado como mencionado nas outras postagens.

sudo apt-get install etherwake
sudo apt-get install tcpdump

O script de ativação é o seguinte:

nano ~/wol.sh

Então:

#!/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

A idéia principal é que ele seja executado no meu raspberry-pi, o que ativará o servidor se detectar uma única solicitação arp para o servidor. Se o servidor estiver ativado, ele não atenderá a uma solicitação arp, mas enviará alguns pings de vez em quando para garantir que ele ainda esteja ativo.

Chamei o arquivo de wol.sh e o tornei executável. Em seguida, coloque-o no sudo crontab para iniciar o @reboot como root. Isso é para o tcpdump, que precisa de acesso elevado para ouvir eth0 e etherwake.

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

adicione isso ao fundo

@reboot sh /home/pi/wol.sh > /dev/null
Travis Clark
fonte
0

Com o WoL ativado no servidor para ativar o tráfego de protocolo específico, você precisará de algo como um script em execução no roteador que tenha regras de pacotes e poderá enviar o pacote mágico do WoL quando receber a solicitação.

Exemplo de ativação do servidor da Web

Cas
fonte
0

Wake On Lan é a chave, hoje quase todas as placas suportam todos os modos (mas não no linux :().

A solução mais fácil é uma placa que possui um driver Linux compatível com os modos Wake On Lan: pumbgem ethtool, você deseja algo como o modo unicast. Portanto, seu computador inicia assim que você acessa o endereço de rede. Mas é ainda mais difícil obter uma lista de placas suportadas pelo Linux, uma que encontrei é o Intel Gigabit Netzwerkadapter Pro / 1000 GT PCI.

Uma solução alternativa é, se você tiver uma placa que não suporta todos os modos: Quase todo driver Linux suporta o modo g => pacote mágico. Portanto, você precisa ligar explicitamente o servidor antes de usá-lo.

aha
fonte