電子メール通知に応じてコンピューターを再起動することは可能ですか?


29

メール通知を受け取った後、マシンを再起動する方法を探しています。

これを使用したいセットアップはレンダーファームです。5つのボックスに8つのNvidia GTX 980Tiが入っています。Windows 10 Professional 64ビットを実行しています。

私たちが抱えている問題は、レンダリング中にフリーズまたは「ストール」することがあるということです。設定しているので、これが発生すると、「x machine has stalled。」というメールが届きます。

マシン上のすべてを自動化しました。自動的にログインし、必要なプログラムを開き、ライセンスサーバーとの接続を開始し、必要なすべてのネットワークドライブをマップします。

基本的にあなたがしなければならないのは、それをオフにしてから再びオンにすることです。

マシンが停止したという電子メールを受信した後、マシンを再起動するように指示するプログラム、イベント、またはスクリプトを設定できますか?

これを実行するマシンは、Windows 7 Pro 64ビットを実行しています。


3
ストールの原因と頻度を知っていますか?多分コンピュータは、すべて一緒にストールを避け、毎日再起動させるためのより良い計画
Shaun07776

@ Shaun07776残念なことにそれは問題です、ランダムです、私はこの問題を解決しようとして使用している各ソフトウェアベンダーにログファイルの後にログファイルを送信しました。それが起こるので、私はそれを理解するまで私ができる限りすべてを自動化しようとしています。
RyanIG

23
なぜ失速を検出し、電子メールを送信するジョブを再起動するだけではいけないのですか?電子メールをトリガーにする必要があるのはなぜですか?
exussum

@exussum私たちが使用しているプログラムはDeadline 7.2と呼ばれ、これを行うことを意図しています、ソフトウェアがそれを行うように設定しましたが、何らかの理由で動作しません、プログラムはWebサービスを介してPythonスクリプトを許可しますが、そんなこともできません。
RyanIG

@RyanIG-好奇心から、特別な種類のシャットダウン手順が必要ですか、マシンが十分に反応しませんか?
-stefgosselin

回答:


44

「リモート電源スイッチ」と呼ばれるデバイスが必要です。職場でケーブルモデムをリモートで再起動するために使用したデバイスは、以下のUIS-322bです。

ここに画像の説明を入力してください

IPアドレスを使用してセットアップし、ログインして、接続されているデバイスの電源をオン、オフ、または電源を入れ直し、スケジュールに従って設定することができます。電子メールではなく、Webインターフェイスを介して制御できます。それでも、Webリクエストを介して、wgetまたはcurl自動的にWebリクエストを送信するために、何かをリグできます。私が知らない他の機能と制御の可能性があります。

大量の電力を消費するレンダリングシステムを実行している場合、上記の特定のデバイスがそれらを処理できるかどうかはわかりませんが、そうする他のデバイスがあるかもしれません。もう1つ探す必要があるのは、「制御可能な電源タップ」です。


15
基本的には、remoteluがデバイスのプラグを抜いてプラグインします。
ローレンス

1
データセンターでの使用向けに設計された同様のデバイスも存在します。これらは、ラックに取り付けられるように設計されており、さらに多くの出力ポートがあります。私が見たものはRS-232で制御されていました。これにより、多くのRS-232ポートを備えたユニットにそれらを取り付けて、この1つのユニットで、ラック全体の個々のサーバーのコンソールおよびリモートパワーサイクリングを削除できます。
カスペルド

1
一部のUPSはこの機能も提供できます。ケーブル(イーサネット、または「シリアルケーブル」)を介して接続するために、(HTTP、Telnet、または製造元がリリースしたソフトウェアを介して)UPSに接続できます。具体的な詳細は、個々のソリューションによって異なります。一部のUPSは、別途購入したアドオンカード(UPSに挿入)を使用する場合にのみこれをサポートします。UPSはバッテリーバックアップ機能も提供するため、LawrenceCが示しているデバイスよりも高価だと思います。ただし、余分な便利な機能が含まれているため、より高いコストでも許容される場合があります。
TOOGAM

