我能从Linux内部检测硬件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 

当我手动拉出驱动器的服务器,我可以告诉我物理使用以下驱动器:

 0 Seagate 320GB 1 Seagate 320GB 2 Hitachi 1TB 3 Hitachi 1TB 4 Hitachi 1TB 5 Hitachi 1TB 6 [empty] 7 [empty] 

由于服务器中的物理存储比Linux中的可用空间多,这意味着我显然使用某种forms的RAID系统。 有一点math,我可以经常找出什么types的RAID系统正在使用。

有没有一种方法可以检测出我是否使用了Linux内部的硬件RAID,并在closures服务器的情况下找出所有关于它的信息(如RAIDtypes,可用的驱动器)和阅读他们的标签?

这些信息是从Linux内部收集的,还是硬件RAID使操作系统“隐形”的底层系统?

这不是一个普遍适用的答案,并不能提供所有您需要的信息,但是在我们使用的一个Adaptec硬件RAID控制器上,它通过特殊设备/ dev给予了一些访问驱动器的权限/ sg1 / dev / sg2等。我们可以运行smartctl -a / dev / sg1来获取有关该物理驱动器的许多信息,包括制造商,型号,接口,序列号,大小和其他数据。

至于搞清楚哪个控制器被使用,我同意Gene对dmidecode,dmesg和lspci的评论 – 那些也是我第一次尝试。

运行一些像lspci -knn | grep 'RAID bus controller' lspci -knn | grep 'RAID bus controller'

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

find它使用storcli实用程序来询问RAID控制器。

下载并安装它。

storcli64 show为您特别提供了控制器的型号,以及控制器索引,驱动器组和虚拟驱动器的数量。

storcli64 /c0/d0 show显示您的第一个控制器,第一个驱动器组。 告诉你RAID级别,包括嵌套。

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

这些命令的更多参考数据可以在这里find:

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

应该是你所要做的。 只需在Linux中使用正常的硬件自检function,然后使用Google,然后下载并安装与之配套的实用程序。

@ Gene的build议和评论绝对是重点。

这个答案是完全特定于你从lspci命令得到的输出,以及你的Googlesearch能够识别制造商并获得正确的命令行工具。

但是它确实表明,你可以从服务器,命令行中获取所有这些信息,而不会停止机器,打开机箱并拉动驱动器,我希望这会有所帮助。

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

为了find您正在使用的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) 

在这里,我们正在寻找的信息是“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 

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

lshw

第三种方法(输出相当多的数据)是使用lshw命令。 以root用户身份运行lshw -class disk ,只显示硬盘(包括RAID信息)的详细信息。

findRAID控制器工具

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

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

  • AMCC – 3ware控制器
  • LSI Logic / Symbios逻辑
  • Adaptec (一些设备)

的3ware

这已在以下RAID控制器上进行了testing: 9690SA-8I

请在评论中告诉我,如果它适用于您的特定控制器,或者如果说明需要更新您的模型。

下载

首先,你需要下载工具tw_cli 。 这可以在Avago Technologies网站上find*:

*别担心,这不是第三方网站; 3ware由AMCC收购,后来卖给LSI公司,后来成为Avago的一部分[ 来源 ]。 要备份,请注意3ware.comredirect到avagotech.com上的相关页面。

在search栏中键入tw_cli ,然后导航,直到find一个名为CLI Linux - from the 10.2.2.1/9.5.5.1 code sets的下载为止CLI Linux - from the 10.2.2.1/9.5.5.1 code sets (最新版本号可能与此处列出的不同)

解压缩zip文件,在x86x86_64您将find所需的tw_cli二进制文件。 将这个二进制文件保存到你的服

运行tw_cli

注意: (1)命令行实用程序可能需要以root身份运行。 (2)通过将其添加到path中,或者通过使用./tw_cli从当前目录直接运行它,就像运行其他任何二进制文件一样运行它。

首先,运行tw_cli show来列出系统上可用的RAID控制器:

 # tw_cli show Ctl Model (V)Ports Drives Units NotOpt RRate VRate BBU ------------------------------------------------------------------------ c2 9690SA-8I 6 6 2 0 1 1 Charging 

在这里,我们可以看到有一个控制器连接着c2的id(记住这个id!),它连接了6个物理驱动器。 要获得有关将哪个驱动器连接到设备的更多详细信息,请运行tw_cli /c2 show (使用控制器的IDreplace/c2 ):

 # tw_cli /c2 show Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy ------------------------------------------------------------------------------ u0 RAID-1 OK - - - 298.013 Ri ON u1 RAID-5 OK - - 64K 2793.94 Ri ON VPort Status Unit Size Type Phy Encl-Slot Model ------------------------------------------------------------------------------ p0 OK u0 298.09 GB SATA 0 - ST3320613AS p1 OK u0 298.09 GB SATA 1 - ST3320613AS p2 OK u1 931.51 GB SATA 2 - Hitachi HDS721010CL p3 OK u1 931.51 GB SATA 3 - Hitachi HDS721010CL p4 OK u1 931.51 GB SATA 4 - Hitachi HDS721010CL p5 OK u1 931.51 GB SATA 5 - Hitachi HDS721010CL 

第一组显示正在使用的RAID设置。 第二组显示哪些驱动器当前物理连接到服务器。

在这种情况下,我有两个RAIDconfiguration:

  • u0 – >驱动器p0p1都是由同一制造商生产的300 GB驱动器,设置为使用RAID-1(彼此精确的镜像)
  • u1 – >我使用RAID-5(“其中一个驱动器”用于确保在其他驱动器中的任何一个发生故障时保留数据)设置了四个1TB Hitachi驱动器( p2p5 )。 这意味着(从顶部可以看到), u1有3TB(或2793.94 GB )的可用数据。

有关驱动器状态和运行状况的更多信息可以通过运行tw_cli /c2/u0 showtw_cli /c2/p0 show 。 更多细节和命令可以在手册页find。

为了创build一个存储configuration文件,我会在运行lspci或下载任何东西之前执行以下操作。

 # cat /etc/fstab What partitions get mounted at boot? # sudo pvs Are you running LVM? List the physical volumes # cat /proc/mdstat List software RAID devices & status # for D in /dev/sd?; do parted $D print; done If hardware RAID is being used, the "Model" field will list the Mfr. name, otherwise the hard drive Mfr.