Online Book Reader

Home Category

Managing RAID on Linux - Derek Vadala [80]

By Root 1387 0
evaluation of hardware RAID controllers, I encountered compatibility issues with nearly every card I tested. I used several different motherboards (each with a different BIOS and chipset) and found that each card had problems with at least one of the motherboards, ranging from data corruption to general system failure. In some, but not all cases, upgrading the controller and the motherboard to the most up-to-date firmware resolved the issues. Ironically, the one card that worked with all three motherboards I tested did not work reliably with the disks I was using until I upgraded both the controller and the drive firmware.

Controller Memory

The controller uses memory to cache data during write operations. This process improves overall write performance and helps the system recover from a crash by storing unwritten data in the controller cache and committing the data to disk when the system restarts. The more controller cache you have, the more data the card can buffer before committing the data to disk.

All RAID controllers come with a fixed amount of onboard memory, but it can usually be augmented by purchasing memory expansion kits.

* * *

Tip

In some cases, memory expansion kits are available only at the time of purchase. You may not be able to order the kits standalone and install them yourself. While many RAID controllers use standard 72-pin SDRAM DIMMs (Dual Inline Memory Modules), purchasing untested third-party upgrades is likely to void the controller's warranty. Please check with the vendor before upgrading any controller.

* * *

Purchasing additional controller memory is a good idea if you typically work with a lot of large files, such as audio, video, or image files. If you have a lot of small files or files of varying sizes, additional cache memory is unlikely to improve performance. In general, additional controller cache memory will improve performance on systems that have a lot of large sequential file I/O. Systems that lean toward random I/O on small files won't see much of a difference. A typical office file server probably doesn't need extra memory. A graphics or video production workstation does.

Battery backed-up cache memory

Many high-end controllers support an optional battery pack that ensures that data in the controller cache memory is preserved during power failures. The amount of memory you have on your controller generally affects how long the cache memory will be preserved when the system loses power. Thus, if you purchase a controller with extra memory, the time that the controller can preserve data in the cache decreases. Cards with less memory can store data in the cache for a longer period because there is less memory to power.

Product specification sheets or pre-sales materials should provide you with a chart showing the length of time that cache memory will be preserved, based on how much memory you have. Some vendors increase the number of batteries based on the amount of memory installed, so that the duration of time when memory is preserved is consistent, regardless of how much memory you purchase. Check the specifications prior to purchase to make sure that the controller and memory combinations meet your needs.

JBOD (Just a Bunch of Disks)

While nearly all controllers support JBOD mode at this point, it's still a good idea to check with your vendor before purchasing. In particular, make sure that Linux will recognize disks that are connected to the controller but are not part of any array. If you don't buy a card that supports JBOD mode, you'll need a separate controller for any non-RAID disks you want to connect to the system. Usually there are a couple of controllers on the motherboard, but it's best to double-check.

Software Considerations

There are also software issues to consider. First, is the controller you are thinking about purchasing supported by Linux? If there is support, is it open source and integrated into the kernel? Or is it available only as a kernel patch or as a binary-only kernel module?

Integrated open source support is obviously

Return Main Page Previous Page Next Page

®Online Book Reader