1
「フェンシングエージェント」と呼ばれるRed Hat Cluster Suiteの一部であるソフトウェアは、「パワーフェンシング」デバイスとしてのKVMを含む、これらのデバイスを再起動するための抽象的なCLIインターフェースを提供します。それは私にとって有用でした。
ユーザー名なし

4
@RyanIGこれらのデバイスのいずれかを設定して、イーサネット経由でコマンドを取得しない限り、10分ごとにハードリセットを自動的に実行することができます。その後、コンピューターを独自の電源に接続し、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

実際のサーバーがある場合は、マシンのメインOSが完全にフリーズしていても接続できるリモート管理機能を備えている可能性があります。通常、SSHを使用してコントローラーに接続します。発行される特定のコマンドは、サーバーのブランドによって異なります。

DRAC(Dell Remote Access Controller)を使用するDellサーバーの場合、DRACにSSH接続した後に実行するコマンドは次のとおりです。

racadm serveraction hardreset

これにより、ハードリセットが実行されます。これは、電源コードを引き抜き、マシンを再起動するのと同じです。マシンが完全にハングしていない場合、powercycle代わりにhardreset仕事をするかもしれません。(ソース。

HPサーバーはiLOを使用します。これもSSH経由でアクセスできます。ハードリセットコマンドは次のとおりです。

reset hard

Source、iLOスクリプティングの公式PDFリファレンス。)

DavidPostillの回答を使用して、受信した電子メールをこれらのコマンドの実行に結び付けることができます。Windows用のSSHクライアントがあります。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は、レンダリングされていないグラフィックカードを備えたホストPCです。

Testemail.comは、通知を受け取るメールです。

電子メールを受信したら、Outlookで電子メールを対応する電子メールに自動転送します。この場合はComputer1@gmail.comです

Testemail@email.comで受信したComputer1@email.comは、そのメールをすべてのコンピューターに転送します。

ここでのトリックは、各コンピューターに異なる通知メールをセットアップして、シャットダウンする必要があるかどうかを判断することです。

転送するルールを設定するには、次の手順に従って、再起動するPCに基づいて件名に単語を入力します。

注:これはコンピューターをセットアップするためのもので、次に電子メールを受信します。次に、個々のPCをセットアップします。

手順1. MS Outlookを開きます。[ホーム]タブで、[ルール]に移動し、>メニューを展開します。[ルールとアラートの管理]を選択します。 ここに画像の説明を入力してください

手順2. [メール]> [ルール]タブの下にある[ルールと警告]ウィンドウの[新しいルール]をクリックします。 ここに画像の説明を入力してください

ステップ3.受信するメッセージにルールを適用としてテンプレートを選択することから始めます。次へをクリックします。 ここに画像の説明を入力してください

ステップ4.もう一度、受信側で使用するルールを指定する必要があります。これは、転送される電子メールが表示されるコンピューターになります。これは、指定したコンピューターを再起動するためのルールになります。

A.件名に特定の単語がある場合-受信メールがより適切に識別されるようにするための別の制約。

B.身体に特定の言葉がある場合-時々、主題のみがあいまいになることがあります。したがって、ボディはそれをより洗練させます。

それらを選択して、次にヒットします。

ここに画像の説明を入力してください

次に、再起動をトリガーするためにメールで検索する内容を指定します。

件名を選択した場合の例。

選択した単語はComputer1-RenderIssueだとしましょう

あなたにはそれを入力します「subhect内で検索する単語やフレーズを指定します」

これで、最終ステップを実行する時間を設定できました。

ステップ5.次に、電子メールが受信され、すべての条件が一致したときに適用されるアクションが実行されます。アプリケーションの起動を選択して削除します。 ここに画像の説明を入力してください

**注:**削除しない場合。Outlookが開いた場合、コンピューターを再起動するとループが発生します。

ステップ5aアプリケーションアクションを開始するには、リンクをクリックして、作成したファイルを選択します。Restart.bat [次へ]をクリックします。

ステップ5b [次へ]をクリックします*「例外はありますか?」

ステップ6将来の参照のためにルールに名前を付け、オンにして、> Finishをクリックします。

