Чи можливо перезавантажити комп’ютер у відповідь на повідомлення електронною поштою?


29

Я шукаю спосіб перезавантажити машини після отримання повідомлення електронною поштою.

Налаштування, на якому я хочу використовувати це, - це ферма візуалізації. У нас є 5 коробки з 8 Nvidia GTX 980Ti в них. У них працює 64-розрядна версія Windows 10 Professional.

Проблема, яка у нас виникає, полягає в тому, що вони іноді замерзають або «затримуються» під час надання. У мене це налаштовано, тому щойно це трапляється, я отримую електронний лист із написом "х машина затрималася".

Я автоматизував все на машинах; вони автоматично входять у систему, відкривають необхідні програми, ініціюють з'єднання з нашим ліцензійним сервером та відображають всі необхідні мережеві диски.

В основному все, що вам потрібно зробити, це вимкнути і знову ввімкнути, і це знову працює.

Тож, що мені цікаво, чи можу я створити програму, подію чи сценарій, який підкаже машинам перезавантажитись після того, як я отримаю електронний лист із повідомленням, що машина зупинилася?

На цій машині працює операційна система Windows 7 Pro 64-розрядна.


3
Чи знаєте ви, що затримується і як часто? Кращий план, можливо, зробити так, щоб комп’ютер щодня перезапускався, уникаючи стійла всіх разом
Shaun07776

@ Shaun07776 На жаль, це проблема, вона випадкова, я надсилав файл журналу після файлу журналу кожному постачальнику програмного забезпечення, який ми використовуємо, намагаючись вирішити цю проблему, на даний момент ми не знаємо, що їх викликає, або коли вони трапляються, тому я намагаюся тим часом автоматизувати все, що можу, поки ми не з'ясуємо це.
RyanIG

23
Чому не можна виконати роботу, яка виявляє стійло та надсилає електронну пошту, просто перезапустити її? Чому електронний лист повинен бути тригером?
exussum

@exussum Програма, яку ми використовуємо, називається Deadline 7.2. Це призначено для цього, я налаштував це так, щоб це робило програмне забезпечення, але воно не працює чомусь, програма дозволяє проводити сценарій python через веб-сервіс, але я Не можу так зробити багато.
RyanIG

@RyanIG - Просто з цікавості, чи потрібна ця спеціальна процедура відключення, машина недостатньо реагує?
stefgosselin

Відповіді:


44

Ви хочете, щоб пристрій під назвою "Віддалений вимикач живлення", який ми використовували на моєму робочому місці для віддаленого перезавантаження кабельних модемів, - це UIS-322b нижче:

введіть тут опис зображення

Ви можете встановити його з IP-адресою, а потім увійти до нього, щоб увімкнути, вимкнути або цикл живлення будь-якого підключеного пристрою та встановити його за графіком. Ви не можете керувати ним електронною поштою, але через веб-інтерфейс. Ви все ще можете щось сфальсифікувати через wgetабо curlавтоматично надіслати на нього веб-запит. Можливо, він має інші функції та можливості управління, про які я не знаю.

Якщо ви використовуєте системи візуалізації, які споживають багато енергії, я не впевнений, чи може конкретний пристрій, що знаходиться вище, обробляти їх, але там можуть бути й інші. Інша річ, на яку слід звернути увагу, - це "Контрольована смуга живлення".


15
Це в основному віддалені відключення та вилки в пристрої для вас.
LawrenceC

1
Існують також подібні пристрої, розроблені для використання центрів обробки даних. Вони призначені для встановлення в стійку і мають набагато більше вихідних портів. Ті, кого я бачив, контролювались по RS-232. Таким чином, ви можете приєднати їх до блоку з великою кількістю портів RS-232 таким чином, що цей один пристрій дозволить вам зняти консоль та віддалене циклічне живлення всіх окремих серверів у цілій стійці.
kasperd

1
Деякі ДБЖ можуть також надавати цю функціональність. Ви можете підключитися до ДБЖ (через HTTP, або Telnet або програмне забезпечення, випущене виробником) для підключення за допомогою кабелю (Ethernet або "послідовний кабель"). Конкретні деталі залежать від індивідуальних рішень. Деякі ДБЖ підтримують це лише при використанні картки додатків (вставленої в ДБЖ), придбаної окремо. Я гадаю, що вони дорожчі, ніж показано на пристрої LawrenceC, оскільки ДБЖ також забезпечують резервне копіювання акумулятора. Однак вища вартість може бути прийнятною через включення додаткової корисної функції.
TOOGAM

