Czy można ponownie uruchomić komputer w odpowiedzi na powiadomienie e-mail?


29

Po otrzymaniu powiadomienia e-mail szukam sposobu na ponowne uruchomienie komputerów.

Konfiguracja, której chcę użyć, to farma renderowania. Mamy 5 pudełek z 8 Nvidia GTX 980Ti w nich. Działają w systemie Windows 10 Professional w wersji 64-bitowej.

Problemem jest to, że czasami się zawieszają lub „zatrzymują” podczas renderowania. Mam to skonfigurowane, więc kiedy to się stanie, otrzymam wiadomość e-mail z informacją: „x maszyna utknęła w martwym punkcie”.

Zautomatyzowałem wszystko na maszynach; logują się automatycznie, otwierają niezbędne programy, nawiązują połączenie z naszym serwerem licencji i mapują wszystkie wymagane dyski sieciowe.

Zasadniczo wszystko, co musisz zrobić, to wyłączyć i włączyć ponownie, a to znowu działa.

Zastanawiam się więc, czy mogę skonfigurować program, zdarzenie lub skrypt, który nakazuje komputerom ponowne uruchomienie po otrzymaniu wiadomości e-mail z informacją, że komputer się zawiesił?

Na komputerze, na którym będzie to działało, jest zainstalowany system Windows 7 Pro 64-bit.


3
Czy wiesz, co to jest przeciąganie i jak często? Lepszym planem może być codzienne ponowne uruchamianie komputera, aby uniknąć przeciągnięcia
Shaun07776 17.04.16

@ Shaun07776 Niestety to jest problem, jest losowy, wysłałem plik dziennika po pliku dziennika do każdego dostawcy oprogramowania, którego używamy, próbując rozwiązać ten problem, na razie nie wiemy, co go powoduje lub kiedy tak się dzieje, dlatego w międzyczasie staram się zautomatyzować wszystko, co mogę, dopóki tego nie rozwiążemy.
RyanIG

23
Dlaczego nie mogę wykonać zadania, które wykryje przeciągnięcie i wyśle ​​wiadomość e-mail, po prostu uruchom ją ponownie? Dlaczego e-mail musi być wyzwalaczem?
exussum

@exussum Program, którego używamy, nazywa się Deadline 7.2. Ma to na celu. Skonfigurowałem go, aby oprogramowanie to robiło, ale z jakiegoś powodu nie działa. Program pozwala na wykonywanie skryptów w języku Python za pośrednictwem usługi sieci Web, ale też nie mogę tego zrobić.
RyanIG 18.04.16

@RyanIG - Czy z ciekawości wymaga to specjalnej procedury wyłączania, urządzenie nie reaguje wystarczająco?
stefgosselin

Odpowiedzi:


44

Chcesz urządzenia o nazwie „Remote Power Switch”, którego używaliśmy w moim miejscu pracy do zdalnego restartowania modemów kablowych, to UIS-322b poniżej:

wprowadź opis zdjęcia tutaj

Możesz skonfigurować go przy użyciu adresu IP, a następnie zalogować się do niego, aby włączyć, wyłączyć lub włączyć zasilanie podłączonego urządzenia i ustawić go zgodnie z harmonogramem. Nie można kontrolować tego za pośrednictwem poczty e-mail, ale za pośrednictwem interfejsu internetowego. Nadal możesz ustawić coś za pomocą wgetlub curlautomatycznie wysłać do niego żądanie internetowe. Może mieć inne funkcje i możliwości sterowania, których nie znam.

Jeśli korzystasz z systemów renderujących, które zużywają dużo energii, nie jestem pewien, czy określone urządzenie powyżej może je obsłużyć, ale mogą istnieć inne, które to robią. Inną rzeczą, której należy szukać, jest „Kontrolowana listwa zasilająca”.


15
Zasadniczo zdalnie odłącza i podłącza urządzenie dla Ciebie.
LawrenceC

1
Istnieją również podobne urządzenia zaprojektowane do użytku w centrum danych. Te są przeznaczone do montażu w szafie i mają znacznie więcej portów wyjściowych. Te, które widziałem, były kontrolowane przez RS-232. W ten sposób możesz podłączyć je do jednostki z dużą ilością portów RS-232, dzięki czemu ta jednostka da ci możliwość odłączenia konsoli i zdalnego zasilania wszystkich serwerów w całej szafie.
kasperd 17.04.16

