Module-based RAID Card drivers? NEED IMMEDIATE HELP!

I have an Oracle Database Server that I really need to get a new RAID card for. Here is one of the issues... Currently, my existing raid card's drivers need to be compiled into the kernel. However, the problem is that when I apply an updated kernel from Oracle, I loose the RAID support on my system.

Are there any RAID Cards whose drivers are module-based?
If not, is there a reason why these drivers need to be compiled into the kernel?

Who is Participating?
macker-Connect With a Mentor Commented:
There is aboslutely no reason that a driver must be compiled into the kernel rather than as a module, with two possible exceptions.

1) initrd isn't being used.
2) the driver is a patch to the kernel and does not support being used in a modular fashion.

The first would be a problem if you're booting the system from a RAID device, but do not have initrd (initial ramdisk) support enabled.  initrd works by loading with the kernel into ramdisk, so that drivers can be loaded into memory.  Without initrd, you must statically compile the driver into the kernel, otherwise the kernel will boot but not have support for the RAID card loaded, hence unable to access the filesystem and load the module.

The second problem would indicate rather poor support for the RAID card.  If this is the case, then it's hardware from a manufacturer who's hardware probably shouldn't be used in Linux environments.  Adaptec, AMI MegaRaid, LSI Logic, HP SmartArray and other RAID controllers all have fine support in Linux.  The Linux Hardware Compatability List (HCL) is an excellent resource for determining well-supported hardware in Linux.  Adaptec and 3COM both have a very good name amongst Linux communities for their excellent support of multiple operating systems, though there may be better hardware available for specific applications.  If you're dealing with IDE RAID rather than SCSI, look no further than 3Ware.

However, please keep in mind that kernel modules should be version-matched to the kernel; in some cases, this may be required, and in other cases it may be possible to produce a version-independent driver (though there's no guarantee that it will always work flawlessly).  It's best to recompile the driver each time the kernel is recompiled, but if the patch does not make significant changes and the kernel version is not changing, it should be possible to continue using the same initrd and/or driver module.o file.
> my existing raid card's drivers need to be compiled into the kernel.
I believe it need to be compiled "for" the kernel instead of "into" the kernel.
What's the existing RAID card model? Maybe the new kernel patch have it built-in.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.