最近再起動した後、ディスクの状態を監視できないサーバーのペアがあります。 Nagiosのレポート:
HP RAID Array
UNKNOWN Error: No controllers detected. -/-/- (LD : [])
ホストで手動でチェックを実行すると、同じエラーが発生します。その場合、手動でチェックを実行すると、カーネルログに次のように表示されます。
Apr 8 17:00:00 www.example.org kernel: [12345.000000] grsec:
From 10.11.12.13: denied use of iopl() by /opt/hp/hpacucli
/hpacucli.bin[hpacucli.bin:666] uid/euid:0/0 gid/egid:0/0, parent
/bin/bash[bash:777] uid/euid:0/0 gid/egid:0/]
hpacucliは、ハードウェアRAIDコントローラーと対話し、ディスクステータスなどを収集するために使用されるツールです。 iopl()を使用するのは当然のことです。 grsec docs は、これがkernel.grsecurity.disable_priv_io
によって管理されていることを示唆していますが、sysctlはキーが不明であると言っており、私もそれを設定できないようです。
これを変更して、非grsecカーネルに再構築せずにhpacucliがiopl()にアクセスできるようにする方法はありますか?
最近はhpacucli
を使用するべきではありません。
正しい最新のツールはhpssacli
です。
また、ハードウェアRAIDコントローラーのステータスを確認するためのより効率的な方法があります。どのOS /ディストリビューション/バージョンを実行していますか?他の管理エージェントがインストールされていますか?
皮肉なことに、これが他のHPraidホストで機能する理由は、明らかにiopl()を使用しない新しいバージョンのhpacucliを実行しているためです。これらの古いホストでhpacucliをアップグレードすると、問題が解決しました。
Iopl()を選択的に許可する方法の謎は残っています。おそらく別の日のために。