Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

[RAID] Toying with OpenBSD softraid

jawtheshark (198669) writes | more than 3 years ago

Data Storage 2

As you read in previous journals, I now have 2x2TB in RAID1, both Hitachi disks and 1x2TB USB disk which is a Seagate, I'm not particularly a fan of Seagate, but it was on sale. What I tried today is the following:

  • Create a disklabel on the Seagate matching the Hitachis
  • Remove the Seagate
  • Remove the second Hitachi
  • Put in the Seagate in the place of the Hitachi
  • Try to rebuild the RAID

As you read in previous journals, I now have 2x2TB in RAID1, both Hitachi disks and 1x2TB USB disk which is a Seagate, I'm not particularly a fan of Seagate, but it was on sale. What I tried today is the following:

  • Create a disklabel on the Seagate matching the Hitachis
  • Remove the Seagate
  • Remove the second Hitachi
  • Put in the Seagate in the place of the Hitachi
  • Try to rebuild the RAID

Now that didn't quite work out as I expected. First off, I though that SATA would support hot-swap out of the box. I'm not sure the described problems are OpenBSDs "flaws" or due to my SATA chipset (running in AHCI mode). While the machine didn't fail immediately after the removal of the Hitachi, OpenBSD clearly kept insisting that the disk named sd1 was the Hitachi. Sooner or later I got a kernel panic. Upon reboot, sd1 was now indeed the Seagate and sd2 was the Hitachi. Oddly enough, OpenBSD detected that sd2 was formerly part of the RAID. It didn't insert it into the RAID, but the detection was clear from the dmesg. At this point I should have added the new disk to the RAID and rebuild, but due to the Hitachi interfering, I abstained.

I shut down the machine, put it back in the original state and rebooted. Everything comes up nicely, the softraid in degraded mode. It doesn't seem to restart the rebuild on it's own. After reading the man page, I tried several rebuild commands. None worked. Googling gave me tons of outdated information. Finally, I found a comment of the developer (Marco Peereboom) that he added an example to the man pages. That man page wasn't included in OpenBSD 4.7, but it is there on the OpenBSD website. Basically, for my system is was: bioctl -R /dev/sd1d sd3. Now the RAID is rebuilding. How long that will take is anyones guess ;-)

Next up: configure the Seagate as backup disk and leave the system alone.

I have not the impression this stuff is quite ready for prime-time. I fail to see an easy way to add a "new" disk to an existing array. I might be overseeing, but I guess I'll find out whenever one of those disks go haywire.

The good news of course, is that the system works in degraded mode which is a good thing. Coupled with the nightly backup, it should just be fine.

cancel ×

2 comments

heh (1)

artifex2004 (766107) | more than 3 years ago | (#34570940)

read the title as "so afraid."

Also, free, easy, fast, reliable. Pick any one. If you're lucky, maybe two. :)

Re:heh (1)

jawtheshark (198669) | more than 3 years ago | (#34571346)

Hehehe... :-) Good one... Well, actually "Good two".

Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...