![有没有办法明确定义硬件控制器?](https://linux22.com/image/198875/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E6%98%8E%E7%A1%AE%E5%AE%9A%E4%B9%89%E7%A1%AC%E4%BB%B6%E6%8E%A7%E5%88%B6%E5%99%A8%EF%BC%9F.png)
背景
有一项任务是自动从服务器获取信息。但是,我无法找到任何硬件或软件 RAID 控制器。
问题
由于每个供应商描述其控制器的方式各不相同,我很难清楚地定义所示的块设备是 RAID。
我认为解决此问题的最佳方法是使用内置的 Linux 实用程序。
如果我的假设是错误的,请告诉我。
答案1
您可以通过设备名称两种方式执行此操作因为它们现在已经标准化dmidecode
或从或lshw
命令 中检测它们
还cat /proc/mdstat
还lspci -knn | grep 'RAID bus controller'
或者lshw -class disk
有许多解决方案,当然还有来自制造商的外部工具的专用解决方案。
答案2
由于供应商之间(以及供应商内部)存在许多差异,我选择的方式是使用两种主要工具:lspci
通过dmesg
ping grep
RAID。因此,首先我使用该lspci
命令,如果它没有返回所需的输出,我会dmesg
使用相同的grep
ping 运行。这种方法目前适用于 20 多台配备 Hewlett Packard 和 MegaRAID 控制器的机器。