2013-06-04

HP SPP makes system slow

暫く前に HP サーバーをセットアップした時のこと。

  • Proliant DL380e
  • RHEL5.9
  • HP Service Pack for ProLiant (2013.02.0)

SPP (Service Pack for ProLiant)をインストールした途端、サーバーに断続的な負荷が掛かるようになった。

# top
top - 18:43:29 up  2:31,  3 users,  load average: 0.36, 0.37, 0.30
Tasks: 183 total,   2 running, 181 sleeping,   0 stopped,   0 zombie
Cpu0  : 41.9%us,  1.0%sy,  0.0%ni, 57.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  : 23.0%us,  1.0%sy,  0.0%ni, 76.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  7.6%us,  0.3%sy,  0.0%ni, 92.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  : 25.2%us,  0.7%sy,  0.0%ni, 74.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   7992008k total,   576248k used,  7415760k free,    33204k buffers
Swap: 10482404k total,        0k used, 10482404k free,   262040k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 9695 root      23   0  6600 1252  396 R  2.3  0.0   0:00.07 lsusb
30295 root      15   0 12764 1184  840 R  0.3  0.0   0:03.24 top
    1 root      18   0 10372  684  580 S  0.0  0.0   0:01.04 init
<...snip...>
# pstree -ap
<...snip...>
  |-cmastdeqd,4029 -p 30 -l /var/log/hp-snmp-agents/cma.log
  |   `-sh,9806 -c /opt/hp/hp-snmp-agents/utils/usb-device.sh\0402>/dev/null
  |       `-sh,9807 -c /opt/hp/hp-snmp-agents/utils/usb-device.sh\0402>/dev/null
  |           `-sh,9862 -c /opt/hp/hp-snmp-agents/utils/usb-device.sh\0402>/dev/null
  |               |-grep,9864 bInterfaceSubClass
  |               |-lsusb,9863 -v -s 002 002
  |               `-sed,9865 -e s/^\040*bInterfaceSubClass\040\+[0-9]\+\040//
# sar | tail -n 5
18:10:01          all      6.04      0.00      0.40      0.00      0.00     93.56
18:20:01          all      8.40      0.01      0.47      0.00      0.00     91.12
18:30:01          all      8.65      0.00      0.47      0.00      0.00     90.88
18:40:01          all      8.81      0.00      0.48      0.00      0.00     90.71
Average:          all      3.90      0.00      0.34      0.00      0.00     95.76

cmastdeqd が数十秒毎に lsusb を大量に実行するのが原因。lsusb 単発は微々たるものだが、全体では相当な負荷になっていて、USB キーボードを使っていたりすると酷い目に遭う。文字が入らなかったり、一度に何文字も入ったり。特にシャドウパスワードが最悪(何が入ったか見えないの)で、まともにログインすらできない。

USB HDD の取り外しを検出するのが目的らしいが、USB HDD なんて付けるつもりはないし、例え付けたとしてもこんなものは速攻で無効にすべき。

ところが、cmastdeqd の自動起動を off にすると、あろうことかサーバーが起動しなくなった。どうやら cmastdeqd を見ている別のサービスがあって、cmastdeqd が起動するまで 永遠に 待ち続けるらしい。全く、何というクソ実装。

仕方がないので、usb-device.sh (lsusb の呼び出し元)の方を無効にすることにした。

# pwd
/opt/hp/hp-snmp-agents/utils
# cp -p usb-device.sh usb-device.sh.orig
# echo : >usb-device.sh

結果、

# sar | tail -n 10
18:10:01          all      6.04      0.00      0.40      0.00      0.00     93.56
18:20:01          all      8.40      0.01      0.47      0.00      0.00     91.12
18:30:01          all      8.65      0.00      0.47      0.00      0.00     90.88
18:40:01          all      8.81      0.00      0.48      0.00      0.00     90.71
18:50:01          all      8.80      0.00      0.47      0.00      0.00     90.73
19:00:01          all      2.16      0.00      0.29      0.00      0.00     97.55
19:10:01          all      0.17      0.00      0.24      0.00      0.00     99.59
19:20:01          all      0.17      0.01      0.23      0.00      0.00     99.59
19:30:01          all      0.17      0.00      0.24      0.00      0.00     99.59
Average:          all      3.48      0.00      0.32      0.00      0.00     96.19

今回の件で、SPP はロクな品質でないことを確信した。私はこれにハマる前に別の地雷を踏んでいるから、そう断言できる。以下はその体験談。

  • サーバーのファームウェアをオンラインアップデートできるらしいので、やってみる。
  • アップデートのチェックに「数分かかるかも」と出る。
  • 実際は、百個程度の項目を 1 個ずつサイトへ接続してチェックするので、最短でも十数分は掛かる。
  • サイトが重いのか、チェックに時間が掛かったり、止まったりする。
  • タイムアウト・リトライ処理がないらしく、一度止まると永遠に止まる → リセット。
  • マグレでチェック処理が終わったので、先に進む。
  • 途中、前の画面はどうだったっけ?と「戻る」ボタンを押してみる。
  • 「前の画面」ではなく、全てが無かったことにされて一番最初のメニューまで戻される。
  • 気を取り直して、メニューから再びアップデート。
  • データにゴミが残っているらしく、エラーで先に進めず → リセット。
  • 再びマグレでチェックが終わり、今度は絶対に「戻る」なんて押すもんか、と心に誓って先へ進む。
  • 最後、アップデートの実行ボタンを押す。wktk
  • メッセージも何もない空白のダイアログが出て止まる → 呆然 → リセット。
  • 再びマグレで最後まで進み実行ボタンを押す → 当たり前のように空白ダイアログが出て止まる → give up。
  • その後、SPP DVD をダウンロードすればオフラインでアップデートできることを知る。
  • 実際、それでサクッと完了。オレの 1 日を返せ。

今まで触ったソフトウェアで、これほど殺意を覚えたのは初めてかも知れない。どうせ他の部分も似たような品質に違いない。永遠に止まるところなど、作った人が同じか、同じレベルであることを物語っている。

この様なものを見せられては、正直もう HP サーバーは使いたくない。本当は SPP もインストールしたくなかったが、デバイスドライバー系があるので、入れない訳にもいかないのが歯痒いところ。