DragonFly kernel List (threaded) for 2004-09
If you want *real* RAID, you want to use an external raid with a SCSI
port. Second choice would be to use a real raid controller. Third
choice would be to use a software solution.
Doing RAID properly in software requires either having battery backed
ram cache or having reliable off-machine cache (which could be another
machine on its own UPS, frankly). I think the off-machine choice is a
lot more viable these days with the availability of cheap GigE.
Vinum is a rather fragile piece of software, it would not be my first
choice despite all the fine work done on it.
As far as Geom goes... well, I really dislike the idea of having to
implement complex drivers in the kernel. I have been slowly cleaning up
our IO infrastructure to allow IO devices to be properly stacked (our
disk layer, for example, is now properly stacked), but ultimately I think
the real win here will be to form a streaming protocol that could run
over a TCP socket to govern the I/O (not necessarily NAS). Then one
would be able to build drivers to run in userland and/or on remote
machines. The only real latency issue is, as always, with READ ops,
but a kernel supported data block cache at the block device level would
mostly solve that issue.