1
Niektóre zasilacze UPS mogą również zapewniać tę funkcjonalność. Możesz podłączyć się do UPS (przez HTTP, Telnet lub oprogramowanie wydane przez producenta), aby połączyć się za pomocą kabla (Ethernet lub „kabel szeregowy”). Szczegółowe informacje różnią się w zależności od indywidualnych rozwiązań. Niektóre zasilacze UPS obsługują to tylko w przypadku korzystania z dodatkowej karty (włożonej do zasilacza), zakupionej osobno. Wyobrażam sobie, że są one droższe niż urządzenie, które pokazuje LawrenceC, ponieważ zasilacze UPS zapewniają również funkcję podtrzymywania bateryjnego. Jednak wyższy koszt może być do zaakceptowania ze względu na włączenie dodatkowej użytecznej funkcji.
TOOGAM 17.04.16

1
Istnieje oprogramowanie wchodzące w skład pakietu Red Hat Cluster Suite zwanego agentami szermierczymi, który zapewnia abstrakcyjny interfejs CLI do ponownego uruchamiania tych urządzeń, w tym KVM jako urządzenia „szermierki elektrycznej”. Przydało mi się to.
Brak

4
@RyanIG Być może możesz skonfigurować jedno z tych urządzeń, aby przeprowadzały twardy reset automatycznie co około 10 minut, chyba że otrzymają polecenie przez sieć Ethernet. Następnie możesz podłączyć komputery do własnego źródła zasilania i pozwolić im wysyłać polecenie „ Nie uruchamiaj mnie ponownie co około 3 minuty”. Jeśli komputer się zawiesi, przestanie również wysyłać polecenie i zostanie zresetowany. Jest to w zasadzie tak zwany „pies stróżujący” (timer) w systemach wbudowanych i omija całą komunikację e-mail.
null

33

Czy mogę skonfigurować program, zdarzenie lub skrypt, który nakazuje komputerom ponowne uruchomienie?

To zależy od tego, co rozumiesz przez:

zamrażają się lub „przeciągają”

Jeśli zdalne urządzenie zawiesiło się w sposób wymagający „twardego resetu”, to zdalny restart nie będzie działał.

Powiedziawszy to, możesz użyć shutdowndo zdalnego ponownego uruchomienia urządzenia.

Przykład:

shutdown /r /f /m \\computer
  • /r - Wyłącz i uruchom ponownie komputer.

  • /f - Wymuś zamknięcie działających aplikacji bez uprzedzania użytkowników.

  • /m \\computer - Określ komputer docelowy.

Możesz uruchomić powyższe polecenie z programu Outlook, gdy otrzymasz odpowiedni e-mail.

Poniższy link Porady: wyzwalanie aplikacji pocztą e-mail w programie Outlook powinien zacząć.


shutdown stosowanie

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

Dalsza lektura


2
Dzięki za szybką reakcję! Kiedy „Zatrzymują się lub zwalniają”, czasami system jest całkowicie zawieszony i wymaga twardego ponownego uruchomienia, innym razem możesz zrezygnować z ponownego uruchomienia go za pomocą wiersza poleceń lub przeglądarki zespołu. ten problem, który mam z wymyśleniem, jak połączyć skrypty z e-mailem, czy masz jakieś wątki lub zasoby, jak to zrobić? Korzystamy z Gmaila, ale w razie potrzeby mógłbym go uruchomić w programie Outlook. Twoje zdrowie!
RyanIG

Bez obaw, dzięki za pomoc i tak! źle kopie.
RyanIG

@RyanIG Porady : wyzwalanie aplikacji pocztą e-mail w programie Outlook powinno dać punkt wyjścia. Odpowiedź zaktualizowana.
DavidPostill

16

Jeśli masz rzeczywiste serwery , prawdopodobnie mają one funkcję zdalnego zarządzania, z którą można się połączyć, nawet jeśli główny system operacyjny urządzenia jest całkowicie zamrożony. Zasadniczo używasz SSH do łączenia się ze sterownikiem. Wydane polecenie zależy od marki twojego serwera.

W przypadku serwerów Dell, które używają DRAC (Dell Remote Access Controller), polecenie, które należy wykonać po SSH'ing do DRAC to:

racadm serveraction hardreset

Wykonuje twardy reset, równoważny wyciągnięciu przewodu zasilającego, a następnie zrestartowaniu urządzenia. Jeśli maszyna nie jest całkowicie zawieszona, powercyclezamiast hardresetwykonać zadanie. ( Źródło. )

Serwery HP używają iLO, który jest również dostępny przez SSH. Polecenie twardego resetu to po prostu:

reset hard

( Źródło , oficjalne odniesienie PDF do skryptów iLO).

Możesz połączyć otrzymywanie wiadomości e-mail z wykonaniem tych poleceń, korzystając z odpowiedzi DavidPostill. Istnieją klienci SSH dla systemu Windows; Wierzę, że PuTTY ma interfejs wiersza poleceń.


Spoglądam na to, ponieważ używamy 3 serwerów Dell Powerblade, szybkie pytanie, czy to musi być na kontrolerze domeny, czy jeśli mamy serwer licencji, czy można go na tym skonfigurować? maszyny są stale podłączone do obu. Dzięki za odpowiedź!
RyanIG 17.04.16

