iXsystems Develops New GEOM-based FreeBSD RAID Driver

Share Article

New driver enables replacement of aging ataraid driver

iXsystems has recently completed work on graid, a revised software-assisted RAID driver for FreeBSD. The graid driver replaces the existing ataraid driver with a new GEOM-based implementation. This allows graid to create stable, OS-independent software RAID arrays.

OS-independence in a RAID array means that no matter which operating system you use or install, the RAID will be recognized and addressed the same way. This also allows for the metadata format the RAID is built with to be migrated to another type.

Synchronizing a RAID across multiple operating systems is difficult to do manually, and the stakes are high if the user isn’t careful. For this reason, it is preferable to automate the process in order to protect user data and avoid headaches.

“You don't want to accidentally mount one of the mirror shares and not the mirror itself. It’s an easy mistake to make. At the moment I've unplugged the second hard drive on both my desktops, and am running without any RAID,“ says Paul Vixie, Chairman and Chief Scientist of ISC. “At some point I will plug in a 2-port SATA raid card and reinstall everything. All because I fear ‘ataraid’.”

This kind of RAID support represents a gigantic milestone for the FreeBSD Project as a whole. The ataraid driver has been widely known as having poor reliability, and many users have instead used gstripe or gmirror to accomplish the kind of configuration that ataraid is designed for, often with mixed results.

It is increasingly popular to use software-assisted RAID in desktop and server environments, especially when a dedicated RAID card would be too expensive or otherwise impractical. While this does have a penalty in terms of CPU overhead, the cost savings and overall system simplicity often tend to make it an attractive option regardless. The addition of this functionality to the FreeBSD codebase represents a giant milestone in filesystem performance and cross-platform compatibility.

Because of this increased desire for software-assisted RAID, the need for a new GEOM-based RAID driver in FreeBSD has been widely recognized by the community for some time. Given its expertise in FreeBSD development, iXsystems was well positioned to contribute resources to the project.

“The ataraid driver is heavily tied in to the ata(4) subsystem in the current release of FreeBSD,” says Alexander Motin, a primary graid developer and member of the FreeBSD Project. “Since the entire ata(4) subsystem is going to be replaced in version 9.0 by the new CAM-based subsystem, we started the graid project to protect and upgrade FreeBSD’s software RAID functionality.”

Currently, the graid driver has all required core functionality and the first set of transformation and metadata modules. Transformation modules have just been implemented for RAID0, RAID1, RAID1E, RAID10, and CONCAT. Each RAID level supports reading, writing, rebuilding, I/O error recovery, and kernel dumps.

Metadata modules have been written for the Intel and JMicron RAID BIOS formats. The JMicron format is minimalistic, while the Intel format is more complex. Currently, all features except RAID level migration are supported in both modules at this time.

Work is in progress on Promise (AMD) and SiliconImage formats. Support is planned for other metadata formats and RAID levels at a later date.

About iXsystems

iXsystems is the all-around FreeBSD company that builds FreeBSD-certified servers and storage solutions, runs the FreeBSD Mall, and is the corporate sponsor of the PC-BSD Project. iXsystems is an employee-owned and operated, open source-centric, customer focused organization, dedicated to providing the highest quality built-to-order enterprise rackmount server solutions, pre-configured server appliances, and scalable storage solutions to our customers around the globe.

# # #

Share article on social media or email:

View article via:

Pdf Print

Contact Author

Denise Ebery
(408) 943-4100 119
Email >
Visit website