Update Driver..... lsi megaraid cards

marotori

Member
Jun 17, 2009
161
1
16
Hello,

As part of my excersise to try and address why my megaraid cards:

9640-i and 9660-i keep locking out disk io; I have been working through some potential fixes with LSI.

The one thing they have come back with is:

--

The issue that needs to be resolved is with the driver being used. In the 9240 log output, the driver version is listed as 5.40-rh2. However, this is not the version listed on the website. In the log file the controller firmware has been unable to get the driver version on at least two occasions, so I suspect that an untested driver could also be the culprit for the incompatibility and the unclean shutdowns.

03/10/12 9:50:20: Unable to get driver version
03/13/12 2:41:35: Unable to get driver version

--

The log items are from the controller itself complaining.

There fix is to use the following driver:

Debian - 5.0 - 10M12

Now.. the lovely chaps have provided a few things.

1. A driver for version 2.6.26 of the debian firmware. This is all together useless to me :-)
2. The source for the new driver. This is very usefull.

Now... how can I get this driver compiled and onto the current kernel to check that it fixes the issue?

Rob
 
The megaraid_sas.ko module.

I am currently considerring swapping raid controllers if I cant get this to work :-)
 
So... I have applied by brain and got the new driver installed.

Fix as follows:

1. apt-get install build-essential
2. apt-get install pve-headers-2.6.32-7-pve (or whichever version you are using)
3. download the LSI drivers:
4. Extract the drivers too: /usr/local/src (the file you want to extraxt is: megaraid_sas-v00.00.05.30-src.tgz)
(you should end up with a folder... /usr/local/src/megaraid_sas-v00.00.05.30)
5. Enter that folder and rename Makefile to Makefile.orig ; then Copy Makefile.standalone to Makefile
6. Compile time: make -C /usr/src/linux-headers-2.6.32-7-pve/ M=$PWD modules
You should get some text.. and a warning.. but it is safe it seems to ignore.
Your driver will end up here: /usr/local/src/megaraid_sas-v00.00.05.30/megaraid_sas.ko
7. Now.. backup this file: /lib/modules/2.6.32-7-pve/kernel/drivers/scsi/megaraid/megaraid_sas.ko (simply rename)
8. Copy the new driver in: cp /usr/local/src/megaraid_sas-v00.00.05.30/megaraid_sas.ko /lib/modules/2.6.32-7-pve/kernel/drivers/scsi/megaraid/megaraid_sas.ko
9. update the initial ram disk (you will most likely need to rename the existing rame disk : mv /boot/initrd.img-2.6.32-7-pve /boot/initrd.img-2.6.32-7-pve.bak)
update-initramfs -c -k 2.6.32-7-pve
update-grub

Job done.. reboot.

So.. initial test result.

Previously.. simply running: "dd if=/dev/zero of=test.img bs=1024k count=10000" would floor my server in 30-40 seconds. Server dies... cant logon or anything.

For the past 20 minutes.. I have had 4 concurrent dd commands running. And rsync, and a tar.

All of these where in different parts of the file system and of a variety of different block sizes. While doing this I also ran multiple lvm snapshots & removed them for good measure.

The result. iotop showed initially a througput of 80-100mps. Not bad considering this is raid 10 on 4 5800rpm drives. It is also a card that does not have any BBU or cache on it. (the LSI-9640).

Once all the disks where being hammered by the above work.. iotop showed a throughput of 35-45mps. Also ok.. but showing up the disks are lacking in good random io. (to be expected).

I have more testing to do.. but from what I can see sofar.. this driver is 100% essential and needs to be updated in the proxmox source.

Without it.. I would kill my box in just a few minutes.

Rob
 
Last edited: