我正在用 golang 创建一个工具来解析大约 150 台 HPE DL360 Gen 10 服务器返回的 XML,然后将其发送到 ElasticSearch。但是,我发现数据存在差异,具体取决于我获取数据的方法。
测试服务器有 2 个 120GB SSD RAID1海湾 1&海湾 2以及 2 个未配置的磁盘海湾 3&湾 4。从 Web GUI 中,所有磁盘均可在“物理视图”下看到 - 太棒了!
Web 图形用户界面:
- Physical Drive in Port 1I Bay 1
Status OK
Serial Number CVLT7461007W120GGN
Model INTEL SSDSC2KW12
Media Type SSD
Capacity 120 GB
Location Port 1I Bay 1
Firmware Version LSF042C
Drive Configuration Configured
Encryption Status Not Encrypted
Power On Hours 261
Estimated Life Remaining Based on Workload to Date 1,077 Days
Life Remaining
99%
- Physical Drive in Port 1I Bay 2
Status OK
Serial Number CVLT7395028Q120GGN
Model INTEL SSDSC2KW12
Media Type SSD
Capacity 120 GB
Location Port 1I Bay 2
Firmware Version LSF042C
Drive Configuration Configured
Encryption Status Not Encrypted
Power On Hours 597
Estimated Life Remaining Based on Workload to Date 2,463 Days
Life Remaining
99%
- Physical Drive in Port 1I Bay 3
Status OK
Serial Number WGS6JRHL
Model ST1000LM049-2GH1
Media Type HDD
Capacity 1000 GB
Location Port 1I Bay 3
Firmware Version SDM1
Drive Configuration Unconfigured
Encryption Status Not Encrypted
- Physical Drive in Port 1I Bay 4
Status OK
Serial Number CVLT6286067J120GGN
Model INTEL SSDSC2KW12
Media Type SSD
Capacity 120 GB
Location Port 1I Bay 4
Firmware Version LSF042C
Drive Configuration Unconfigured
Encryption Status Not Encrypted
Power On Hours 399
Estimated Life Remaining Based on Workload to Date 1,646 Days
Life Remaining
99%
但是,如果我尝试使用 locfg 实用程序获取相同的数据,我只能获取属于逻辑卷(“已配置”)的磁盘的数据:
/usr/bin/perl locfg.pl -s [IP] -f Get_EmHealth.xml -u [用户] -p [密码] ilo5
Get_EmHealth.xml 的内容:
<RIBCL VERSION="2.23">
<LOGIN USER_LOGIN="adminname" PASSWORD="password">
<SERVER_INFO MODE="read">
<GET_EMBEDDED_HEALTH>
<GET_ALL_STORAGE/>
</GET_EMBEDDED_HEALTH>
</SERVER_INFO>
</LOGIN>
</RIBCL>
输出:
<STORAGE>
<CONTROLLER>
<LABEL VALUE = "Controller on System Board"/>
<STATUS VALUE = "OK"/>
<CONTROLLER_STATUS VALUE = "OK"/>
<SERIAL_NUMBER VALUE = "PWXKV0BRHE024F "/>
<MODEL VALUE = "HPE Smart Array P408i-a SR Gen10"/>
<FW_VERSION VALUE = "2.65"/>
<ENCRYPTION_STATUS VALUE = "Not Enabled"/>
<ENCRYPTION_SELF_TEST_STATUS VALUE = "OK"/>
<ENCRYPTION_CSP_STATUS VALUE = "OK"/>
<DRIVE_ENCLOSURE>
<LABEL VALUE = "Port 2I Box 0"/>
<STATUS VALUE = "OK"/>
<DRIVE_BAY VALUE = "04"/>
</DRIVE_ENCLOSURE>
<LOGICAL_DRIVE>
<LABEL VALUE = "01"/>
<STATUS VALUE = "OK"/>
<CAPACITY VALUE = "111 GiB"/>
<FAULT_TOLERANCE VALUE = "RAID 1"/>
<LOGICAL_DRIVE_TYPE VALUE = "Data LUN"/>
<ENCRYPTION_STATUS VALUE = "Not Encrypted"/>
<PHYSICAL_DRIVE>
<LABEL VALUE = "Port 1I Bay 1"/>
<STATUS VALUE = "OK"/>
<SERIAL_NUMBER VALUE = "CVLT7461007W120GGN"/>
<MODEL VALUE = "INTEL SSDSC2KW12"/>
<CAPACITY VALUE = "111 GiB"/>
<MARKETING_CAPACITY VALUE = "120 GB"/>
<LOCATION VALUE = "Port 1I Bay 1"/>
<FW_VERSION VALUE = "LSF042C"/>
<DRIVE_CONFIGURATION VALUE = "Configured"/>
<ENCRYPTION_STATUS VALUE = "Not Encrypted"/>
<MEDIA_TYPE VALUE = "SSD"/>
</PHYSICAL_DRIVE>
<PHYSICAL_DRIVE>
<LABEL VALUE = "Port 1I Bay 2"/>
<STATUS VALUE = "OK"/>
<SERIAL_NUMBER VALUE = "CVLT7395028Q120GGN"/>
<MODEL VALUE = "INTEL SSDSC2KW12"/>
<CAPACITY VALUE = "111 GiB"/>
<MARKETING_CAPACITY VALUE = "120 GB"/>
<LOCATION VALUE = "Port 1I Bay 2"/>
<FW_VERSION VALUE = "LSF042C"/>
<DRIVE_CONFIGURATION VALUE = "Configured"/>
<ENCRYPTION_STATUS VALUE = "Not Encrypted"/>
<MEDIA_TYPE VALUE = "SSD"/>
</PHYSICAL_DRIVE>
</LOGICAL_DRIVE>
</CONTROLLER>
<DISCOVERY_STATUS>
<STATUS VALUE = "Discovery Complete"/>
</DISCOVERY_STATUS>
</STORAGE>
有人知道为什么未配置的磁盘会缺失,以及是否有办法解决这个问题?
我尝试对服务器进行电源循环,并且运行带有和不带有“ilo5”选项的 locfg 命令 - 每次结果都相同。
谢谢