Get RAID Controller Type & Model (Software or Hardware)

Software RAID

In the simplest case you have only software RAID. It could be determined without any software just by looking at /proc/mdstat file.

/proc/ is a Linux pseudo-filesystem which kernel uses for keeping various system parameters including this one. In spite of it’s just a file it’s very useful for managing and monitoring software RAID. If you have software RAID you will see something similar to the following:

[root@storage ~]$ cat /proc/mdstat
Personalities : [raid1] [raid10]
md2 : active raid10 sda3[0] sdd3[3] sdc3[2] sdb3[1]
959194880 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md1 : active raid10 sda2[0] sdd2[3] sdc2[2] sdb2[1]
17385216 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md0 : active raid1 sda1[0] sdb1[3] sdd1[2] sdc1[1]
96256 blocks [4/4] [UUUU]unused devices:
[root@storage ~]$

Besides you can simply run df command and if you see md devices it means you have software RAID.

[root@storage ~]$df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 915G 512G 403G 56% /
tmpfs 5.9G 1.6M 5.9G 1% /dev/shm
/dev/md0 92M 43M 44M 50% /boot

To figure out your RAID level you should check first line of each device description.

For instance,

md2 : active raid10 sda3[0] sdd3[3] sdc3[2] sdb3[1]

As you can see here we have block device md2 that has level 10 (or 1+0 if you will). String “sda3[0] sdd3[3] sdc3[2] sdb3[1]” means that we have four devices (or more exactly partitions) in our RAID device md2. Four U letters in brackets [UUUU] indicate that all of our devices are active. So if you need check your software status you can do that just by checking /proc/mdstat. If one or more HDD failed you will see something like this:

[root@fs ~]$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdh1[4] sdg1[3] sde1[1] sdb1[5] sda1[0]
1953545728 blocks level 6, 128k chunk, algorithm 2 [6/5] [UU_UUU]
unused devices:

At this point you can stop reading if you are sure you have only one RAID controller and it’s software one on your server.

Hardware RAID

But what should you do if you know you have hardware RAID?
Of course you can contact your provider support and ask them but for some reasons it’s not always possible. It would be a good idea to install all necessary software from the very beginning.  You might need lshw and or lspci.
If your server is run by Ubuntu or Debian use aptitude or apt-get to install them:

[root@fs ~]$ aptitude install lshw pciutils

If your choice is RPM-based system such as Fedora or Centos use yum:

[root@fs ~]$ yum install lshw pciutils

Once you have these tools you can use them to find your RAID type.


[root@storage2 ~]# lspci | grep -i raid
03:00.0 RAID bus controller: 3ware Inc 9690SA SAS/SATA-II RAID PCIe (rev 01)
Subsystem: 3ware Inc 9690SA SAS/SATA-II RAID PCIe

In most cases this output is your actual RAID controller. To check it use lshw.

Most common hardware RAID controller vendors

3Ware, Adaptec, Areca, CCISS Controllers (HP), Fusion MPT, MegaRAID (LSI)


[root@sorage3 ~]# lspci | grep -i raid
06:00.0 RAID bus controller: Hewlett-Packard Company Smart Array Controller (rev 04)
[root@storage3 ~]#
[root@storage4 ~]# lspci | grep -i raid
01:00.0 RAID bus controller: Adaptec AAC-RAID (rev 09)
[root@storage4 ~]#
[root@storage5 ~]# lspci | grep -i raid
01:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)
[root@storage5 ~]#

On-board RAID controllers

Some motherboards contain a chipset with RAID functions. It is a device with simple functions like XOR and the other simple ones. Sometimes such controllers called fake RAID. One important thing about on-board RAID is HDDs mapped via /dev/mapper/chipsetName_randomName. So you can always check them out with these files. To verify if your RAID controller is an on-board solution you need to check you motherboard specification. To find you motherboard model use lshw or dmidecode.

Base Board Information
Product Name: MS-7142
[root@storage6 ~]# lspci -vv | grep -i raid
00:08.0 RAID bus controller: Promise Technology, Inc. PDC20270 (FastTrak100 LP/TX2/TX4) (rev 02)
[root@storage6 ~]#

To check which controllers contain our motherboard we should check its specification.
So it really contains on-board RAID controllers so it’s a fake RAID.
To check its status we can use dmraid tool.

[root@storage7 ~]# dmraid -r
/dev/hde: pdc, "pdc_cbeedhjag", mirror, ok, 156301312 sectors, data@ 0
/dev/hdg: pdc, "pdc_cbeedhjag", mirror, ok, 156301312 sectors, data@ 0
[root@storage7 ~]#


Tags: , , ,