1
Існує програмне забезпечення, яке є частиною Red Hat Cluster Suite під назвою агенти фехтування, що надає абстрактний інтерфейс CLI для перезавантаження цих пристроїв, включаючи KVM як пристрій "фехтування живлення". Це було корисно для мене.
Немає імені користувача

4
@RyanIG Можливо, ви можете налаштувати один з цих пристроїв таким чином, щоб вони виконували жорстке скидання автоматично кожні 10 хвилин або близько того, якщо вони не отримають команду через Ethernet. Тоді ви можете підключити комп’ютери до власного джерела живлення та дозволити їм надсилати команду « Не перезавантажувати мене» кожні 3 хвилини або близько того. Якщо комп'ютер зависне, він також перестане надсилати команду і отримає жорстке скидання. Це в основному те, що називається "сторожовою собакою (таймером)" у вбудованих системах, і це обійде весь електронний зв’язок.
null

33

Чи можу я встановити програму, подію чи сценарій, який підкаже машинам перезавантажити?

Це залежить від того, що ви маєте на увазі під:

вони заморожуються або "затримуються"

Якщо віддалена машина зависла таким чином, що вимагає "жорсткого скидання", то віддалений перезапуск не працюватиме.

Сказавши це, ви можете shutdownвіддалено перезапустити пристрій.

Приклад:

shutdown /r /f /m \\computer
  • /r - Вимкнення та перезавантаження комп'ютера.

  • /f - Примушуйте запущені програми закриватися без попередження користувачів.

  • /m \\computer - Вкажіть цільовий комп'ютер.

Ви можете запустити вищезазначену команду з Outlook, коли отримаєте відповідний електронний лист.

Наступне посилання Як зробити: запуск програми через електронну пошту в Outlook повинен розпочати роботу.


shutdown використання

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

Подальше читання


2
Дякуємо за швидку відповідь! Коли вони "Заморожуються або зупиняються", інколи система повністю зависає і вимагає жорсткого перезавантаження, в інший раз ви можете піти з перезавантаження її через командний рядок або через команду перегляду. ця проблема у мене виникає з тим, щоб з'ясувати, як пов’язати скрипти до електронної пошти, чи є у вас якісь потоки чи ресурси, як це зробити? Ми використовуємо gmail, але я міг би запустити його через outlook, якщо потрібно. ура!
RyanIG

Не хвилюйтесь, дякую за допомогу все одно! погано продовжую копати.
RyanIG

@RyanIG Як: запуск програми електронною поштою в Outlook повинен дати вам вихідну точку. Відповідь оновлено.
DavidPostill

16

Якщо у вас є фактичні сервери , вони, ймовірно, мають функцію віддаленого управління, яку можна підключити, навіть якщо основна ОС машини повністю заморожена. Як правило, ви використовуєте SSH для підключення до контролера. Конкретна видана команда залежить від марки вашого сервера.

Для серверів Dell, які використовують DRAC (Dell Remote Access Controller), командою для виконання після SSH'ing в DRAC є:

racadm serveraction hardreset

Це виконує жорстке скидання, еквівалентне витягуванню шнура живлення та повторному перезапуску машини. Якщо машина не повністю висіла, powercycleзамість цього hardresetможна зробити роботу. ( Джерело. )

Сервери HP використовують iLO, який також доступний через SSH. Команда жорсткого скидання проста:

reset hard

( Джерело , офіційна посилання PDF на сценарій iLO.)

Ви можете підключити отриману електронну пошту до виконання цих команд за допомогою відповіді DavidPostill. Є клієнти SSH для Windows; Я вважаю, що у PuTTY є інтерфейс командного рядка.


Я не зважаю на це, коли ми використовуємо 3 сервери Dell Powerblade, однак швидке запитання, чи це повинно бути на контролері домену або якщо у нас був сервер ліцензій, чи можна це налаштувати на це? машини постійно підключаються до обох. Дякую за вашу відповідь!
RyanIG

