Como desligar um sistema, mas ainda mantê-lo disponível na rede

10

Estou pensando em instalar um servidor de arquivos na minha rede, para fornecer dados e backups.

Quero que esta máquina esteja disponível o tempo todo, mas prefiro não mantê-la ligada o tempo todo (para economizar energia).

É possível configurar as coisas para que a coisa seja automaticamente suspensa (ou desligada) depois de algum tempo e, em seguida, religada automaticamente quando tento conectar-me a ela (usando alguma ativação da magia da LAN, sem precisar enviar WOL explícito pacotes)?

Ruben Vermeersch
fonte

Respostas:

8

O OS X pode fazer isso agora, a partir do Snow Leopard. Isso é possível através do Serviço Proxy de Suspensão . É praticamente automático. O único requisito é que você tenha um segundo dispositivo Apple sempre ativo na sua LAN que possa atuar como proxy de suspensão. Suas atuais caixas embarcadas de baixa potência suportam isso, acredito: Aeroporto, Time Machine e Apple TV.

No caso geral, porém, acredito que a resposta é não. Não conheço nenhum outro sistema operacional que tenha implementado um serviço como este. A tecnologia é de código aberto, então não há razão para que isso não possa estar em todo lugar eventualmente. Provavelmente é novo demais para ver uma adoção generalizada ainda.

Agora você pode estar se perguntando: por que você precisa de uma segunda caixa da Apple na LAN?

Quando um PC está adormecido, o kernel - e, portanto, a pilha de rede - não está em execução; portanto, não há código no seu sistema operacional que possa responder a um pacote "mágico" do tipo que você deseja.

Pacotes mágicos Wake-on-LAN não são tratados pelo sistema operacional. Eles são reconhecidos pelo IC da interface de rede, que responde enviando um sinal para a CPU que o libera do estado de suspensão. Isso pode ser feito porque o IC permanece ligado em alguns estados de suspensão. (É por isso que a luz do link Ethernet permanece acesa enquanto o PC está "desligado" em algumas máquinas).

A razão pela qual a tecnologia Apple funciona é que, pouco antes de o PC entrar no modo de suspensão, ele notifica o proxy do modo de suspensão. O proxy de suspensão organiza a aceitação temporária de tráfego para a máquina adormecida e, se obtiver algo interessante, envia um pacote WOL ao PC e retira o tráfego recebido.

Warren Young
fonte
2
"providenciar para aceitar temporariamente o tráfego da máquina adormecida" - como no envenenamento por ARP? Legal.
Wim Coenen
4
Isso não é mais o uso de envenenamento por ARP do que o failover da NIC. O termo envenenamento por ARP traz consigo uma intenção: ninguém está tentando atacar nada com essa tecnologia. Por outro lado, o Sleep Proxy Service é uma maneira de o PC adormecido autorizar explicitamente o proxy a observar o tráfego enquanto dorme. Você também pode indiciar serviços de mensagens telefônicas por roubo de identidade, assim como chamar esse envenenamento por ARP.
Warren Young
Votei isso porque, apesar de não fornecer uma solução geral, explica bem a natureza dessa solução no último parágrafo.
Mr. Shiny and New
11

Tive sorte ao usar o PowerNap (ele está empacotado para o ubuntu-sever, mas a fonte está lá para que você possa compilá-lo em qualquer coisa) para suspender as máquinas de backup quando elas não estão fazendo nada. No entanto, isso não os ativará automaticamente. Há também um programa PowerWake empacotado com o tarball de origem do PowerNap (empacotado como powerwakeno Ubuntu) que fornece um pouco de abstração ao processo Wake-On-Lan (facilita o envio de WOL apenas com o nome do host, por exemplo), mas ele ainda não é automático.

Editar. Outra opção:

Não sei muito sobre isso porque nunca o usei, mas alguns cartões são capazes de despertar qualquer mensagem unicast. Você pode ver se o seu cartão tem a capacidade de usar o ethtool

# ethtool eth0 

Substitua eth0 pelo seu dispositivo de rede. Em seguida, observe a saída da linha que começa com "Suporta Wake-on:". Se "u" estiver listado nessa linha, você poderá fazer o seguinte na inicialização (ou seja, em um script init ou algo semelhante):

ethtool -s eth0 wol u

Combinado com o PowerNap ou qualquer outra coisa que coloque a máquina em suspensão em algumas condições, isso deve fornecer o que você está procurando.

Steven D
fonte
Onde eu poderia encontrar ethertool?
Gert
Desculpe, este foi um erro de digitação - a ferramenta é ethtool. Corrigi o erro de digitação e adicionei um link ao ethtool.
Steven D
powerwakeparece estar incluído em um pacote homônimo separado, pelo menos no ubuntu 10.10.
intuited
Eu vejo. powernape powerwakeestão incluídos na mesma árvore de origem, mas de maneira a criar dois pacotes. Vou atualizar o post daqui a pouco, quando pensar em uma boa maneira de mencionar esse fato.
Steven D
Há também napd , que parece ser mais versátil que o powernap.
sebastian