これで、指定したコンピューターで電子メールのレンダリングが送信されるときに、コンピューターの1つに問題が発生するたびに。これにより、そのコンピューターにメールが転送され、マシンが再起動します。

お役に立てれば。仕事をしながらできる限り最高のフォーマットにしようとしました。

いくつかの作業の参照はこちら


さて、デビッド、私はあなたが今世話をしている意味を理解しました。
NetworkKingPin

2
それははるかに良いです;)
DavidPostill

6

正直に言って、やりたいことが箱を(ハード)バウンスすることだけなら、最も簡単な方法は「リセットスイッチを押す」ことです。

HARDリセットを行う必要があるため、高電圧側を混乱させる(かなり危険)か、マザーボードでそれを行うことができます。

一部のハイエンドマザーボードには、PCをバウンスするためのネットワークカード/コントローラーが組み込まれています。ただし、リセットスイッチをリレーボードに配線し、別のマシンを使用してそれを制御することもできます。

Raspberry PiをGPIO経由でリレーボードに接続することをお勧めします。次に、各リレーをマザーボードのリセットスイッチに接続します。

ラズベリーパイ2

Raspberry Pi Relay HAT


3

サーバーを仮想マシン上のクライアントとして実行することを検討しましたか?物理サーバーでVMソフトウェア(VMware、VirtualBox)を実行してから、レンダリングソフトウェアをクライアントとして仮想マシンを実行します。マシン上で他の処理が行われていない場合、同等のパフォーマンスが得られるはずであり、物理マシンよりも仮想マシンを停止および再起動する方が簡単です。


3
仮想マシンの概念をどこに適用するかは知っていますが、同等のパフォーマンスについてのあなたの声明はあまり意味がありません。
しゃれ

どうして?基本的には、物理​​サーバーをVMでラップし、同じハードウェアで実行するだけです。複数のVMを実行しようとしているわけではありません。2009年のこのペーパーによると「今年のVMwareまたはXenテクノロジー、Intel Nehalems、Shanghai Opterons、および新しいi / oアダプターを使用している場合、仮想化はほとんどのパフォーマンスの問題を解決します。」それ以来、仮想化が大きく後退したとは思いません。
TMN

1
言及するのを忘れていました:これはレンダリングファームであるため、ほとんどの作業はグラフィックカードによって行われ、VMでホストを実行してもパフォーマンスは低下しません。
TMN

1
GPUへのVMアクセスはトリッキー(非常にVM固有、非常にカード固有、サポートされている場合)になる可能性があるため、動作することを確認してください。
トッドカウフマン

1

これらのマシンのメインボードにウォッチドッグタイマーが搭載されているかどうかを調査することをお勧めします。これらは少なくともIntelチップセットではかなり一般的だと思います。ウォッチドッグハードウェアが存在する場合は、適切なWindowsソフトウェアを見つけてタイマーを設定し、マシンが凍結していない限り定期的にリセットします。マシンがフリーズすると、ソフトウェアはタイマーをリセットできなくなり、ウォッチドッグはマシンをリセットします。これにより、少なくともハードシステムのフリーズが解決されるはずです。

ソフトウェアによっては、ネットワーク接続、実行中のレンダリングプロセス、最後のタイマーリセット以降のレンダリングプロセスの進行など、タイマーリセットの要件を追加できる場合があります。Windowsで利用可能なソフトウェアがわからないので、これまでLinuxでウォッチドッグしか使用していません。


-1

1つの創造的なソリューションをここで説明します

2人のPCが互いに敵対することで、少年たちは同様の問題を解決しました。電子メールが届くと、コンピューターはCDトレーラーを開いた(そして閉じた)ため、他のPCのリセットボタンを押しました。

もちろん、他のものを使用することができ、信号を送ってそこに戻ったり移動したりすることができます(サーボを何かに接続する-古いPCのパラレルポート、RapsberryのGPIO、またはArduino、またはその他の周辺機器)


1
読むのは楽しいですが、投稿に重要な部分を含めてください-答えは可能な限り自己完結している必要があります。
ベンN
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.