ホーム » 「UPS」タグがついた投稿

タグアーカイブ: UPS

システム

最近の投稿

アーカイブ

カテゴリー

UPS交換(Linux 7.0による警告対策)

UPSが大量の警告

Ubuntu 26.04 の導入により Linux の Kernel も linux-image-7.0.0-14-generic になったが、移行後の Load Average が高い。

原因を調べると(後述)、apcupsd で kernel が以下の警告を毎秒くらいの頻度で出ている。APC ES 750 を使っているけど、4byte の返答があるはずなのに2byteしか返ってこないという内容らしい。このため、syslog のファイル出力でシステム負荷が 0.4 ほどに上がっている。

4月 24 23:05:29 ... kernel: hid-generic ...
   :Event data for report 22 was too short (4 vs 2)

以前の Kernel なら、同様のエラーはでていたのかもしれないが、syslog に警告を記録していなかったから、問題にはならなかった。Kernel が 7.0 になり、この辺の対応がきちんとするようになったのが原因のようだ。

しかたがないので、syslog でこのメッセージを記録しないように設定したけど、それでも 負荷が 0.2 ほどになる。

以前の Kernel なら、0.1 程度だったので、 なんとなくヤな感じ。

負荷の原因の見つけ方

今回、UPS の原因を見つけるにあたり、Gemini を活用しまくり。top の出力を Gemini にかけて、pidstat, vmstat などの結果を確認して…の繰り返し。

$ top
$ htop               # あまり重い処理がみつからない
$ sudo pidstat 2 5   # 2秒おきの集計を5回表示
$ sudo vmstat 1 5    # 負荷の原因が、計算かディスク待ちか
$ sudo iotop -o      # どのプロセスが入出力しているか
                     # ここで、systemd-jounald が原因というのが判明
$ sudo journalctl -f # Syslog を確認
                     # ここで、UPS のログが見つかる

UPSのエラー対策

UPS のエラー警告だけど、UPS の状況を確認すると、apcaccess コマンドの結果が、「ONLINE:つながってるけど NOBATT:バッテリーがつながっていない」との出力がでている。充電電圧も出力されていてバッテリーは動いているはずなのに…。Gemini に聞いても「UPS のよくある故障だし、Syslog を無視するようにして問題なく、他の機能が正しく動いているなら無視していい」とのアドバイス。

$ apcaccess
:
STARTTIME: 2026-04-24 17:54:04 +0900
MODEL    : APC ES 750G
STATUS   : ONLINE NOBATT

Syslog をフィルタリングしてディスクI/Oが改善しているとはいえ、以前より負荷が高い状態は気持ち悪いので、USPを交換した際の予備(バッテリー交換済み APC ES 550)があったので、元に戻した。

交換したら、UPS の警告は出なくなり、Syslog フィルタリング処理も不要になって、負荷も 0.1 程度に落ち着いたので、これで良し!!

APC UPSのバッテリ交換

以前よりUPSのバッテリーの問題でサーバが落ちるので、だまし運用もあきらめてバッテリーを交換した。純正だと7000円ほどだけど、Amazonで3000円の互換品を発注。交換後に、電源ボタンを押してもピーピー音が鳴って起動しないので、充電不足かと思い数時間待ったけどダメ。マニュアルを確認したら赤LED点滅のピーピーは、バッテリーがつながっていないとの説明がある。ふたを開けて確認したら、差し込み不足だったのか黒線が抜けてた。

$ sudo systemctl stop apcupsd
$ sudo apctest
:
4)  View/Change battery date
:
Select function number: 4
Current battery date: 09/12/2020
Enter new battery date (MM/DD/YYYY), blank to quit: 01/23/2021

サーバの電源トラブル

朝、UPS がピーピー鳴って、サーバの電源が落ちた。

電子レンジにコーヒーサーバが重なると、ブレーカーが落ちる前に UPS が反応することがある。

我が家では、サーバが DHCP サーバとなっているから、ルータなどが生きていても、ネットワークが一切使えなくなる。

UPS の劣化などを疑うけど、更新は2017年1月なので、バッテリー状態も最悪なほどでもないはず。

apcupsdによる電源停止は正しく動作

UPS が再び正常に通電できるまで、少し手間取ったけど、復旧後に状態を確認。サーバが死ぬ前にシャットダウンを開始し、正常に電源停止が出来ている。

# grep apcupsd /var/log/syslog
Jan 11 08:59:30 perrine apcupsd[823]: Power failure.
Jan 11 08:59:36 perrine apcupsd[823]: Running on UPS batteries.
Jan 11 08:59:42 perrine apcupsd[823]: Reached run time limit on batteries.
Jan 11 08:59:42 perrine apcupsd[823]: Initiating system shutdown!
Jan 11 08:59:42 perrine apcupsd[823]: apcupsd exiting, signal 15

apcupsd-cgi をインストール

UPS の状態を確認するが、電源電圧が朝の起床に合わせて95[V]を下回っている

しかし、munin では、サンプリング感覚が5分なので、落ちる瞬間にどういう状態になっているのか確認したい。ひとまず、apcupsd を CGI から表示するパッケージが出ているので、それをインストール。

apcupsd/apccontrol

apcupsd の設定ファイルを見ていると、/etc/apcupsd/apccontrol というスクリプトから、状態に応じて様々な警告が出ている。電源が UPS の電源に切り替わる時には onbattery スクリプトから、管理者宛にメールを出している。改めてメールを確認すると、

perrine UPS perrine Power Failure !!!
 
DATE     : 2020-01-11 08:59:35 +0900  
HOSTNAME : perrine
VERSION  : 3.14.14 (31 May 2016) debian
UPSNAME  : perrine
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2019-12-30 16:18:32 +0900  
MODEL    : APC ES 550G 
STATUS   : ONBATT 
LINEV    : 88.0 Volts
LOADPCT  : 23.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 19.7 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 5 Seconds
SENSE    : Low

落ちる瞬間の電圧は、88[V] 。ちょうど、ママの朝トーストとバリスタのスイッチを入れていたあたりだな。

どちらにしろ、onbattery スクリプト起動から、killpower 開始まで若干の15秒ほどの時間があるし、メールだけでなく google-home-notifier を使って、電源異常を喋らせるようにしてみた。

寒くて、朝、電気を使いすぎ

今朝、自宅サーバが落ちている。んで、UPS がピーピー鳴ってる。
確認したら、サーバは UPS の電圧低下で、自動シャットダウン。 立ち上げて確認したら、電源電圧が 95[V] にまで下がってる。 こりゃ、UPS ピーピーなるわな。
朝、寒くてエアコンが、居間,子供部屋でかかり、トーストやら ポットやらと朝食準備で電気利用が重なっているんだろうな。

後で、UPSDのメールを見たら、瞬間 91[V] まで下がってた。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報