【CentOS7】電源管理してみる

 

停電などで電力が急激に低下すると、サーバに電力が供給されなくなり異常停止してしまいます。

その現象を防ぐために、電源とサーバの間に無停電電源装置(UPS)を設置するのが一般的です。

 

UPSをかませば、サーバに「電力が急激に低下しました!」ということを知らせることができ、

「落ち着いてサービスを順番に正常終了させてシャットダウンしていこー」となるわけです。

 

しかし、UPSをかますだけでは不十分で、

UPSからの信号を受け取ったり、シャットダウンを行うトリガーを発動するためのデーモンを

サーバ側で設定してあげる必要があります。

 

CentOS7では、APC製のUPSを制御できるモジュール が epelレポジトリ に準備されており、

そのモジュールを導入することで対応可能となっています。

モジュール名 : apcupsd

 

APC製のUPS と サーバ の通信は、 シリアルケーブル(または、USBケーブル) を用います。

 

今回紹介する記事では、CentOS7 に apcupsd の導入し、

シリアルケーブルで制御していく方法となります。

 

 

apcupsd のインストール

apcupsdはepelレポジトリで管理されているので、まず epelレポジトリを導入します。

上記で、epelレポジトリの導入完了です。

その後、apcupsdをインストールするだけです。

 

サーバとAPC製のUPSをシリアルケーブルで接続

付属のシリアルケーブルをサーバと接続します。

 

サーバ通信の設定 と 停電検知後の設定

シリアル通信で受け取れるように設定を行うのと、停電検知後の処理について設定します。

 

 復帰条件の設定

復帰条件の確認は、UPS側に設定します。

 

apctestコマンドを使用すれば、UPS側の現在の設定値を確認したり変更できます。

※apcupsdが動作中だとapctestコマンドが正常に動作しません。

“Doing prep_device() …” と表示して、 1) から Q) までの選択肢が出たら、

UPSと接続できたということです。設定等が間違っている場合、数十秒後にエラー終了します。

 

4.5分(450秒)後にUPS本体シャットダウンするように設定し、

バッテリ残量割合が75%以上になったら、6分(360秒)後に復帰するように設定する場合は、

8) Change shutdown delay         → 450

11) Change battery return threshold percent   → 75

7) Change wakeup delay           → 360

とします。設定後は、Q) を選んで、apctestコマンドを終了させます。

 

設定確認

最後に、設定確認を行います。

確認方法はいたって簡単♪ apcupdを起動させて、UPSのコンセントを抜くだけです。

これで、擬似的に停電状態にすることができます。設定どおりの動作をすればOKです!

 

サービスの自動起動設定

設定通りの動作が確認できれば、最後に サービス自動起動設定を行います。

 

これで、終わり!

The following two tabs change content below.
足立 征士

足立 征士

株式会社マンタ システムエンジニア。主にサーバに関する技術ブログ記事を担当しています。
足立 征士

最新記事 by 足立 征士 (全て見る)