メール通知を受け取った後、マシンを再起動する方法を探しています。
これを使用したい設定はレンダーファームです。 5つのボックスに8つのNvidia GTX 980Tiが入っています。彼らはWindows 10 Professional 64ビットを実行しています。
私たちが抱えている問題は、レンダリング中にそれらが時々フリーズまたは「ストール」することです。私はそれをセットアップしたので、これが発生すると、「xマシンが停止しました」というメールを受け取ります。
マシンのすべてを自動化しました。自動的にログインし、必要なプログラムを開き、ライセンスサーバーとの接続を開始し、必要なすべてのネットワークドライブをマッピングします。
基本的にあなたがしなければならないのはそれをオフにしてから再びオンにすることであり、それは再び機能します。
だから私が疑問に思っているのは、マシンが停止したというメールを受け取った後、マシンに再起動するように指示するプログラム、イベント、またはスクリプトを設定できるでしょうか。
これを実行するマシンは、Windows 7 Pro 64ビットを実行しています。
「リモート電源スイッチ」と呼ばれるデバイスが必要です。これは、職場でケーブルモデムをリモートで再起動するために使用したもので、以下のUIS-322bです。
IPアドレスを使用して設定し、次にログインして、接続されているデバイスの電源をオン、オフ、またはオフ/オンして、スケジュールに従って設定できます。電子メールでは制御できませんが、Webインターフェイスを介して制御できます。それでも、wget
またはcurl
を介して何かをリギングして、それにWebリクエストを自動的に送信することができます。それは私が知らない他の機能と制御の可能性を持っているかもしれません。
大量の電力を消費するレンダリングシステムを実行している場合、上記の特定のデバイスがそれらを処理できるかどうかはわかりませんが、他のデバイスで処理できる場合もあります。もう1つ探すことは、「制御可能な電源タップ」です。
それはあなたが何を意味するかによって異なります:
彼らはフリーズまたは「ストール」
「ハードリセット」を必要とする方法でリモートマシンがハングした場合、リモート再起動は機能しません。
そうは言っても、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).
実際のサーバーがある場合は、マシンのメインOSが完全にフリーズしている場合でも接続できるリモート管理機能を備えている可能性があります。通常、SSHを使用してコントローラーに接続します。発行される特定のコマンドは、サーバーのブランドによって異なります。
DRAC(Dell Remote Access Controller)を使用するDellサーバーの場合、DRACにSSH接続した後に実行するコマンドは次のとおりです。
racadm serveraction hardreset
これにより、ハードリセットが実行されます。これは、電源コードを外してマシンを再起動するのと同じです。マシンが完全にハングしていない場合は、powercycle
ではなくhardreset
が適切に機能する可能性があります。 ( 出典 )
HPサーバーはiLOを使用します。iLOはSSH経由でもアクセスできます。ハードリセットコマンドは次のとおりです。
reset hard
( ソース 、公式PDF iLOスクリプトへの参照。)
電子メールの受信を、DavidPostillの回答を使用してこれらのコマンドの実行に結び付けることができます。 Windows用のSSHクライアントがあります。 PuTTYにはコマンドラインインターフェイスがあると思います。
Outlookを使用します。
回答の下部にあるリンクには、この回答に役立つ情報があります。 GuidingTech.comへの称賛
最初に.batファイルを作成します。
shutdown.exe /r /t 00
Restart.batとして保存
通知メールを受け取ったメールでコンピュータがログインしていることを確認します。
必要に応じて、コンピュータごとに異なるアカウントを設定し、受信したメールを通知として転送するようにメールを設定できます。
例。
[email protected]は、レンダリングされていないグラフィックカードを備えたホストPCです。
Testemail.comは、通知を受信するメールです
電子メールを受信したら、Outlookで電子メールを対応する電子メールに自動転送します。この場合は[email protected]
[email protected]で受信した[email protected]は、その電子メールをすべてのコンピューターに転送します。
ここでのトリックは、各コンピューターに異なる通知メールをセットアップして、シャットダウンするコンピューターを認識させることです。
転送するルールを設定するには、次の 手順 に従い、再起動するPCに基づいて件名に単語を入力します。
注:これは、次に電子メールを受信するコンピュータをセットアップするためのものです。次に、個々のPCをセットアップします。
ステップ1。ここでMS Outlookを開きます。 [ホーム]タブで[ルール]に移動し、>メニューを展開します。 [ルールとアラートの管理]を選択します。
ステップ2。[ルールとアラート]ウィンドウで、[メール]> [ルール]タブの下にある新しいルールを選択します。
ステップ3。まず、受信したメッセージに適用ルールとしてテンプレートを選択します。次へをクリックします。
ステップ4.もう一度、転送される電子メールが表示されるコンピューターになる受信側で使用するルールを指定する必要があります。これは、指定したコンピュータを再起動するためのルールになります。
A。件名に特定の単語が含まれている-受信メールがより適切に識別されるようにするための別の制約。
B。本文に特定の単語が含まれている-場合によっては、主語だけが曖昧になることがあります。だからボディはそれをより洗練されたものにします。
それらを選択して次を押してください。
次に、再起動をトリガーするために電子メールで検索するものを指定します。
件名を選択した場合の例。
選択した単語がComputer1-RenderIssueであるとしましょう
それをに入力します "サブジェクトで検索する単語またはフレーズを指定してください"
これで、最後のステップを実行するためのセットアップが完了しました。
ステップ5。次に、メールが受信され、すべての条件が一致したときに適用されるアクションが続きます。起動アプリケーションを選択して削除します。
**注:**削除しない場合。コンピュータが再起動された場合、Outlookを開くとループ状態になります。
ステップ5aアプリケーションアクションを開始するには、リンクをクリックして、作成したファイルを選択しますRestart.bat[次へ]をクリックします。
ステップ5b次をクリック* "例外はありますか?"
ステップ6今後の参照のためにルールに名前を付け、オンにして、> [完了]をクリックします。
これで、指定されたコンピューターを使用して、いずれかのコンピューターに問題が発生すると、レンダリングメールが送信されます。これにより、電子メールがそのコンピューターに転送され、マシンが再起動します。
お役に立てれば。私の仕事をしている間に私がそれを可能な限り最高にフォーマットしようとしました。
サーバーを仮想マシンのクライアントとして実行することを検討しましたか?物理サーバーでVMソフトウェア(VMware、VirtualBox))を実行し、レンダリングソフトウェアをクライアントとして仮想マシンを実行します。マシンで他の処理が行われていない場合、同等のパフォーマンスが得られ、物理マシンよりも仮想マシンの停止と再起動が容易になります。
これらのマシンのメインボードにウォッチドッグタイマーが搭載されているかどうかを調査することをお勧めします。これらは少なくともIntelチップセットではかなり一般的だと思います。ウォッチドッグハードウェアが存在する場合は、適切なWindowsソフトウェアを見つけてタイマーを設定し、マシンがフリーズしていない限り定期的にリセットします。マシンがフリーズすると、ソフトウェアはタイマーをリセットできなくなり、ウォッチドッグがマシンをリセットします。これで、ハードシステムのフリーズが少なくとも解決するはずです。
ソフトウェアによっては、ネットワーク接続、レンダリングプロセスの実行中、前回のタイマーリセット以降のレンダリングプロセスの進行など、タイマーリセットの追加要件を追加できる場合があります。私はWindowsで利用可能なソフトウェアを知りません。これまで Linuxでウォッチドッグを使用 でした。