Ich suche nach einer Möglichkeit, Computer neu zu starten, nachdem ich eine E-Mail-Benachrichtigung erhalten habe.
Das Setup, für das ich dies verwenden möchte, ist eine Renderfarm. Wir haben 5 Boxen mit 8 Nvidia GTX 980Ti in ihnen. Sie führen Windows 10 Professional 64-Bit aus.
Das Problem ist, dass sie beim Rendern manchmal einfrieren oder "hängen bleiben". Ich habe es so eingerichtet, dass ich in diesem Fall eine E-Mail mit der Meldung "x machine has stalled" erhalte.
Ich habe alles an den Maschinen automatisiert; Sie melden sich automatisch an, öffnen die erforderlichen Programme, stellen eine Verbindung mit unserem Lizenzserver her und ordnen alle erforderlichen Netzlaufwerke zu.
Grundsätzlich müssen Sie es nur aus- und wieder einschalten, und es funktioniert wieder.
Was ich mich frage, ist, kann ich ein Programm, ein Ereignis oder ein Skript einrichten, das die Maschinen anweist, neu zu starten, nachdem ich die E-Mail erhalten habe, dass eine Maschine stehen geblieben ist?
Auf dem Computer, auf dem dies ausgeführt wird, wird Windows 7 Pro 64-Bit ausgeführt.
quelle
Antworten:
Sie möchten ein Gerät namens "Remote Power Switch", eines, das wir an meinem Arbeitsplatz zum Fernstart von Kabelmodems verwendet haben: UIS-322b (siehe unten).
Sie können es mit einer IP-Adresse einrichten und sich dann anmelden, um ein verbundenes Gerät einzuschalten, auszuschalten oder aus- und wieder einzuschalten, und es nach einem Zeitplan einrichten. Sie können es nicht per E-Mail steuern, sondern über die Weboberfläche. Sie können immer noch etwas über
wget
odercurl
einrichten, um automatisch eine Webanforderung an diese zu senden. Es verfügt möglicherweise über andere Funktionen und Steuerungsmöglichkeiten, die mir nicht bekannt sind.Wenn Sie Rendering-Systeme verwenden, die viel Strom verbrauchen, bin ich mir nicht sicher, ob das oben genannte Gerät damit umgehen kann, aber möglicherweise gibt es andere, die dies tun. Eine andere Sache, nach der man Ausschau halten sollte, ist "Kontrollierbare Steckdosenleiste".
quelle
Kann ich ein Programm, ein Ereignis oder ein Skript einrichten, das die Computer zum Neustart auffordert?
Es kommt darauf an, was Sie damit meinen:
Wenn der Remote-Computer in einer Weise hängen geblieben ist, die einen "Hard-Reset" erfordert, funktioniert ein Remote-Neustart nicht.
Allerdings können Sie damit
shutdown
ein Gerät aus der Ferne neu starten.Beispiel:
/r
- Fahren Sie den Computer herunter und starten Sie ihn neu./f
- Erzwingen Sie das Schließen laufender Anwendungen, ohne die Benutzer zu warnen./m \\computer
- Geben Sie den Zielcomputer an.Sie können den obigen Befehl in Outlook ausführen, wenn Sie die entsprechende E-Mail erhalten.
Der folgende Link Gewusst wie: Auslösen einer Anwendung per E-Mail in Outlook sollte Ihnen den Einstieg erleichtern.
shutdown
VerwendungWeitere Lektüre
quelle
Wenn Sie über tatsächliche Server verfügen , verfügen diese wahrscheinlich über eine Remoteverwaltungsfunktion, mit der eine Verbindung hergestellt werden kann, selbst wenn das Hauptbetriebssystem des Computers vollständig eingefroren ist. Im Allgemeinen verwenden Sie SSH, um eine Verbindung zum Controller herzustellen. Der spezifische Befehl hängt von der Marke Ihres Servers ab.
Für einen Dell-Server, der DRAC (Dell Remote Access Controller) verwendet, lautet der Befehl, der nach dem SSH-Zugriff auf den DRAC ausgeführt wird, wie folgt:
Dies führt einen Hard-Reset durch, der einem Herausziehen des Netzkabels und einem Neustart der Maschine entspricht. Wenn die Maschine nicht vollständig aufgehängt wird,
powercycle
statthardreset
könnte die Arbeit erledigen. ( Quelle. )HP Server verwenden iLO, auf das auch über SSH zugegriffen werden kann. Der Hard-Reset-Befehl lautet einfach:
( Quelle , die offizielle PDF-Referenz zu iLO-Skripten.)
Sie können die empfangene E-Mail mit der Antwort von DavidPostill zur Ausführung dieser Befehle verbinden. Es gibt SSH-Clients für Windows. Ich glaube, PuTTY hat eine Befehlszeilenschnittstelle.
quelle
Verwenden Sie Outlook.
Der Link unten in der Antwort enthält Informationen, die bei dieser Antwort hilfreich waren. Ein großes Lob an GuidingTech.com
Erstellen Sie zuerst eine BAT-Datei.
shutdown.exe /r /t 00
Speichern Sie als Restart.bat
Stellen Sie sicher, dass der Computer mit der E-Mail angemeldet ist, in der Sie die E-Mail-Benachrichtigung erhalten.
Sie können für jeden Computer unterschiedliche Konten einrichten und Ihre E-Mails so einrichten, dass Ihre empfangenen E-Mails als Benachrichtigungen weitergeleitet werden.
Beispiel.
[email protected] ist der Host-PC mit einer Grafikkarte, die nicht gerendert wird.
Testemail.com ist Ihre E-Mail-Adresse, an die Sie Benachrichtigungen erhalten.
Sobald die E-Mail eingegangen ist, leitet Ihr Outlook die E-Mail automatisch an die entsprechende E-Mail weiter. Dies ist in diesem Fall [email protected]
[email protected], erhalten unter [email protected], leitet diese E-Mail an alle Computer weiter.
Der Trick hier besteht darin, für jeden Computer eine andere Benachrichtigungs-E-Mail einzurichten, damit er weiß, welche heruntergefahren werden muss.
Befolgen Sie diese Anweisungen, um eine Weiterleitungsregel einzurichten, und geben Sie im Betreff ein Wort ein, das auf dem PC basiert, den Sie neu starten möchten.
Hinweis: Dies dient zur Einrichtung Ihres Computers, auf dem Sie die E-Mails erhalten, bevor wir die einzelnen PCs einrichten.
Geben Sie jetzt an, wonach die E-Mail suchen soll, um den Neustart auszulösen.
Beispiel, wenn Sie einen Betreff auswählen.
Sagen Sie, dass das von Ihnen gewählte Wort Computer1-RenderIssue ist
Sie werden , dass in der Art „für Wörter oder Sätze Geben Sie in der subhect zu suchen“
Nun, da Sie das Setup haben, ist es Zeit, den letzten Schritt zu tun.
Immer wenn einer Ihrer Computer ein Problem beim Rendern der E-Mail hat, wird er mit dem angegebenen Computer an Sie gesendet. Dadurch wird die E-Mail an diesen Computer weitergeleitet und der Computer neu gestartet.
Hoffe das hilft. Versucht, es so gut wie möglich zu formatieren, während ich meine Arbeit erledige.
Referenz für einige Arbeiten hier
quelle
Um ehrlich zu sein, wenn Sie nur eine Box (hart) hüpfen lassen möchten, ist der einfachste Weg, den Reset-Schalter zu drücken.
Da Sie einen HARD-Reset durchführen müssen, können Sie entweder auf der Hochspannungsseite (ziemlich riskant) herumspielen oder auf der Hauptplatine.
Einige High-End-Motherboards verfügen über eine integrierte Netzwerkkarte / einen integrierten Controller für das Bouncen des PCs. Sie können den Rücksetzschalter jedoch auch mit einer Relaisplatine verbinden und diese über eine separate Maschine steuern.
Ich würde empfehlen, einen Himbeer-Pi über den GPIO an eine Relais-Platine anzuschließen. Schließen Sie dann jedes Relais an den Rücksetzschalter auf den Motherboards an.
quelle
Haben Sie darüber nachgedacht, Ihren Server als Client auf einer virtuellen Maschine auszuführen? Sie würden die VM-Software (VMware, VirtualBox) auf dem physischen Server ausführen und dann eine virtuelle Maschine mit Ihrer Rendering-Software als Client ausführen. Wenn auf dem Computer keine andere Verarbeitung ausgeführt wird, sollten Sie eine vergleichbare Leistung erzielen, und es wäre einfacher, einen virtuellen Computer anzuhalten und neu zu starten, als einen physischen.
quelle
Ich würde vorschlagen, dass Sie untersuchen, ob die Mainboards dieser Maschinen einen Watchdog-Timer an Bord haben. Ich glaube, dass diese zumindest bei Intel-Chipsätzen einigermaßen üblich sind. Wenn Watchdog-Hardware vorhanden ist, suchen Sie nach einer geeigneten Windows-Software zum Einrichten des Timers und setzen Sie sie regelmäßig zurück, solange der Computer nicht gefroren ist. Wenn die Maschine einfriert, kann die Software den Timer nicht mehr zurücksetzen, und der Watchdog setzt die Maschine zurück. Das sollte zumindest das Einfrieren der Festplatte beheben.
Abhängig von der Software können Sie möglicherweise zusätzliche Anforderungen für das Zurücksetzen des Timers hinzufügen, z. B. Netzwerkkonnektivität, noch laufender Rendervorgang, einige Fortschritte beim Rendervorgang seit dem letzten Zurücksetzen des Timers oder ähnliches. Ich kenne keine verfügbare Software unter Windows . Bisher habe ich nur Watchdogs unter Linux verwendet .
quelle
Eine kreative Lösung wird hier beschrieben
Die Jungs lösten ein ähnliches Problem, indem 2 PCs gegeneinander standen. Als die E-Mail kam, öffnete (und schloss) der Computer den CD-Trailer und drückte auf dem anderen PC die Reset-Taste.
Natürlich können Sie alles andere verwenden, das signalisiert werden kann und irgendeinen Teil hin und her bewegen kann (wie Servo, das mit etwas verbunden ist - paralleler Port eines alten PCs, GPIO von Rapsberry oder Arduino oder einfach alles, was Sie sonst noch haben).
quelle