1
Dostęp do DRAC powinien być możliwy z dowolnego miejsca w tej samej sieci. Dlatego każdy komputer, który może otrzymać wiadomość e-mail i dotrzeć do DRAC, powinien być w stanie obsłużyć cały system.
Ben N

Niesamowite, chore spojrzenie na to i daję znać, jak sobie radzę, na zdrowie!
RyanIG

13

Użyj programu Outlook.

Link na dole odpowiedzi zawiera informacje, które pomogły w uzyskaniu tej odpowiedzi. Uznanie dla GuidingTech.com

Najpierw utwórz plik .bat.

shutdown.exe /r /t 00

Zapisz jako Restart.bat

Upewnij się, że komputer jest zalogowany za pomocą wiadomości e-mail, na którą otrzymasz powiadomienie e-mail.

Możesz skonfigurować różne konta dla każdego komputera, jeśli chcesz, i skonfigurować pocztę e-mail, aby przekazywać otrzymane wiadomości e-mail jako powiadomienia.

Przykład.

Computer1@email.com to komputer host z kartą graficzną, która nie jest renderowana.

Testemail.com to Twój e-mail, na który otrzymujesz powiadomienia.

Po otrzymaniu wiadomości e-mail program Outlook automatycznie prześle ją z powrotem na odpowiedni adres e-mail. którym w tym przypadku jest Computer1@gmail.com

Computer1@email.com otrzymano na Testemail@email.com, a następnie przekazano ten e-mail do wszystkich komputerów.

Sztuczka polega na tym, aby dla każdego komputera skonfigurować inną wiadomość e-mail z powiadomieniem, aby wiedziała, którą zamknąć.

Aby skonfigurować regułę przekazywania dalej, postępuj zgodnie z tymi instrukcjami i wpisz słowo w temacie na podstawie komputera, który chcesz zrestartować.

Uwaga: Służy to do skonfigurowania komputera, na który otrzymujesz wiadomości e-mail, a następnie skonfigurujemy poszczególne elementy.

Krok 1. Teraz otwórz MS Outlook. Na karcie Strona główna przejdź do Reguły i rozwiń menu>. Wybierz Zarządzaj regułami i alertami. wprowadź opis zdjęcia tutaj

Krok 2. W oknie Reguły i alerty kliknij Nowa reguła w obszarze E-mail> karta Reguły. wprowadź opis zdjęcia tutaj

Krok 3. Zacznij od wybrania szablonu jako Zastosuj regułę do wiadomości, które> odbieram. Kliknij Dalej. wprowadź opis zdjęcia tutaj

Krok 4. Ponownie musimy określić, z której reguły chcesz korzystać po stronie Odbiorczej, czyli na komputerze, na którym pojawia się przesłana wiadomość e-mail. Będzie to reguła ponownego uruchamiania określonego komputera.

A. Z konkretnymi słowami w temacie - Kolejne ograniczenie, dzięki któremu> otrzymujący e-mail jest lepiej identyfikowany.

B. Z określonymi słowami w ciele - Czasami tylko temat może być> niejednoznaczny. Ciało czyni go bardziej wyrafinowanym.

Wybierz je i kliknij Dalej.

wprowadź opis zdjęcia tutaj

Teraz określ, czego ma dotyczyć wiadomość e-mail, aby uruchomić ponowne uruchomienie.

Przykład, jeśli wybierzesz temat.

Powiedz, że wybrane słowo to Computer1-RenderIssue

Wpisz to w polu „Określ słowa lub wyrażenia do wyszukania w podhektie”

Teraz, gdy masz już konfigurację, czas zrobić ostatni krok.

Krok 5. Następnie pojawia się akcja, która zostanie zastosowana po otrzymaniu wiadomości e-mail i> wszystkie warunki są zgodne. Wybierz uruchom aplikację i usuń ją. wprowadź opis zdjęcia tutaj

** Uwaga: ** Jeśli go nie usuniesz. Jeśli komputer zostanie zrestartowany, jeśli program Outlook otworzy się, przejdzie w pętlę.

Krok 5a Aby rozpocząć działanie aplikacji, kliknij łącze i wybierz utworzony plik Restart.bat Kliknij przycisk Dalej.

Krok 5b Kliknij dalej na * „Czy są jakieś wyjątki?”

Krok 6 Nadaj regule nazwę dla przyszłych odniesień, włącz ją i kliknij> Zakończ.

Teraz za każdym razem, gdy jeden z was ma problem z renderowaniem wiadomości e-mail, zostanie on wysłany z określonym komputerem. Spowoduje to przesłanie wiadomości e-mail na ten komputer i ponowne uruchomienie komputera.

