最近重新启动后,我有一对服务器现在无法监控它们的磁盘状态。纳吉奥斯报告:
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文档建议这是由kernel.grsecurity.disable_priv_io
但 sysctl 说密钥是未知的,我似乎也无法设置它。
有没有办法改变它以允许 hpacucli 访问 iopl() 而不必说重建到非 grsec 内核?
hpacucli
这些天 你不应该使用。正确的现代工具是
hpssacli
.此外,还有更有效的方法来检查硬件 RAID 控制器状态。您正在运行什么操作系统/发行版/版本?您是否安装了其他管理代理?
具有讽刺意味的是,这适用于我们的其他 HPraid 主机的原因是它们运行的是较新版本的 hpacucli,显然不使用 iopl()。在这些旧主机上升级 hpacucli 解决了这个问题。
如何选择性地允许 iopl() 的谜团仍然存在。也许再过一天。