If you're going for Mac Minis can't you run a DRBD system on them?
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?
If you're going for Mac Minis can't you run a DRBD system on them?
For a start, mac mini's aren't going to be fast as they will only have a 2.5" drive thats not going to run at more than 5400 rpm. I should think a lot of work would be needed to get anything for freebsd to compile and work on OS X if there isn't an existing version.
ATA over ethernet can only be accessed by one device, so something would still have to be a server to control all the disks. It also seems to be aimed at use over a SAN rather than ethernet due to security etc.
If you want fast, reliable and accessible storage you will have to spend money on it at some point.
You may me able to play with this Distributed storage. It could make an array of all of the clients avalible as a block device via the server. There are also a few MS research projects that could be helpful (PAST - A peer-to-peer scalable, persistent and anonymous storage utility). I think one runs under java.
This looks like the commertial variation of the RAID Across Independent Gigabit Ethernet idea Pivot3, media portrail here
Another thought, as most of these solutions tend to be totally linux based you may be able to still use them under a X system by using a cutdown GUIless linux install in a VM on each client that has direct access to a dedicated partition. If you are using Mac minis though I don't think that it will be as speedy as hoped as those little 5400rpm drives are dog slow in comparison to full sized full speed drives.
The one issue with this kind of distributed system is the requirement for most of the pcs to be on before the drive is able to be accessed and making the drive avalible automatically without having to manually tell it to go once all of the pcs are avalible. I guess you could probably do this with a clever script that checks the avalibility though.
I would have thought there'd have been a way to use DRBD to do this....oh well.
The project in question actually has a "compile for BSD" switch, and I understand that Mac OS X still maintains compatibility with its BSD roots. Of course, "compatibility" means different things to different people - I used to work for a company as a source code control/build system maintainer when they were porting their existing products to the then-brand-new Mac OS X. There were some oddities in behaviour between Mac OS 9, BSD and whatever other bits Apple had cobbled together to make Mac OS X.I should think a lot of work would be needed to get anything for freebsd to compile and work on OS X if there isn't an existing version.
That's the idea, yes - we'll need something to stitch all the component block devices together. Actually, I was thinking to have the controlling server run entirely off a RAM disk for performance, and give it a shed load of network cards.ATA over ethernet can only be accessed by one device, so something would still have to be a server to control all the disks.
Indeed. Obviously I was going to have the PCs on the same (decent-specification) local switch as the server (AoE is switchable, but not routable), but a second ethernet port in each client machine dedicated to the storage system, plus a separate dedicated switch, would probably be best. Again, not sure this is doable with the Mac Mini, although you can actually get PC motherboards now with dual gigabit ethernet built right in.It also seems to be aimed at use over a SAN rather than ethernet due to security etc.
Well, yes, but we don't have money, hence I need to come up with a different solution. Besides, it might just be a stunning success and demonstrate a new way to make use of otherwise idle resources! No one else seems to have tried this yet, so we might as well give it a go and see what happens.If you want fast, reliable and accessible storage you will have to spend money on it at some point.
Yes, hence I need a proper iSCISI or AoE driver that installs as a service under Windows XP - cobbling something together out of startup scripts under Windows is just going to be too flaky. This would be dead easy under *nix, of course!The one issue with this kind of distributed system is the requirement for most of the pcs to be on before the drive is able to be accessed and making the drive avalible automatically without having to manually tell it to go once all of the pcs are avalible.
It also looks expensive - their clients are listed as places like casinos, they don't even list their prices. Looks like if you have to ask, you can't afford it...This looks like the commertial variation of the RAID Across Independent Gigabit Ethernet idea
There are currently 1 users browsing this thread. (0 members and 1 guests)