2

I have a low-end server for a SOHO set-up: a Gen8 HP Microserver. It has a built-in Dynamic Smart Array B120i (RAID) Controller. When booting the server up before any OS was installed I was able to open the HP Smart Array configuration utility and create a logical drive spanning my 4 physical disks with RAID 1+0.

After some messing around I was able to install CentOS 7 and had a look at the disks with lsblk:

NAME           MAJ:MIN RM   SIZE RO TYPE   
sda              8:0    0 698.7G  0 disk   
├─sda1           8:1    0 698.7G  0 part   
└─ddf1_Storage 253:2    0 698.5G  0 dmraid 
sdd              8:48   0 698.7G  0 disk   
├─sdd1           8:49   0 698.7G  0 part   
└─ddf1_Storage 253:2    0 698.5G  0 dmraid 
sde              8:64   0 698.7G  0 disk   
├─sde1           8:65   0 698.7G  0 part   
└─ddf1_Storage 253:2    0 698.5G  0 dmraid 
sdf              8:80   0 698.7G  0 disk   
├─sdf1           8:81   0 698.7G  0 part   
└─ddf1_Storage 253:2    0 698.5G  0 dmraid 

So, this looks like a software based RAID, aka fake RAID, rather than the one disk that I had expected to see.

Can someone explain what, if anything, the built-in RAID controller is actually doing for me?

ewwhite
  • 201,205

2 Answers2

5

This is a Dynamic Smart Array controller. It's not a fully-featured HP RAID controller. However, it's better than a pure "fakeraid" solution, provided you're using a compatible OS. The RAID logic is moved to the "hpvsa" driver in Linux rather than the hardware.

The drivers are kernel specific ... The B120i is a chipset AHCI SATA controller that requires a kernel specific proprietary driver for software derived RAID functionality. Many refer to these chipset SATA controllers as 'fake raid' ... the HPE recommendation is to use the 'mdadm' software RAID feature included with the OS.

-- HPE Support Forum

To install a supported OS onto this RAID controller, you have to slipstream a driver into the installation process. Here's the current driver as of this writing.

The main thing is that there's an upgrade path to a proper HP Smart Array controller, and the on-disk format allows that migration.


However, the output you're showing indicates that you haven't created a real logical drive.

Here's output from lsblk on a Dynamic Smart Array. /dev/sda is the block device that is represented by the logical drive.

[root@Tudor_Ranch ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   40G  0 disk
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0   10G  0 part /
├─sda3   8:3    0   10G  0 part /usr
├─sda4   8:4    0    1K  0 part
├─sda5   8:5    0    6G  0 part /var
├─sda6   8:6    0    4G  0 part [SWAP]
└─sda7   8:7    0    1G  0 part /tmp

Similarly, this is evident in the hpssacli command output:

=> ctrl all show config

Smart Array B320i RAID in Slot 0 (Embedded)

   Internal Drive Cage at Port 1I, Box 1, OK

   Internal Drive Cage at Port 2I, Box 0, OK
   array A (Solid State SATA, Unused Space: 176704  MB)


      logicaldrive 1 (40.0 GB, RAID 1, OK)
      logicaldrive 2 (60.0 GB, RAID 1, OK)

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, Solid State SATA, 200 GB, OK)
      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, Solid State SATA, 200 GB, OK)

I think you just installed your OS using Linux MD software RAID.

Also see:

HP DL380e Linux not seeing drive array for installation

ewwhite
  • 201,205
2

This is a 'host RAID' controller, meaning its RAID function resides in the BIOS and in the driver (once the OS has loaded).

To Linux, it looks just like a couple of HDD ports which is the exact problem with host RAID.

The dmraid you've got installed (in parallel?) generates a software RAID on top of this bunch of HDDs. In other words, it's a mess.

If you don't want to replace the RAID controller just define separate disks there and run dmraid for a clean software RAID.

Zac67
  • 13,684