Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have this crazy idea .. that might just work if I find my missing piece

  • Take network with 40 windows workstations (on 24 hours)
  • Each machine uses 20 GB out of 500 GB capacity
  • Install free copy of iStorageServer on each one
  • Create iSCSI target for on each one (400 GB x 40 = 16 TB raw storage)
  • On a central Linux server setup software RAID and LVM in such a way that if no more than 1/3 of workstations are down simultaneously, the storage is online. So 10 TB storage

... the last part is critical. If I use a regular linux MD type raid, all the traffic will create havoc on the LAN. But there must be something that can deal with this little more gracefully ... and if it was really smart it could also handle graceful degradation ... half of the wokstations offline? No problem .. see half of the files. They come back online.. there they are.

By the way, this would not be used for any mission critical data, high traffic data ... it would hold maybe some archive or a backup of a backup or maybe just a giant scratch disk for junk that needs to be put somewhere from time to time.

... and I'm kind of hoping that by posting this you will say "this already exists, and it supports Windows workstations as data repositories" (I know that it already exists on Linux)


share|improve this question

closed as not constructive by Ward, Iain, Skyhawk, Scott Pack, mailq Dec 10 '11 at 21:51

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

There have been schemes to do this going back years. The fact that none of them have really made it in the market makes me think that the impracticalities are too great to make it feasible. –  Evan Anderson Dec 10 '11 at 0:10

1 Answer 1

The reason this is difficult to do is simple -- consider what happens when a machine comes back online after having been offline for a long period of time. Most of its data is out of date. At this point, you have two choices:

1) You synch it up. But this will put a heavy load on all machines and the network until the machine is back in synch. And the data will be changing while you're trying to resynch it, and performance will suck for a while. And who knows, perhaps the moment you get the machine synched back up, it will just get shut off anyway.

2) You don't synch it up. This avoids the problem in 1 above. But the problem is that your redundancy level will gradually drop. If you hit the magic 1/3, you blow up and fail.

Conceptually, the problem is this: Say you have 9 machines and your design plan is that the data can be recovered with any three. Now say you actually have only three machines and you're still operating. You'll accumulate data that's only on those three machines. When a fourth machine comes up, you are in a vulnerable state where if a machine other than the one that just came up fails, you lose data. So you have to synch fast, regardless of the cost to performance.

That's not to say this is a bad idea. It's just useful only for certain types of data. For example, it's great for backups, since they don't change. And you can put new information on whichever machines are up at the time. And losing access to a backup temporarily isn't critical.

share|improve this answer
that's exactly the problem ... but there must be a more efficient way to sync. For example DRBD syncs only the blocks that changed, and there aren't going to be that many if the machine is down for even a week. –  Tomas Dec 9 '11 at 23:35
It depends completely on the type of data you're storing and the usage patterns. –  David Schwartz Dec 9 '11 at 23:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.