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
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.
Will this also work for expanding a RAID6 configuration with the same H800 and MD1200 setup? I mean, I’ll know when the additional drives arrive in a day or two, but just looking to see what I’m up against.