是否有人使用过 HP 阵列配置实用程序命令行界面 (hpacucli.exe) 将物理磁盘信息放入文件中?
我现在不在机器旁,但基本上我想找出服务器中每个物理磁盘的状态,即良好、故障、预测故障、重建、丢失等。
我想从脚本运行它,因此我正在寻找可以通过管道传输到文件的单个(或一组)命令。
答案1
我最喜欢的例子:
这可以从 shell 或在工具内运行。
hpacucli ctrl all show config
(Windows 系统请使用 hpacucli.exe)
或者
hpacucli ctrl all show config detail
但是,如果您安装了 HP Management Agents,则应该可以实时监控 RAID 状态,并将其发送至电子邮件警报或外部监控系统。无论哪种方式,这都可以生成时间点输出/状态。
[root@Bootylicious ~]# hpacucli ctrl all show config
Smart Array P410i in Slot 0 (Embedded) (sn: 50123456789ABCDE)
array A (SAS, Unused Space: 0 MB)
logicaldrive 1 (1.6 TB, RAID 1+0, OK)
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 600.1 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 600.1 GB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 600.1 GB, OK)
physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 600.1 GB, OK)
physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 600.1 GB, OK)
physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 600.1 GB, OK)
答案2
我知道您的主机使用的是 Windows 操作系统。请查看 Linux 版 hpacucli 的有用命令列表。无论如何,您可能会发现其中一些命令很有用。
sudo /usr/sbin/hpacucli controller all show status
/usr/sbin/hpacucli ctrl slot=1 pd all show detail|grep -i -P '.*(physicaldrive|Firmware|Status).*'
sudo /usr/sbin/hpacucli ctrl all show
sudo /usr/sbin/hpacucli ctrl slot=5 pd all show
显示磁盘物理信息
for I in `sudo /usr/sbin/hpacucli ctrl all show | awk '{ print $6 }'`; do sudo /usr/sbin/hpacucli ctrl slot=$I pd all show; done
显示磁盘逻辑信息
for I in `sudo /usr/sbin/hpacucli ctrl all show | awk '{ print $6 }'`; do sudo /usr/sbin/hpacucli ctrl slot=$I pd all show; done
BBU 控制器信息
for I in `sudo /usr/sbin/hpacucli ctrl all show | awk '{ print $6 }'`; do sudo /usr/sbin/hpacucli ctrl slot=$I show detail; done
打开磁盘 ID 灯
sudo /usr/sbin/hpacucli ctrl slot=4 pd 1E:1:13 modify led=on
其他 ...
for I in `sudo /usr/sbin/hpacucli ctrl all show | awk '{ print $6 }'`; do sudo /usr/sbin/hpacucli ctrl slot=$I show; done
sudo /usr/sbin/hpacucli ctrl slot=4 pd 1E:1:13 show
for I in `sudo /usr/sbin/hpacucli ctrl all show | awk '{ print $6 }'`; do sudo /usr/sbin/hpacucli ctrl slot=$I show detail|grep -i -P '.*(physicaldrive|Firmware|Status).*'; done
答案3
已经存在可以执行此操作的监控脚本(例如 Nagios)。
其工作原理如下(相应地调整控制器 ID):
hpacucli.exe ctrl all show
Smart Array XXX in Slot 2 (sn: XXXXXXXXXXXX)
hpacucli.exe controller slot=2 physicaldrive all show status
physicaldrive 1:0 (port 1:id 0, X GB): OK
physicaldrive 1:1 (port 1:id 1, X GB): OK
physicaldrive 1:2 (port 1:id 2, X GB): OK
physicaldrive 1:3 (port 1:id 3, X GB): OK
physicaldrive 1:4 (port 1:id 4, X GB): OK
physicaldrive 1:5 (port 1:id 5, X GB): OK
hpacucli.exe controller slot=2 logicaldrive all show status
logicaldrive 1 (X GB, RAID 5): OK
logicaldrive 2 (X GB, RAID 5): OK