Ist es möglich, einen Computer als Antwort auf eine E-Mail-Benachrichtigung neu zu starten?


29

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.


3
Wissen Sie, was und wie oft blockiert? Ein besserer Plan könnte sein, dass der Computer täglich neu
gestartet wird,

@ Shaun07776 Leider ist dies ein zufälliges Problem. Ich habe eine Protokolldatei nach der anderen an jeden Softwarehersteller gesendet, mit dem wir versuchen, dieses Problem zu beheben. Derzeit wissen wir nicht, was sie verursacht oder wann sie auftreten passieren, deshalb versuche ich, alles zu automatisieren, was ich in der Zwischenzeit kann, bis wir es herausfinden.
RyanIG

23
Warum kann der Job, der den Stillstand erkennt und die E-Mail sendet, nicht gestartet werden? Warum muss die E-Mail der Auslöser sein?
Exussum

@exussum Das Programm, das wir verwenden, heißt Deadline 7.2. Es ist dafür vorgesehen. Ich habe es so konfiguriert, dass die Software das tut. Aber aus irgendeinem Grund funktioniert es nicht Ich kann auch nicht viel damit anfangen.
RyanIG

@ Ryanig - Nur aus Neugier braucht dies eine spezielle Methode zum Herunterfahren, die Maschine reagiert nicht genug?
Stefgosselin

Antworten:


44

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).

Bildbeschreibung hier eingeben

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 wgetoder curleinrichten, 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".


15
Im Grunde genommen wird das Gerät für Sie per Fernzugriff abgezogen und eingesteckt.
LawrenceC

1
Es gibt auch ähnliche Geräte für die Verwendung in Rechenzentren. Diese sind für den Einbau in ein Rack konzipiert und verfügen über wesentlich mehr Ausgangsanschlüsse. Die, die ich gesehen habe, wurden über RS-232 gesteuert. Auf diese Weise können Sie sie an eine Einheit mit vielen RS-232-Anschlüssen anschließen, sodass Sie mit dieser einen Einheit alle einzelnen Server in einem gesamten Rack von der Konsole trennen und aus der Ferne aus- und wieder einschalten können.
Kasperd

1
Einige USVs können diese Funktion ebenfalls bereitstellen. Sie können eine Verbindung zur USV herstellen (über HTTP oder Telnet oder über vom Hersteller freigegebene Software), um eine Verbindung über ein Kabel (Ethernet oder ein "serielles Kabel") herzustellen. Spezifische Details variieren je nach individueller Lösung. Einige USVs unterstützen dies nur bei Verwendung einer separat erhältlichen Zusatzkarte (in die USV eingesetzt). Ich stelle mir vor, dass sie teurer sind als das Gerät, das LawrenceC vorstellt, weil die USVs auch die Möglichkeit bieten, batteriegepuffert zu werden. Die höheren Kosten können jedoch aufgrund der Einbeziehung des zusätzlichen nützlichen Merkmals akzeptabel sein.
TOOGAM

1
Es gibt Software, die Teil der Red Hat Cluster Suite namens Fencing Agents ist und eine abstrakte CLI-Schnittstelle zum Neustarten dieser Geräte bietet, einschließlich KVM als "Power Fencing" -Gerät. Es war nützlich für mich.
Kein Benutzername

4
@RyanIG Vielleicht können Sie eines dieser Geräte so einrichten, dass es etwa alle 10 Minuten automatisch einen Hard-Reset durchführt, es sei denn, sie erhalten einen Befehl über Ethernet. Dann können Sie die Computer an ihre eigene Stromversorgung anschließen und sie den Befehl " Nicht neu starten" etwa alle 3 Minuten senden lassen . Wenn der Computer nicht mehr reagiert, wird der Befehl ebenfalls nicht mehr gesendet und es wird ein Hard-Reset durchgeführt. Es ist im Grunde genommen das, was in eingebetteten Systemen als "Watch Dog (Timer)" bezeichnet wird und die gesamte E-Mail-Kommunikation umgehen würde.
null