1
DRAC повинен бути доступний з будь-якої точки однієї мережі. Тому будь-який комп'ютер, який може отримувати електронну пошту та дістатися до DRAC, повинен мати можливість працювати з усією системою.
Бен N

Дивовижний, поганий погляд на це і нехай ви знаєте, як я дістаюсь, ура!
RyanIG

13

Використовуйте Outlook.

Посилання внизу відповіді містить інформацію, яка допомогла в цій відповіді. Кудо на GuidingTech.com

Спершу створіть .bat файл.

shutdown.exe /r /t 00

Зберегти як Restart.bat

Переконайтеся, що комп'ютер увійшов з електронною поштою, на яку ви отримуєте повідомлення про електронне повідомлення.

Ви можете налаштувати різні облікові записи для кожного комп’ютера, якщо хочете та маєте налаштування електронної пошти, щоб пересилати електронні листи як отримані сповіщення.

Приклад.

Computer1@email.com - це комп'ютер-хост із графічною карткою, яка не надає рендерінг.

Testemail.com - це ваш електронний лист, на який ви отримуєте сповіщення.

Коли електронний лист буде отримано, ваш прогноз автоматично переадресовує електронне повідомлення на відповідний електронний лист. яка в даному випадку - Computer1@gmail.com

Комп'ютер1@email.com, отриманий на адресу Testemail@email.com, передає цей електронний лист на всі комп’ютери.

Трюк тут полягає у встановленні різних електронних повідомлень для сповіщень на кожен комп’ютер, щоб він знав, яке відключення.

Для налаштування правила для переходу дотримуйтесь цих вказівок і введіть слово в тему на основі ПК, який ви хочете перезапустити.

Примітка. Це для налаштування вашого комп’ютера, на який ви отримуєте електронні листи, після чого ми збираємось налаштувати окремі ПК.

Крок 1. Тепер відкрийте MS Outlook. На вкладці Домашня сторінка перейдіть до Правил та розгорніть меню>. Виберіть Керувати правилами та сповіщеннями. введіть тут опис зображення

Крок 2. На вікні "Правила та сповіщення" курка "Нове правило", перебуваючи на вкладці "Електронна пошта"> "Вкладка". введіть тут опис зображення

Крок 3. Почніть із вибору шаблону як правила застосування для повідомлень I> отримання. Клацніть на Далі. введіть тут опис зображення

Крок 4. Ще раз нам потрібно вказати, яке правило ви хочете використовувати на кінці отримання, на якому відображатиметься комп'ютер, на який відображається відправлений електронний лист. Це буде правилом перезавантаження вказаного комп'ютера.

A. З конкретними словами в темі - Ще одне обмеження, щоб> отримувати електронну пошту краще було визначено.

B. Із конкретними словами в тілі. Іноді лише предмет може бути> неоднозначним. Так тіло робить його більш вишуканим.

Виберіть їх і натисніть на наступний.

введіть тут опис зображення

Тепер вкажіть, що ви хочете шукати в електронному листі, щоб викликати перезапуск.

Приклад, якщо ви вибираєте тему.

Скажіть, що вибране слово є Computer1-RenderIssue

Ви введете це у полі "Вкажіть слова та фрази для пошуку в підтеці"

Тепер, коли у вас є така установка, її час зробити останній крок.

Крок 5. Далі йде дія, яку слід застосувати, коли надійде електронний лист і> всі умови відповідають. Виберіть запуску програми та видаліть її. введіть тут опис зображення

** Примітка: ** Якщо ви не видаляєте її. Якщо комп'ютер перезавантажений, якщо відкривається перспектива, він перейде в цикл.

Крок 5a Для запуску дії програми натисніть на посилання та виберіть файл, який ви створили Restart.bat. Натисніть кнопку Далі.

Крок 5b Клацніть далі * "Чи є винятки?"

Крок 6 Дайте правилу назву для майбутніх посилань, увімкніть його та натисніть> Готово.

Тепер, коли на одному з комп'ютерів виникає проблема, коли візуалізація електронної пошти буде надіслана вам із вказаним комп’ютером. Це переадресує електронну пошту на цей комп'ютер і перезапустить машину.

