Skip to content

DellRAID

robnagler edited this page Mar 12, 2018 · 15 revisions

Configuring Dell RAID Controller (PERC)

Our RAID disks are really Just a Bunch of Disks (JBOD) as it is easier to manage disks from the file system. ZFS and Linux RAID want to talk to the disks directly, and it's easier to move such disks around.

We've encapsulated all the m620 setup code in idrac-m620-setup.sh, which is a sequence of functions you can selectively execute, including idrac.

RAID And Storage Configuration using RACADM Commands in iDRAC7 is a simple manual documenting the raid commands. RACADM Command Line Reference Guide for iDRAC7 1.50.50 and CMC 4.5 (p106) is the complete reference.

Configure JBOD

We first have to reset the RAID config:

$ idrac 1 storage resetconfig:RAID.Integrated.1-1
$ idrac 1 jobqueue create RAID.Integrated.1-1 -r pwrcycle -s TIME_NOW -e TIME_NA

After this completes, we'll follow ThornLabs instructions:

$ for p in $(idrac 1 raid get pdisks); do
    idrac 1 raid createvd:RAID.Integrated.1-1 -rl r0 -wp wt -rp nra -ss 64k "-pdkey:$p"a
done
$ idrac 1 job RAID.Integrated.1-1

This sets up all the physical disks (pdisks) as independent virtual disks with RAID0 (r0), write through (wt), no read ahead (nra), and 64k strip size (seems what people recommend for SSDs).

Wait a bit and verify that the vdisks have been created:

$ idrac 1 raid get vdisks -o
Disk.Virtual.0:RAID.Integrated.1-1
   Status                           = Ok
   DeviceDescription                = Virtual Disk 0 on Integrated RAID Controller 1
   Name                             = Virtual Disk 0
   RollupStatus                     = Ok
   State                            = Online
   OperationalState                 = Not applicable
   Layout                           = Raid-0
   Size                             = 931.00 GB
   SpanDepth                        = 1
   AvailableProtocols               = SATA
   MediaType                        = SSD
   ReadPolicy                       = No Read Ahead
   WritePolicy                      = Write Through
   StripeSize                       = 64K
   DiskCachePolicy                  = Enabled
   BadBlocksFound                   = NO
   Secured                          = NO
   RemainingRedundancy              = 0
   EnhancedCache                    = Not Applicable
   T10PIStatus                      = Disabled
   BlockSizeInBytes                 = 512

Performance

Testing performance of PERC H310 (non-RAID) vs motherboard S110:

lvcreate -y --wipesignatures y -L 20G -n test centos
mkfs.xfs /dev/mapper/centos-test
mount /dev/mapper/centos-test /mnt
cd /mnt
# sync on close (every 10G with enough RAM (64G))
i=$(date +%s); dd bs=1M count=10240 if=/dev/zero of=test conv=fdatasync; echo $(( $(date +%s) - $i ))
rm -f test
sync
# sync on write (every 1M)
i=$(date +%s); dd bs=1M count=10240 if=/dev/zero of=test oflag=dsync; echo $(( $(date +%s) - $i ))
cd
umount /mnt
lvremove /dev/mapper/centos-test

Write through, no read ahead on SSD. LUKS-encryptedfdatasync, dsync 10GB/test (1024^3=1073741824) Samsung EVO 850/860 64g/128g

  • H310 E2650 64g 850 256g: 384MBps (26s), 156MBps (64s)
  • S110 E2660 128g 860 256g: 222MBps (45s), 131MBps (76s)
  • S110 E2660 64g 850 256g: 222MBps (45s), 129MBps (77s)
  • S110 E2660 64g 850 2TB mdadm-1: 232MBps (43s), 85MBps (117s)
  • AHCI E2660 64g 850 256g: 217MBps (46s), 75MBps (133s)
  • fnl8 E2660 64g 850 88s
  • fnl13 2660 128g 1TB S110 non-RAID boot 125s 129s
  • fnl13 reformatted SSD RAID fnl13 1TB 119s
  • fnl14 H310 megaraid sas 2008 63s 67s 850 256g 128g 2650

References on performance of hardware RAID vs madam:

Clone this wiki locally