我可以从 Linux 内部检测硬件 RAID 信息吗?

IQA*_*eas 20 hardware linux raid hard-drive hardware-raid

当我在 Linux 中时,我可以从lsblk(从输出中删除不相关的驱动器)获取以下信息:

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda     8:0    0   298G  0 disk 
sdb     8:16   0   2.7T  0 disk
Run Code Online (Sandbox Code Playgroud)

当我手动将驱动器从服务器中拉出时,我可以看出我实际使用了以下驱动器:

0  Seagate 320GB
1  Seagate 320GB
2  Hitachi 1TB
3  Hitachi 1TB
4  Hitachi 1TB
5  Hitachi 1TB
6  [empty]
7  [empty]
Run Code Online (Sandbox Code Playgroud)

因为服务器中的物理存储空间多于 Linux 中的可用空间,这意味着我显然在使用某种形式的 RAID 系统。通过一些数学运算,我通常可以弄清楚正在使用哪种类型的 RAID 系统。

有没有办法让我检测我是否在 Linux 内部使用硬件 RAID ,并找出有关它的所有信息(例如 RAID 类型、可用驱动器),而无需关闭服务器、物理拔出驱动器,并阅读他们的标签?

这些信息可以从 Linux 内部收集,还是硬件 RAID 的目的是使底层系统对操作系统“不可见”?

IQA*_*eas 24

如何获取 RAID 信息将完全取决于您使用的 RAID 控制器。通常,制造商会提供可从其网站下载的工具,可用于查询 RAID 控制器并获取此信息。

为了找到您正在使用的 RAID 控制器,请尝试以下命令之一:

lspci

# lspci -knn | grep 'RAID bus controller'
08:00.0 RAID bus controller [0104]: 3ware Inc 9690SA SAS/SATA-II RAID PCIe [13c1:1005] (rev 01)
Run Code Online (Sandbox Code Playgroud)

在这里,我们要查找的信息是“3ware Inc 9690SA SAS/SATA-II RAID PCIe”

lsscsi

该命令在 Debian 和 Ubuntu 上不可用,但sudo apt-get install lsscsi可以从 repos 中快速获取它。请注意,如果您没有使用 RAID 控制器,则您的硬盘驱动器的制造商和型号将显示在此处。

# lsscsi
[2:0:0:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sda 
[2:0:1:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sdb 
Run Code Online (Sandbox Code Playgroud)

在这里我们看到制造商是“AMCC”,RAID卡的型号是“9690SA-8I”谷歌快速搜索显示,这张卡也被称为“AMCC 3Ware 9690SA-8I”

小白

第三种方法(提供相当多的输出数据)是使用lshw命令。lshw -class disk以 root 身份运行以仅显示有关硬盘驱动器的详细信息(包括 RAID 信息)。

查找 RAID 控制器工具

现在我们有了制造商和型号,应该可以在他们的网站上找到这些工具,或者至少可以谷歌详细了解如何找到和使用该特定控制器的工具。

如果制造商出现在此列表中,请参阅这些答案以获取有关如何获取卡的 RAID 信息的更多详细信息:


小智 5

运行类似lspci -knn | grep 'RAID bus controller'.

使用该输出,谷歌(例如)为LSI Logic / Symbios Logic MegaRAID SAS 2208.

发现它使用该storcli实用程序来询问 RAID 控制器。

下载并安装它。

storcli64 show 给你具体的控制器型号,以及控制器索引、驱动器组数和虚拟驱动器。

storcli64 /c0/d0 show向您展示第一个控制器,第一个驱动器组。告诉您突袭级别,包括嵌套。

storcli64 /c0/eall/sall show all 显示所有磁盘上的所有信息。

可以在此处找到这些命令的更多参考数据:

http://mycusthelp.info/LSI/_cs/AnswerPreview.aspx?sSessionID=&inc=8275

应该是你所要做的。只需在 Linux 中使用普通的硬件自省,然后使用谷歌,然后下载并安装随附的实用程序。

@Gene 的建议和评论绝对是正确的。

这个答案完全特定于您从lspci命令中获得的输出,以及您的 Google 搜索识别制造商和获取正确命令行工具的能力。

但它确实表明您可以在命令行上从服务器获得所有这些,而无需停止机器、打开机箱和拉动驱动器,我希望这会有所帮助。