web-dev-qa-db-ja.com

主電源が回復したときにUPSをシャットダウンした後にサーバーをウェイクする方法

APC UPSに接続されているLinuxサーバーがいくつかあります。それらはUSBを介してUPSに接続され、UPSが主電源が失われ、一定時間後に復帰しないという信号を送信した場合にシャットダウンするように構成されています。これはうまくいきます。さらに、これらはジャンパーを介して構成され、電源が失われた場合に自動的に電源が入り、その後復帰します。これもうまくいきます。

問題の原因となっているシナリオは、主電源が失われ、サーバーがシャットダウンしたが、UPSがなくなる前に主電源が復旧した場合です。その場合、サーバーを再起動したいのですが、UPS後に電源が実際に失われることはないので、サーバーは電源復帰イベントを認識せず、電源が入りません。

主電源の事前UPSに接続し、電源復帰状態を検知し、おそらくウェイクオンラン経由でウェイクアップ信号を送信して、主電源が誰かに復帰したら事前に構成されたサーバーにウェイクアップするデバイスが存在することを願っています私を指すことができます。

別の提案もありがたいです。私ができないことは、サーバーハードウェアを交換することだけです。できれば、同じUPSを使い続けたいと思います。

16
bk.

UPSを使用するときに実装される一般的なシナリオは次のとおりです。

  1. UPSは停電時に、接続されているシステムのソフトウェアコンポーネントに通知します。
  2. 電源が失われた時間がn秒を超えると、UPSドライバーはUPSに通知し、システムを停止します電源を切らずに(これは重要です)。
  3. UPSはシステムが停止するまでm秒待機し、電源を切ります。
  4. 電源が回復し、UPSバッテリーが最小値を超えて充電されると(マシンの起動直後に電力が失われた場合に備えて、電源オンと完全なシャットダウンをサポートできるように)、UPSはシステムへの電力を回復します。
  5. システムは、(BIOS/UEFIレベルで)電源が切れる前に電源が投入されたことに気づき、起動します。

ほとんどのサーバーBIOSでは、システムが停電前の状態に戻るように設定できます。つまり、サーバーの電源が切れて電源が失われた場合、電源を入れた後もサーバーの電源は切れたままになります。一方、電源が入っている場合は、電源が切れたときにACがオンになったときに電源が入ります復元されました。

BillThorによって言及されたNUTは、このシナリオを実現できるはずです。

14
Paweł Brodacki

この問題は、メインのUPSに接続された1つの小さなLinuxボックス(Asus wl deluxeまたはsmth)を使用して解決し、電源が回復するとすぐに復帰しました。起動スクリプトには、電源ステータス(アップ/ダウン)の変動を回避するための5分の遅延が含まれ、すべてのサーバー(すべてのw2k3、1つのLinux)をWOLし、ステータスをSMSで通知します。

9
migabi

多くの提案を読んだ後、良い解決策は、エネルギーに直接接続された古いコンピューター(電力消費を気にしない場合)またはある種のRaspberry Piを使用することだと思います。

したがって、電源が入ると、1つのスクリプトがサーバーがオンになっているかどうかを確認し、オンになっていない場合はネットワーク経由でOWLを送信します。

このような場合、私は NUT(Network UPS Tool) を使用します。 UPSを監視するには、Unix/Linuxベースのサーバーが必要です。シャットダウンが開始されると、UPSの電源が再投入されます。これにより、電源が回復したときにサーバーが再起動した場合にサーバーが再起動します。

Windowsサーバー用のクライアントがあるため、きれいにシャットダウンできます。

3
BillThor

UPSシャットダウン時間信号を介してシャットダウンがトリガーされた場合、BIOSに電源投入時間を設定する可能性がある場合、シャットダウン後50分に設定できます。

したがって、あなたのシナリオでは、サーバーは50m +ブート+シャットダウン時間の最新の後に再び実行されます。

1
Nils