尝试使用 SNMP 监控 RAID 卷。是否有命令可以解析完整的 RAID 卷并输出其中的磁盘状态?
如果不是 SNMP,请建议一种更好的方法来监控服务器上硬盘的健康状况。(遇到磁盘故障)
供参考: 如果不是第三方工具,我会很感激。我浏览了几份帮助使用 OID 进行监控的文档
答案1
通常,您smartctl
可以smartmontools
通过各种硬件 RAID 控制器查看硬盘信息。例如,对于 Symbios/LSI/Avago MegaRAID 和最新的 Dell PERC:
# smartctl -i /dev/sda -d megaraid,0
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.18-1-pve] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Toshiba 3.5" DT01ACA... Desktop HDD
Device Model: TOSHIBA DT01ACA300
Serial Number: Z5ORUM4KS
LU WWN Device Id: 5 000039 fe3ca6054
Firmware Version: MX6OABB0
User Capacity: 3,000,592,982,016 bytes [3.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sun Oct 27 09:54:22 2019 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
这里我们使用由该特定 RAID 控制器提供服务的任何 /dev/sdX,并-d
设置一个协议,我们通过协议调用设备 0。megaraid
(它使用megaraid
或megaraid_sas
驱动程序对此进行特殊调用。)此 0 是我们也使用实用程序看到的设备 ID megacli
:
# megacli -pdlist -a0
Adapter #0
Enclosure Device ID: 32
Slot Number: 0
Drive's position: DiskGroup: 0, Span: 0, Arm: 0
Enclosure position: 1
Device Id: 0
WWN: 5000039fe3ca6054
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
Raw Size: 2.728 TB [0x15d50a3b0 Sectors]
Non Coerced Size: 2.728 TB [0x15d40a3b0 Sectors]
Coerced Size: 2.728 TB [0x15d400000 Sectors]
Sector Size: 512
Logical Sector Size: 512
Physical Sector Size: 4096
Firmware state: Online, Spun Up
Device Firmware Level: ABB0
Shield Counter: 0
Successful diagnostics completion on : N/A
SAS Address(0): 0x4433221104000000
Connected Port Number: 1(path0)
Inquiry Data: Z5ORUM4KSTOSHIBA DT01ACA300 MX6OABB0
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 6.0Gb/s
Link Speed: 6.0Gb/s
Media Type: Hard Disk Device
Drive: Not Certified
Drive Temperature :37C (98.60 F)
PI Eligibility: No
Drive is formatted for PI information: No
PI: No PI
Drive's NCQ setting : N/A
Port-0 :
Port status: Active
Port's Linkspeed: 6.0Gb/s
Drive has flagged a S.M.A.R.T alert : No
...
请参阅man smartctl
和megacli -h
手册https://hwraid.le-vert.net/了解更多详细信息。
我从未用 SNMP 监控过它。我没听说有人用原始 SNMP 监控他们的 Linux 系统。只要有 Linux,我就会用 zabbix-agent 监控它,当你有许多具有不同要求的系统时,设置它要容易得多。我只需要在没有 zabbix-agent 的系统上使用 SNMP,这包括各种交换机、路由器等。
但是,可以编写脚本net-snmp
工具集,以便它可以通过 SNMP 呈现任何信息。这包括smartctl
输出megacli
。不过,这需要大量工作。
关于第三方:zabbix 和 smartmontools 并不比 net-snmp 更第三方,它们是 FOSS 软件,例如,它们都在默认的 Debian 安装中可用,而 Debian 安装有严格的许可要求。它们可能也在 CentOS 中。但 megacli 是专有的,如果您想从操作系统内部控制和监控 RAID 控制器,您必须同意这一点。没有其他方法可以做 megacli 允许您做的事情。