Сподіваюсь, це допомагає. Намагався відформатувати це найкраще, що міг, виконуючи свою роботу.

Довідка для деяких робіт тут


Добре Девід, я зрозумів, про що ти зараз мав на увазі.
NetworkKingPin

2
Це набагато краще;)
DavidPostill

6

Якщо чесно, якщо все, що ви хочете зробити, це (важко) підстрибнути коробку, найпростіший спосіб - "натиснути перемикач скидання".

Оскільки вам потрібно зробити скидання HARD, ви можете або зіпсуватись на кінці високого напруги (досить ризиковано), або зробити це на материнській платі.

Деякі материнські плати високого класу мають вбудовану мережеву карту / контролер для підстрибування ПК. Однак ви також можете підключити перемикач скидання до плати реле та керувати цим за допомогою окремої машини.

Я б радив підключити Raspberry Pi через GPIO до релейної плати. Потім приєднайте кожне реле до перемикача скидання на материнських платах.

Малина Пі 2

Raspberry Pi Relay HAT


3

Чи розглядали ви запуск свого сервера як клієнта на віртуальній машині? Ви б запустили програмне забезпечення VM (VMware, VirtualBox) на фізичному сервері, а потім запустили віртуальну машину з вашим програмним забезпеченням візуалізації як клієнтом. Якщо на машині не відбувається жодна інша обробка, ви повинні отримати порівнянні показники, і було б легше зупинити і перезапустити віртуальну машину, ніж фізичну.


3
Я знаю, куди ви їдете з концепцією віртуальної машини, але ваше твердження про порівнянні показники не має особливого сенсу.
каламбур

Як так? Ви в основному просто обмотуєте фізичний сервер з VM і запускаєте його на тому ж апаратному забезпеченні. Це не так, як ви намагаєтеся запустити кілька віртуальних машин. Згідно з цим документом від 2009 року, "якщо ви використовуєте цьогорічні технології VMware або Xen, Intel Nehalems і Shanghai Opterons та нові адаптери вводу-виводу - віртуалізація має більшу кількість проблем". Я не думаю, що з того часу віртуалізація сильно відступила.
TMN

1
Забув згадати: це ферма візуалізації, тому більшість робіт виконується за допомогою відеокарт, і їх продуктивність не буде погіршуватися, запустивши хост у віртуальний комп'ютер.
TMN

1
Доступ VM до GPU може бути складним (дуже специфічний для VM, дуже специфічний для картки, якщо він взагалі підтримується), тому переконайтеся, що він працює для вас.
toddkaufmann

1

Я б запропонував вам вивчити, чи є на борту цих машин таймер сторожевого собаки. Я вважаю, що це досить часто зустрічається принаймні з чіпсетами Intel. Якщо є апаратне обладнання сторожових служб, знайдіть відповідне програмне забезпечення для встановлення таймеру для Windows та регулярно скидайте його до тих пір, поки машина не застигне. Якщо машина замерзне, програмне забезпечення більше не зможе скинути таймер, і сторожовий собака скине машину. Це має принаймні вирішити заморожування жорсткої системи.

Залежно від програмного забезпечення, можливо, ви зможете додати додаткові вимоги до скидання таймера, як-от підключення до мережі, процес візуалізації все ще запущений, процес рендерінгу досяг певного прогресу з моменту останнього скидання таймера або подібного. Я не знаю наявного програмного забезпечення в Windows, до цього часу я використовував лише сторожові собаки в Linux .


-1

Одне творче рішення описано тут

Хлопці вирішили подібну задачу двома ПК, стоячи один проти одного. Коли електронна пошта надійшла електронною поштою, комп'ютер відкрив (а потім закрив) трейлер компакт-диска, тому на іншому ПК натиснув кнопку скидання.

Звичайно, ви можете використовувати будь-що інше, що може отримати сигнал і перемістити будь-яку частину туди і назад (як, наприклад, сервопривід, підключений до чогось - паралельний порт старого ПК, GPIO від Rapsberry або Arduino, або просто все, що у вас є)


1
Весело читайте, але будь ласка, включіть важливі частини у свій пост - відповіді повинні бути максимально автономними.
Ben N
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.