Expanding a Dell PERC H800 RAID array with additional MD1200 shelves

Here is a short guide to creating a RAID 10 array on a PERC 800.  In my case, additional drives were added via 2 new MD1200 which were chained onto the existing shelves.

Download megacli – http://www.lsi.com/support/pages/download-search.aspx

List unconfigured drives like this:

 

# ./MegaCli64 -PDList -aAll | egrep "Uncon|Enclosure|Slot"
Enclosure Device ID: 47
Slot Number: 5
Enclosure position: 2
Firmware state: Unconfigured(good), Spun Up
Enclosure Device ID: 47
Slot Number: 6
Enclosure position: 2
Firmware state: Unconfigured(good), Spun Up
Enclosure Device ID: 47
Slot Number: 7
Enclosure position: 2
Firmware state: Unconfigured(good), Spun Up

I then tried to create the array, and hit an error. This error is a little misleading as I found out…

#./MegaCli64 -CfgSpanAdd -r10 -Array0[38:0, 38:1, 38:2, 38:3, 38:4, 38:5, 38:6, 38:7, 38:8, 38:9] -Array1[38:10, 38:11, 47:0, 47:1, 47:2, 47:3, 47:4, 47:5, 47:6, 47:7] -a1

Mix of configured and unconfigured drives are not possible.

Exit Code: 0x0b

I tried again with only a few drives and found this error:

# ./MegaCli64 -CfgSpanAdd -r10 -Array0[38:0,38:1] -Array1[38:2,38:3] -a1

The specified physical disk does not have the appropriate attributes to complete
the requested command.

Exit Code: 0x26

The problem was that the MD1200 shelves had been used on a different controller before (as I was lab testing this) and therefore were considered foreign. this can be seen like this:

# ./MegaCli64 -PDList -aAll | egrep "Uncon|Enclosure|Slot|Forei"
Enclosure Device ID: 47
Slot Number: 7
Enclosure position: 2
Firmware state: Unconfigured(good), Spun Up
Foreign State: Foreign
Foreign Secure: Drive is not secured by a foreign lock key

Also this shows it:

# ./MegaCli64 -CfgForeign -Scan -a1

There are 1 foreign configuration(s) on controller 1.

Exit Code: 0x00

Clear out the foreign settings like this:

# ./MegaCli64 -CfgForeign -Clear -a1

Foreign configuration 0 is cleared on controller 1.

And create the R10 array as follows, notice this spans 2 shelves just fine:

# ./MegaCli64 -CfgSpanAdd -r10 -Array0[38:0, 38:1, 38:2, 38:3, 38:4, 38:5, 38:6, 38:7, 38:8, 38:9] -Array1[38:10, 38:11, 47:0, 47:1, 47:2, 47:3, 47:4, 47:5, 47:6, 47:7] -a1

Adapter 1: Created VD 1

Adapter 1: Configured the Adapter!!

Exit Code: 0x00

The new array shows up instantly – see the logs here:

[[email protected] MegaCli]# tail -f /var/log/messages
Feb 9 13:54:30 crmdevdb1 ntpd[4364]: kernel time sync enabled 4001
Feb 9 14:11:33 crmdevdb1 ntpd[4364]: kernel time sync enabled 0001
Feb 9 16:11:00 crmdevdb1 ntpd[4364]: kernel time sync enabled 4001
Feb 9 16:17:32 crmdevdb1 kernel: scsi 1:2:1:0: Direct-Access DELL PERC H810 3.13 PQ: 0 ANSI: 5
Feb 9 16:17:32 crmdevdb1 kernel: sd 1:2:1:0: [sde] 11709972480 512-byte logical blocks: (5.99 TB/5.45 TiB)
Feb 9 16:17:32 crmdevdb1 kernel: sd 1:2:1:0: Attached scsi generic sg5 type 0
Feb 9 16:17:32 crmdevdb1 kernel: sd 1:2:1:0: [sde] Write Protect is off
Feb 9 16:17:32 crmdevdb1 kernel: sd 1:2:1:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Feb 9 16:17:32 crmdevdb1 kernel: sde: unknown partition table
Feb 9 16:17:32 crmdevdb1 kernel: sd 1:2:1:0: [sde] Attached SCSI disk

All that needs to happen then is the creation of a partition and file system. You may want to use LVM, I didn’t as can be seen here:

# fdisk -l /dev/sde
# fdish /dev/sde
# mkfs.ext4 /dev/sde1

One thought on “Expanding a Dell PERC H800 RAID array with additional MD1200 shelves”

  1. Thank you so much! This saved me a tremendous amount of time. My initial configuration got messed up and I could get past the foreign settings.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.