How To Fix: IBM MegaRAID M5110/M5015/M1015 long boot delay
When I start building my new Workstation, I wanted RAID10 as the main boot drive. Firstly, I was testing mixed 500GB drives like WD Black x1, Hitachi x2, and Seagate 7200.11 (I knew this one was dying, but I needed a 4th drive, even if I have to replace it soon). Playing around with onboard soft RAID options and Windows 10 spanned volumes, I decided to get good and cheap hardware RAID card like AVAGO ServeRAID M1015 or M5015. My workstation hardware at the time was:
- Motherboard: ASROCK EP2C612 WS
- CPU: 2x Xeon E5-2623 v3 @ 3.0GHz
- RAM: DDR4 64GB ECC
- HDD: 500GB x4
- GFX: 1x NVIDIA 1070 GTX 8GB, 2x NVIDIA 1060 6GB (rendering farm, WPA cracking, etc…)
- LAN: 2x Intel I210 – 1Gbit, 1x Mellanox ConnectX-2 – 10GBit
- CASE: Fractal Design XL
- POWER: Corsair RM1000x 1000W Fully-Modular ATX 80 PLUS Gold Power Supply
Upgrading firmware to the latest wasn’t the problem: the problem was that I had UEFI bios on the motherboard and original firmware on M1015 and could not start a boot menu called WebBios to create my RAID10 array. Bummer.
The remedy was to switch from IBM firmware to LSI/AVAGO ( there is more info on the subject, have a look). WebBios was enabled (funny enough, I did not have this problem with my other motherboards using standard/old BIOS, only with new UEFI) and I could create my first RAID10 array.
Next thing to do was to re-image my old Windows 10 Pro from backup, so I fired up my good and trusty AOMEI Backupper Standard and… I’m waiting, and waiting, and waiting, and there must be something wrong with this whole set up! After 14 hours (yes, 14 hours!!!) of restoring 350GB onto the array, I got puzzled. In the end, after something like 16h, I got my Windows 10 up and running, but.
It takes a long time to boot. A BLOODY LONG TIME. Like 20 minutes? Heh???!! Should be around 300 MB/s read, yes? CrystalDiskMark to the rescue and I were shocked one more time… 60MB/s sequential read and 20MB/s sequential write, don’t ask me on the random r/w.
WHAT???!!! It’s RAID card, 4x 1TB WD each can do 120MB/s easy, so… what’s the problem?
Digging around forums for few days, I’ve found out, that M1015 is just HBA card with “added” raid option and CPU on this card is to slow for anything else but a straight RAID 1 or JBOD, even if you have more options like RAID 10 or RAID 5. Sad, but true. OK, let remove RAID boot option, reflash it with latest LSI firmware and use it in my NAS4Free fileserver as straight HBA card. I have done it!
Ordered on Fleebay nearly “new” ServeRAID M5015 with BBU (battery backup unit), and I was able to import my old M1015 array without any problems, even if it was created under M1015 with LSI firmware, not IBM. Soon as I connected drives and boot my PC, I was asked if I want to import located array as RAID 10.
Speeds? Nearly 450MB Reads and 350MB Writes. Happy like a bunny now!
But… Nearly everyone complains about one thing: delay before post. Seriously. It’s like 1.5 minutes (exactly 60 seconds as I discovered later). Nothing. You just look at the screen and pray for something to happen. After a few reboots (I had to get Windows to work my way), I had enough of it. Time to modify again. There is a program for Windows called MegaSCU.exe and it can read settings from M5015 into a file where we can edit some settings:
MegaSCU.exe -AdpSettings Write -f settings.ini -a0
This command will save everything into a file called “settings.ini”, where we need to find one option called:
delayPOST = 4 # intentional delay to be introduced during FW POST. Possible coded values: 0 to 7,which gives a value of 0,15,30,45,60,75,90,105 seconds
As you can see, value 4 equals to 60 seconds. I think, IBM servers having a long post, so they can make sure that all HDDs are running full speed before raid card gets online and drop some hard drives from the array.
Change delayPOST = 0 and save file. Next step is to upload the whole file to the card’s memory:
MegaSCU.exe -AdpSettings Read -f settings.ini -a0
…and this is it. Reboot computer and the whole post will be very short, from the 1st posted message by raid card to actual boot.
Now, a few things to clarify:
- MegaSCU is a program working under Windows (10 in my case)
- Command -AdpSettings Write – reads from the card and writes into the file
- Command -AdpSettings Read – reads from the file and write to the card
- If something happens, don’t blame me for it. I got my card working and I’m happy now. 😉
For now, I am still unable to get WebBios working, but at least I don’t have to wait for it anymore. If one day, I need this option, then probably replacement firmware from LSI/AVAGO will be my choice.
Lastly, I replaced all drives for WD 1TB Blue x4 and created a nice, 1.86TB Raid10 array and guess how long took me to do a full restore from backup? About 1 hour. NICE!