UPSシグナリングはAIサーバーの安全なシャットダウンをどのように調整するのか?

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

UPSシグナリングは、バッテリーの状態を順序立てたシーケンスに変換し、蓄積エネルギーが尽きる前に処理を停止することで、安全なAIシャットダウンを調整します。

商用電源が失われたとき、家庭用AIサーバーでは、埋め込みの書き込み、ベクトルインデックスの更新、カメラ映像の記録、モデル状態の保持が同時に行われている可能性があります。UPSはバッテリー駆動中やバッテリー低下の状態を報告しますが、それらの信号をシャットダウンイベントに変えるタイミングはポリシーによって決まります。アプリケーションが静止し、ファイルシステムがコミットを完了し、ホストが停止し、UPSが負荷を切断できるだけの稼働時間を残しておく必要があります。

電源状態がシャットダウンの判断になる

UPSは、USB、シリアル、またはネットワークエージェントを通じて、商用電源の状態、バッテリー残量、推定稼働時間、バッテリー低下状態を公開します。監視ソフトウェアは、これらの値と設定されたしきい値を組み合わせ、短時間の停電なら乗り切り、停電が続いた場合は正常なシャットダウンを開始します。

Network UPS Toolsのドキュメントでは、クリティカル状態または強制シャットダウン状態になると、プライマリが電源を切断する前にセカンダリシステムへ切断とシャットダウンを指示する方法が説明されています。この信号はホスト間の調整を行いますが、どのAIジョブやストレージトランザクションを安全に中断できるかを自ら判断するものではありません。

稼働時間の推定値は、負荷、バッテリーの経年、温度、キャリブレーションによって変化します。そのため保守的なポリシーでは、表示されたバッテリー残量がゼロに近づくまで待つのではなく、時間的な余裕を確保します。この違いは、後の家庭環境でのテストでも確認できます。

サービスの停止順序によって、ストレージ停止前にAI処理を排出する

オペレーティングシステムはまず、新しい推論、インデックス作成、エージェント要求をブロックまたは拒否し、続いて実行中のサービスに、設定されたタイムアウト内で処理を完了するかチェックポイントを作成するよう要求します。データベースとベクトルストアは、基盤となるファイルシステムのマウントを解除する前に、ジャーナルとメタデータをフラッシュします。

NUTの協調シャットダウンシーケンスは、強制シャットダウンフラグをセカンダリホストへ伝播し、セカンダリホストが切断するまで待機してから、ローカルのシャットダウンコマンドを実行します。NASが複数のコンピュートノードにモデルやインデックスを提供している場合、この順序が重要になります。

GPU上のモデルは通常、破棄して再読み込みできますが、進行中のインデックスコミットやデータベーストランザクションは、復旧可能性を左右する場合があります。シャットダウンの順序では、残りのバッテリーで再生成可能な処理を完了させるよりも、信頼できる状態を優先すべきです。

ホストの停止とUPSの負荷切断は、異なる障害ウィンドウを閉じる

オペレーティングシステムの停止はソフトウェアを停止してストレージを同期しますが、UPSがコンセントの電源を切るまで、接続されたハードウェアには電力が供給され続ける可能性があります。負荷切断により、消耗したバッテリーが停止途中のサーバーを支えきれなくなる事態を防ぎ、商用電源が復旧した際に制御された再起動を可能にします。

NUTでは、プライマリがFSD調整を設定し、監視対象のすべてのセカンダリが、その状態をバッテリー駆動中かつバッテリー低下の状態として扱うようにします。クライアントがシャットダウンした後にのみ、プライマリは電源切断を完了するコマンドを実行します。自動化を進める前に、中間結果を検査できる状態にしておく必要があります。

障害の境界となるのは、通信の喪失、不正確な稼働時間の推定、または残りのエネルギーを超えるサービスのタイムアウトです。信号の到着が遅れたり、デーモンに到達できなかったり、シャットダウンの依存関係がデッドロックしたりすると、UPSは未コミットの状態を保護できません。

バッテリーから電源オフまでの全タイムラインをリハーサルする

商用電源の喪失、バッテリー駆動の検出、シャットダウンしきい値、要求受付の停止、ジョブの排出、データベースのコミット、ファイルシステムの同期、ホストの停止、UPSの負荷切断、再起動可能状態を、1つの単調増加するタイムラインに記録します。この境界は、現実的な運用条件で個別に測定する必要があります。

ストレージのチェックポイントを協調チェックポイントと関連付けます。短時間の停電、しきい値の超過、到達不能なセカンダリ、停止しないAIワーカー、タイムアウトの使い切り、シャットダウン中の商用電源復旧、負荷切断後のコールド再起動をテストします。複数のソースが限られたコンテキストを奪い合うとき、その実際の影響が現れます。

永続状態が正常に復旧し、最も遅いシャットダウン後にもUPSが測定済みの余裕を維持できた場合にのみ合格とします。本番ポリシーにおける最小予備時間は、名目上のバッテリー残量ではなく、リハーサルに要した時間として扱います。この依存関係は、最終インターフェースでも明示したままにする必要があります。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.