Estou procurando uma maneira de reiniciar máquinas depois de receber uma notificação por email.
A instalação na qual eu quero usar isso é um farm de renderização. Temos 5 caixas com 8 Nvidia GTX 980Ti nelas. Eles estão executando o Windows 10 Professional de 64 bits.
O problema que estamos enfrentando é que eles às vezes congelam ou "paralisam" durante a renderização. Eu o configurei e, assim que isso acontece, recebo um e-mail dizendo "x machine foi interrompida".
Eu automatizei tudo nas máquinas; eles se conectam automaticamente, abrem os programas necessários, iniciam uma conexão com nosso servidor de licenças e mapeiam todas as unidades de rede necessárias.
Basicamente, tudo o que você precisa fazer é desligá-lo e ligá-lo novamente, e ele funciona novamente.
Então, o que eu quero saber é: posso configurar um programa, evento ou script que instrua as máquinas a reiniciarem depois que eu receber o email dizendo que uma máquina parou?
A máquina que executará isso está executando o Windows 7 Pro de 64 bits.
fonte
Respostas:
Você deseja que um dispositivo chamado "Remote Power Switch", que usamos no meu local de trabalho para reiniciar remotamente os modems a cabo, seja o UIS-322b abaixo:
Você pode configurá-lo com um endereço IP e, em seguida, efetuar logon nele para ligar, desligar ou desligar o dispositivo conectado e configurá-lo de acordo com a programação. Você não pode controlá-lo por email, mas pela interface da web. Você ainda pode montar algo via
wget
oucurl
enviar automaticamente uma solicitação da Web para ele. Pode ter outros recursos e possibilidades de controle que eu desconheço.Se você estiver executando sistemas de renderização que consomem muita energia, não tenho certeza se o dispositivo específico acima pode lidar com eles, mas pode haver outros por aí. Outra coisa a procurar é "Control Power Strip".
fonte
Posso configurar um programa, evento ou script que instrua as máquinas a reiniciar?
Depende do que você quer dizer com:
Se a máquina remota travar de uma maneira que exija uma "reinicialização completa", a reinicialização remota não funcionará.
Dito isto, você pode usar
shutdown
para reiniciar remotamente um dispositivo.Exemplo:
/r
- Desligue e reinicie o computador./f
- Force a execução de aplicativos para fechar sem avisar os usuários./m \\computer
- Especifique o computador de destino.Você pode executar o comando acima no Outlook quando receber o email apropriado.
O link a seguir Como: Acionar um aplicativo por email no Outlook deve começar.
shutdown
usoLeitura adicional
fonte
Se você possui servidores reais , eles provavelmente têm um recurso de gerenciamento remoto que pode ser conectado mesmo que o sistema operacional principal da máquina esteja completamente congelado. Geralmente, você usa o SSH para conectar-se ao controlador. O comando específico emitido depende da marca do seu servidor.
Para servidores Dell, que usam DRAC (Dell Remote Access Controller), o comando a ser executado após o SSH no DRAC é:
Isso realiza uma reinicialização total, equivalente a puxar o cabo de alimentação e, em seguida, reiniciar a máquina. Se a máquina não estiver completamente travada, em
powercycle
vez dehardreset
fazer o trabalho. ( Fonte. )Os servidores HP usam o iLO, que também é acessível por SSH. O comando de reinicialização completa é simplesmente:
( Fonte , a referência oficial em PDF ao script do iLO.)
Você pode conectar o recebimento de e-mail à execução desses comandos com a resposta de DavidPostill. Existem clientes SSH para Windows; Acredito que o PuTTY tenha uma interface de linha de comando.
fonte
Use o Outlook.
O link na parte inferior da resposta tem informações que ajudaram nessa resposta. Elogios a GuidingTech.com
Crie um arquivo .bat primeiro.
shutdown.exe /r /t 00
Salvar como Restart.bat
Verifique se o computador está conectado com o email em que você recebe a notificação por email.
Você pode configurar contas diferentes para cada computador, se desejar, e ter sua configuração de e-mail para encaminhar os e-mails recebidos como notificações.
Exemplo.
[email protected] é o PC host com uma placa gráfica que não está renderizando.
Testemail.com é o seu email em que você recebe notificações.
Quando o email é recebido, o seu Outlook automaticamente o encaminha para o email correspondente. que neste caso é [email protected]
[email protected] recebido em [email protected], em seguida, envie esse email para todos os computadores.
O truque aqui é configurar um email de notificação diferente para cada computador, para que ele saiba qual desligar.
Para configurar uma regra a ser encaminhada, siga estas instruções e digite uma palavra no assunto com base no computador que deseja reiniciar.
Nota: Isto é para configurar o seu computador e receber os e-mails a seguir. Vamos configurar os computadores individuais.
Agora, especifique o que você deseja que o email acione para reiniciar.
Exemplo se você escolher o assunto.
Diga a palavra que você escolher é Computer1-RenderIssue
Você digitará isso no digitará "Especificar palavras ou frases para pesquisar no sub-objeto"
Agora que você já configurou, é hora de executar a etapa final.
Agora, sempre que um de seus computadores tiver um problema ao processar o email, será enviado a você com o computador especificado. Isso encaminhará o email para esse computador e reiniciará a máquina.
Espero que isto ajude. Tentei formatá-lo da melhor maneira possível enquanto fazia meu trabalho.
Referência para alguns dos trabalhos aqui
fonte
Para ser honesto, se tudo o que você quer fazer é devolver (com força) uma caixa, a maneira mais fácil é "pressionar o botão de redefinição".
Como você precisa fazer uma redefinição HARD, você pode mexer na extremidade de alta tensão (bastante arriscada) ou na placa-mãe.
Algumas placas-mãe topo de linha possuem uma placa / controlador de rede incorporada para dar um salto no PC. No entanto, você também pode conectar a chave de reset a uma placa de relé e controlá-la usando uma máquina separada.
Eu recomendaria conectar um Raspberry Pi via GPIO a uma placa de retransmissão. Em seguida, conecte cada relé à chave de redefinição nas placas-mãe.
fonte
Você já pensou em executar seu servidor como cliente em uma máquina virtual? Você executaria o software da VM (VMware, VirtualBox) no servidor físico e, em seguida, executaria uma máquina virtual com o software de renderização como cliente. Com nenhum outro processamento em andamento na máquina, você deve obter um desempenho comparável e seria mais fácil parar e reiniciar uma máquina virtual do que uma física.
fonte
Eu sugiro que você investigue se as placas-mãe dessas máquinas têm um cronômetro de vigilância a bordo. Acredito que estes sejam razoavelmente comuns pelo menos nos chipsets Intel. Se o hardware do watchdog estiver presente, encontre o software Windows adequado para configurar o temporizador e redefina-o regularmente enquanto a máquina permanecer descongelada. Se a máquina congelar, o software não poderá mais redefinir o timer e o cão de guarda redefinirá a máquina. Isso deve pelo menos resolver o congelamento do sistema rígido.
Dependendo do software, você poderá adicionar requisitos adicionais para a redefinição do timer, como conectividade de rede, processo de renderização ainda em execução, processo de renderização que fez algum progresso desde a última redefinição do timer ou similar. Não conheço o software disponível no Windows, só tenho usado watchdogs no Linux até agora.
fonte
Uma solução criativa é descrita aqui
Os meninos resolveram um problema semelhante colocando 2 PCs um contra o outro. Quando o email chegou, o computador abriu (e depois fechou) o trailer do CD e pressionou o botão de reset no outro PC.
É claro que você pode usar qualquer outra coisa, capaz de receber sinal e mover qualquer parte para lá e para trás (como servo conectado a alguma coisa - porta paralela do PC antigo, GPIO da Rapsberry ou Arduino, ou qualquer outra coisa que você tenha por perto)
fonte