(Free?) iSCISI / AoE target/server for end-user OS
So, I'm looking in to setting up a classroom of computers of some kind to be "multimedia" machines - video editing, image editing, that sort of thing. We lack money, so this has to be done as cheaply as possible. We'll be needing a large wodge of fast-access disk space. The obvious choice is for a large, central file-server attached to the same (dedicated) switch as the classroom of PCs, probably set up as RAID-10 with two harddrives for each client PC and a top-range hardware RAID controller. That, however, is expensive.
My idea is to get each computer in the room to share half of its harddrive as a block device that can be integrated into some kind of higher-level shared storage "device" - i.e. each machine shares a disk partition and "sees" a large, central file store that is stitched together somehow out of a bunch of such shared partitions.
So, how do I actually go about doing the above? I need some way of exporting block storage devices from computers. This is doable with iSCISI, of course. However, iSCISI target software tends to be server-orientated, typically needing a server OS to run (i.e. Windows Server 2003/2008) and priced as if you're only going to want one copy (i.e. buying 20-odd copies is totally beyond any kind of budget we have).
If we go with Mac Minis in our new suite, I think this software will allow us to export a partition over AoE:
ATA over Ethernet Tools
The documentation reckons that it compiles on "FreeBSD-based systems", so I figure it means Mac OS X. Does anyone know of anything similar for Windows XP - anything that can act as an iSCISI target or AoE server on a client PC? Anyone any idea if the above compiles on Windows, maybe? I suppose one option is to run the above in a virtual machine on each user's machine, but I can't help feeling that's going to affect performance somewhat.
Obviously I'll still need a central server of some kind to stitch all the shared block devices together into something I can put a filesystem on, and I figured something with a decent amount of RAM and running Ubuntu with software RAID would do. Any better suggestions/comments appreciated.
Also, as far as disk arrays go, such an array made from random PCs is likely to get a fair bit of down-time on individual disks. Rather than the standard RAID-1 with information mirrored between two drives, is there some way to get RAID mirroring between 3 drives?