Mam nadzieję że to pomoże. Próbowałem sformatować go najlepiej, jak mogłem, wykonując swoją pracę.

Odniesienie do niektórych prac tutaj


Dobra David, zrozumiałem, o co ci chodziło.
NetworkKingPin 18.04.16

2
To o wiele lepsze;)
DavidPostill

6

Szczerze mówiąc, jeśli wszystko, co chcesz zrobić, to (mocno) odbić pudełko, najłatwiej jest „nacisnąć przycisk resetowania”.

Ponieważ musisz wykonać reset HARD, możesz albo zadzierać po stronie wysokiego napięcia (dość ryzykowne), albo zrobić to na płycie głównej.

Niektóre płyty główne z wyższej półki mają wbudowaną kartę sieciową / kontroler do odbijania komputera. Można jednak również podłączyć przełącznik resetowania do płytki przekaźników i sterować nim za pomocą oddzielnej maszyny.

Radziłbym podłączyć Raspberry Pi przez GPIO do płyty przekaźnikowej. Następnie podłącz każdy przekaźnik do przełącznika resetowania na płytach głównych.

Raspberry Pi 2

Raspberry Pi Relay HAT


3

Czy rozważałeś uruchomienie swojego serwera jako klienta na maszynie wirtualnej? Uruchomiłeś oprogramowanie VM (VMware, VirtualBox) na serwerze fizycznym, a następnie uruchomiłeś maszynę wirtualną z oprogramowaniem do renderowania jako klientem. Bez przetwarzania na komputerze, powinieneś uzyskać porównywalną wydajność i łatwiej byłoby zatrzymać i zrestartować maszynę wirtualną niż fizyczną.


3
Wiem, dokąd zmierzasz z koncepcją maszyny wirtualnej, ale twoje stwierdzenie o porównywalnej wydajności nie ma większego sensu.
pun

Jak to? Po prostu pakujesz fizyczny serwer maszyną wirtualną i uruchamiasz go na tym samym sprzęcie. To nie tak, że próbujesz uruchomić wiele maszyn wirtualnych. Zgodnie z tym artykułem z 2009 r. „Jeśli korzystasz z tegorocznych technologii VMware lub Xen, Intel Nehalems i Shanghai Opterons oraz nowych adapterów we / wy - wirtualizacja ma większość problemów z wydajnością. Nie sądzę, żeby od tego czasu wirtualizacja znacznie się cofnęła.
TMN

1
Zapomniałem wspomnieć: jest to farma renderująca, więc większość pracy jest wykonywana przez karty graficzne, a ich wydajność nie zostanie obniżona przez uruchomienie hosta na maszynie wirtualnej.
TMN

1
Dostęp maszyn wirtualnych do układów GPU może być trudny (bardzo specyficzny dla maszyny wirtualnej, bardzo specyficzny dla karty, jeśli w ogóle jest obsługiwany), więc sprawdź, czy to działa dla Ciebie.
toddkaufmann 20.04.16

1

Sugeruję zbadanie, czy płyty główne tych maszyn mają na pokładzie zegar kontrolny. Uważam, że są one dość powszechne przynajmniej w przypadku chipsetów Intela. Jeśli obecny jest sprzęt nadzorujący, znajdź odpowiednie oprogramowanie systemu Windows, aby skonfigurować minutnik, i regularnie je resetuj, dopóki urządzenie nie zostanie odmrożone. Jeśli maszyna zawiesi się, oprogramowanie nie będzie mogło zresetować timera, a watchdog zresetuje maszynę. To powinno przynajmniej rozwiązać problem zawieszania się twardego systemu.

W zależności od oprogramowania może być możliwe dodanie dodatkowych wymagań dotyczących resetowania timera, takich jak łączność sieciowa, proces renderowania nadal działa, proces renderowania poczynił pewne postępy od ostatniego resetu timera lub podobnie. Nie znam dostępnego oprogramowania w systemie Windows, do tej pory korzystałem tylko z watchdoga w systemie Linux .


-1

Tutaj opisano jedno kreatywne rozwiązanie

Chłopcy rozwiązali podobny problem, stojąc naprzeciw siebie 2 PC. Gdy nadeszła wiadomość e-mail, komputer otworzył (a następnie zamknął) zwiastun CD, więc nacisnął przycisk resetowania na drugim komputerze.

Oczywiście możesz użyć wszystkiego innego, co jest w stanie zasygnalizować i przenieść dowolną część tam iz powrotem (np. Serwomechanizm podłączony do czegoś - port równoległy starego komputera, GPIO z Rapsberry lub Arduino, lub cokolwiek innego, co masz w pobliżu)


1
Życzymy miłej lektury, ale prosimy o uwzględnienie ważnych części w poście - odpowiedzi powinny być jak najbardziej samodzielne.
Ben N
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.