33

Kann ich ein Programm, ein Ereignis oder ein Skript einrichten, das die Computer zum Neustart auffordert?

Es kommt darauf an, was Sie damit meinen:

sie frieren ein oder "klemmen"

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 shutdownein Gerät aus der Ferne neu starten.

Beispiel:

shutdown /r /f /m \\computer
  • /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 Verwendung

F:\test>shutdown /?
Usage: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
    [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

    No args    Display help. This is the same as typing /?.
    /?         Display help. This is the same as not typing any options.
    /i         Display the graphical user interface (GUI).
               This must be the first option.
    /l         Log off. This cannot be used with /m or /d options.
    /s         Shutdown the computer.
    /r         Shutdown and restart the computer.
    /g         Shutdown and restart the computer. After the system is
               rebooted, restart any registered applications.
    /a         Abort a system shutdown.
               This can only be used during the time-out period.
    /p         Turn off the local computer with no time-out or warning.
               Can be used with /d and /f options.
    /h         Hibernate the local computer.
               Can be used with the /f option.
    /e         Document the reason for an unexpected shutdown of a computer.
    /m \\computer Specify the target computer.
    /t xxx     Set the time-out period before shutdown to xxx seconds.
               The valid range is 0-315360000 (10 years), with a default of 30.
               If the timeout period is greater than 0, the /f parameter is
               implied.
    /c "comment" Comment on the reason for the restart or shutdown.
               Maximum of 512 characters allowed.
    /f         Force running applications to close without forewarning users.
               The /f parameter is implied when a value greater than 0 is
               specified for the /t parameter.
    /d [p|u:]xx:yy  Provide the reason for the restart or shutdown.
               p indicates that the restart or shutdown is planned.
               u indicates that the reason is user defined.
               If neither p nor u is specified the restart or shutdown is
               unplanned.
               xx is the major reason number (positive integer less than 256).
               yy is the minor reason number (positive integer less than 65536).

Weitere Lektüre


2
Vielen Dank für die schnelle Antwort! Wenn sie "Freeze or Stall" sind, hängt das System manchmal vollständig und es erfordert einen harten Neustart. Manchmal können Sie durch einen Neustart über die Befehlszeile oder über den Team-Viewer davonkommen. Ich habe Probleme damit, herauszufinden, wie man Skripte mit der E-Mail verknüpft. Hätten Sie Threads oder Ressourcen dazu? Wir verwenden Google Mail, aber ich könnte es bei Bedarf über Outlook ausführen. Prost!
RyanIG

Keine Sorge, danke für deine Hilfe! Ich grabe weiter.
RyanIG

@ RyanIG Gewusst wie: Auslösen einer Anwendung per E-Mail in Outlook sollte Ihnen einen Ausgangspunkt geben. Antwort aktualisiert.
DavidPostill

16

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:

racadm serveraction hardreset

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, powercyclestatt hardresetkönnte die Arbeit erledigen. ( Quelle. )

HP Server verwenden iLO, auf das auch über SSH zugegriffen werden kann. Der Hard-Reset-Befehl lautet einfach:

reset hard

( 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.


Ich werde mir das genauer ansehen, da wir 3 Dell Powerblade-Server verwenden. Eine kurze Frage: Muss es sich auf dem Domänencontroller befinden oder könnte es darauf eingerichtet werden, wenn wir einen Lizenzserver hätten? Die Maschinen sind ständig mit beiden verbunden. Danke für deine Antwort!
RyanIG

1
Der DRAC sollte von überall im selben Netzwerk erreichbar sein. Daher sollte jeder Computer, der die E-Mail empfangen und den DRAC erreichen kann, in der Lage sein, das gesamte System zu verwalten.
Ben N

Super, schau dir das an und lass dich wissen, wie es mir geht, Prost!
RyanIG

13

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.

Computer1@email.com 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 Computer1@gmail.com

Computer1@email.com, erhalten unter Testemail@email.com, 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.

Schritt 1. Öffnen Sie nun MS Outlook. Gehen Sie auf der Registerkarte Start zu Regeln und erweitern Sie das Menü>. Wählen Sie Regeln und Warnungen verwalten. Bildbeschreibung hier eingeben

Schritt 2. Aktivieren Sie im Fenster Regeln und Warnungen die Option Neue Regel, während Sie sich auf der Registerkarte E-Mail> Regeln befinden. Bildbeschreibung hier eingeben

Schritt 3. Wählen Sie zunächst Ihre Vorlage als Regel auf empfangene Nachrichten anwenden aus. Klicken Sie auf Weiter. Bildbeschreibung hier eingeben

Schritt 4. Wir müssen noch einmal spezifizieren, welche Regel Sie auf der empfangenden Seite verwenden möchten. Dies ist der Computer, auf dem die weitergeleitete E-Mail angezeigt wird. Dies ist die Regel für den Neustart des angegebenen Computers.

A. Mit bestimmten Wörtern im Betreff - Eine weitere Einschränkung, damit> die empfangende E-Mail besser identifiziert wird.

B. Mit bestimmten Worten im Körper - Manchmal kann nur das Thema> mehrdeutig sein. Ein Körper verfeinert es also.

Wählen Sie sie aus und klicken Sie auf "Weiter".

Bildbeschreibung hier eingeben

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.

Schritt 5. Als nächstes wird die Aktion ausgeführt, die ausgeführt wird, wenn eine E-Mail eingeht und> alle Bedingungen erfüllt sind. Wählen Sie Anwendung starten und löschen Sie sie. Bildbeschreibung hier eingeben

** Hinweis: ** Wenn Sie es nicht löschen. Wenn der Computer neu gestartet wird und Outlook geöffnet wird, wird er in einer Schleife ausgeführt.

Schritt 5a Um die Anwendungsaktion zu starten, klicken Sie auf den Link und wählen Sie die Datei aus, die Sie erstellt haben. Restart.bat Klicken Sie auf Weiter.

Schritt 5b Klicken Sie als nächstes auf * "Gibt es Ausnahmen?"

Schritt 6 Geben Sie der Regel einen Namen für zukünftige Referenzen, aktivieren Sie sie und klicken Sie auf> Fertig stellen.

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


Okay, David, ich habe verstanden, was du meinst.
NetworkKingPin

2
Das ist viel besser;)
DavidPostill

6

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.

Himbeer-Pi 2

Himbeer-Pi-Relais-Hut


3

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.


3
Ich weiß, wohin Sie mit dem Konzept der virtuellen Maschine wollen, aber Ihre Aussage über eine vergleichbare Leistung ist wenig sinnvoll.
Wortspiel

Wieso das? Sie wickeln einfach einen physischen Server in eine VM ein und führen ihn auf derselben Hardware aus. Es ist nicht so, dass Sie versuchen, mehrere VMs auszuführen. In diesem Artikel aus dem Jahr 2009 heißt es: "Wenn Sie die diesjährigen VMware- oder Xen-Technologien, Intel Nehalems und Shanghai Opterons sowie die neuen E / A-Adapter verwenden, sind die meisten Leistungsprobleme bei der Virtualisierung weitaus größer." Ich kann mir nicht vorstellen, dass die Virtualisierung seitdem stark zurückgegangen ist.
TMN

1
Vergessen zu erwähnen: Dies ist eine Rendering-Farm, daher wird der Großteil der Arbeit von den Grafikkarten erledigt und ihre Leistung wird nicht durch die Ausführung des Hosts in einer VM beeinträchtigt.
TMN

1
Der VM-Zugriff auf GPUs kann schwierig sein (sehr VM-spezifisch, sehr kartenspezifisch, falls überhaupt unterstützt). Überprüfen Sie daher, ob er für Sie funktioniert.
Toddkaufmann

1

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 .


-1

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).


1
Viel Spaß beim Lesen, aber bitte füge die wichtigen Teile in deinen Beitrag ein - die Antworten sollten so in sich geschlossen wie möglich sein.
Ben N
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.