OpenBSD Journal

RAID Management in 3.8

Contributed by jolan on from the 3.8-goodies dept.

Some of you may remember that shortly before the 3.7 release was finalized, the Adaptec RAID driver was disabled in GENERIC. This was done to reinforce OpenBSD's "because it has to be free" philosophy after getting the run around from Adaptec about when freely available RAID management tools would become available. In the spirit of displacing proprietary tools by creating a free and open competitor, OpenBSD 3.8 will ship with the beginnings of a RAID management framework.

Work initially began by making the ami(4) driver aware of the mappings of physical disks to logical disks and adding RAID ioctls. Next, support for SCSI enclosures was fleshed out. The safte(4) driver was written and the ses(4) driver was re-written. This was done for the reporting of hardware monitor data such as temperature, fan speed, and power status. It also provided functionality for blinking lights on the enclosure so finding the correct drive to swap would be easier. Finally, the bioctl(8) utility was designed in order to query drive status, enable alarms, and issue commands on a given RAID controller.

This is a minimal implementation which lacks a drive failure notification mechanism (bioctl must be run to see a failure), but there is support for hot spares and online rebuilding of a degraded array. Keep in mind that bio(4) and bioctl are the start of framework which can be expanded to support more hardware.

Theo has sent a mail to misc@ with more information and a mini-demo of how all the pieces and commands fit together.

(Comments are closed)

  1. By Rene ( on

    Great work! This is something that will truly be of great benefit to the community. OpenBSD seems to be getting better and better exponentially...

    1. By Anonymous Coward ( on

      I would have to agree with you on this :) Every release always has something new and original ideas.

    2. By Anonymous Coward ( on

      yeah. and water is wet!

  2. By Chris ( on


  3. By Jim ( on

    A simple cron job running bioctl to check and report on failures is a significant step forward for those running hardware in remote data centers. I tried to explain that to Adaptec. I was told they had an API and that a FreeBSD coder would supply the code/glue for OpenBSD... Whatever... At least we can count the OpenBSD developers to make stuff really happen. I am already buying more AMI controllers and replacing the Adaptec controllers currently deployed.

    1. By Brad ( brad at comstyle dot com on

      IMO adding management capabilities for the Adaptec aac(4) driver is silly until the driver actually runs stable without any lockups or crashing due to firmware bugs. Once those issues have been resolved then it would make sense to attempt adding the management interface for bioctl(8) to use. Besides Adaptec RAID isn't used much in any servers I've seen. ciss(4), cac(4) and gdt(4) are better targets first.

      1. By Michael Knudsen ( on

        I want cac(4) and mpt(4) as well. I guess in general the chance is pretty slim of getting anything else supported -- at least from what I've heard about vendors' willingness to open up documentation.

        1. By Marco Peereboom ( on

          I will be adding more stuff as I go but the next card on my list is mpt(4). Anyone who is willing to step up and write code for others please contact me.

  4. By Jim ( on

    It would be really nice to have RAID setup hooked into the install process. Imagine setting up a RAID 5 array with a hot spare, and then dropping into the partitioning dialogue to carve out /, /tmp, /etc...

    Or does that bloat the install script too much?.?.

    1. By Nate ( on

      Reminds me of the option of shell choice in the install, noone really cares enough.

      1. By Brad ( brad at comstyle dot com on

        shell choice in the install? gimme a break. trying thinking of something that is actually useful for the install process. this is definitely not something that has to be or even should be in the installer.

    2. By David Gwynne ( on

      Configure your raid sets in the controllers bios before you boot the installer. It has the same effect as what you're after.

      1. By Anonymous Coward ( on

        the world is i386 isn't it?

        1. By David Gwynne ( on

          No, it isn't. However most (if not all) of the raid controllers only run on i386 and amd64. Therefore asking you to configure the controller in its bios isnt unreasonable at the moment.

          1. By chris cappuccio ( on

            Actually, that's bullshit. Plenty of raid controllers have openfirmware to run on sun (and perhaps some might work on macppc?) and you can get alpha and other firmwares for several as well.

            1. By Brad ( on

              Chris, there is a big difference between what could be possible and what the *OpenBSD drivers* can do *right now*. So no, it is not bullshit.

  5. By Anonymous Coward ( on kerneltrap article.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]