Get Linux to work with a Mylex Acceleraid card
Q My company recently bought an old but still powerful server for a bargain price on eBay. We loaded Linux on it and it is really providing outstanding value. It has several 18GB SCA 80-pin SCSI drives in a RAID5 array. All this has been up and running for a couple of months now without a single hitch. However, last week one of the drives in the RAID started making a ticking noise, and its light was no longer blinking when all the other drives were. I was curious to see if Linux would be able to interface with the Mylex Acceleraid card and if it would be aware of the issue - and I was pleasantly surprised that it was! There were tens of entries in /var/log/messages from the DAC960 module saying that drive 0:3 had failed. Fantastic. As this server is in no way mission-critical, a total wipe of the data would be fine. Having this opportunity to practice doing a rebuild with no associated risk, I'd like to see if we can do this 'live' without rebooting the system. We have put a spare drive into the slot but the rebuild has not happened automatically. Do you perhaps know how or if I can initiate this without having to reboot into the BIOS?
A Marcus, I did some investigating for a very similar question a year or two ago. I've gone back to the resources I found and it appears that they're still valid. The Mylex card, as you have discovered, has excellent Linux support and is a favourite of many sysadmins because of this. The kernel module provides great support directly from the command line without any third-party application being required; although excellent apps are available if you feel like splashing some cash. You can download the very good Mylex Global Array Manager (GAM) software from LSI's website at www.lsilogic.com. LSI has recently bought out Mylex but is still providing support for its products. GAM has a client and a server. The client installs on to your servers and the GAM server needs to be run from a Windows-based system. This, in my opinion, is the only downside to using this software - who wants to pay a Windows tax to run RAID monitoring software?
The second and preferred choice is to do this from the command line. The GAM module creates a directory tree called /proc/rd, where it puts plenty of relevant information about your array. Have a browse there and you'll see lots of info right down to the firmware version of each of the drives in the array. If this is your primary or only array it will be called c0 (for container 0). This proc structure also allows you to input data to it in order to issue commands to the controller. You can enter data into /proc/rd/c0/ user_command using echo to do a myriad of functions, including rebuilding, for example:
echo "rebuild 0:3" > /proc/rd/c0/user_command
Keep checking out log messages or the proc filesystem and you should see the rebuild taking place. Try viewing the file you just pumped the command into and you should see it giving feedback there too. Mylex put together good documentation on this proc structure in the README. DAC960 that should be packaged with your kernel's sources.
Follow us on Identi.ca or Twitter