Matthew Dillon dillon at
Mon Sep 13 08:46:01 PDT 2004

    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.


More information about the Kernel mailing list