Software raid VS hardware raid

Michael Powell nightrecon at hotmail.com
Tue Jan 29 12:26:03 UTC 2013


Artem Kuchin wrote:

[snip]
> The server is going to be a web server with many sites and with mysql
> running on it. Nothing really really
> heavy. Currently with run all this on our own server with 8 cores and
> 16GB ram and 3ware raid1
> and cpu load is about 5% :) Everything is quick and responsive. I hope
> to see the same on a software raid.

The controller would be a slight concern. But for what you've described 
doing I doubt it will be a big deal. The 3Ware may have a faster processor 
on it than say a generic onboard built-in. But since all we're talking here 
is a RAID 1 mirror my guess is it may not be a big enough difference to see. 
Writes will be just as if you are writing to 1 drive, reads will be faster. 
Maybe that 5% cpu load turns into 6% or 7%.
 
> I really don't want to deploy ZFS on a new server where all these site
> need to migrate because i am kind of
> "don't fix it if it is not broken" kind of guy.
> UFS+journaling+softupdates served us well for years and snapshots
> are available on ufs too.

I understand; I've only played around with ZFS some on Solaris. I may move 
in that direction some day, but for now....
 
> My other concern is what happens when one drive goes down if we use
> gmirror? Is it completelly transparent
> and bad drive can be hot swapped while server is running and rebuild
> started?
> I am thinking now about gpt+gmirror (including boot and swap)

I've never actually hot-swapped one but I can't see any reason why not. You 
can't use the gmirror remove directive when a drive has failed, but you do a 
gmirror forget <device> , swap it, then just do gmirror insert <device> to 
insert the replaced drive into the mirror. When everything is working as it 
should gmirror is mostly 'automatic', e.g. after the insert the rebuild just 
starts. Main thing I appreciated about this is the server stayed up and 
online after one drive died. 

My two servers at home are my testbeds to test out things first before doing 
stuff to the ones at work. I just installed both to 9.1. The difference now is 
I've used GPT (gpart) and this is new to me. Previously everything was 
always fdisk and disklabel. Both these machines are setup on one drive at 
this point and I haven't yet gotten into the mirroring yet.  

With the old fdisk/disklabel it was simple to just mirror the entire drive 
itself (slice). The other approach is to mirror partitions. I think I may 
need to do this as I think this is the way you have to proceed in order to 
avoid having gpt and gmirror both trying to claim the last sector on the 
drive (metadata storage). 

-Mike




More information about the freebsd-questions mailing list