News for hackers. Stuff that matters.
Re:Petabytes on a budget: How to build cheap cloud storage by dmillar on Tuesday September 01, 2009 @10:38AM (#798063)
This is unbelievably awesome. Can you imagine what we could achieve if every company had this level of transparency?
Re:Petabytes on a budget: How to build cheap cloud storage by PStamatiou on Tuesday September 01, 2009 @11:03AM (#798108)
Thinking the exact same thing! While technology isn't more than any typical hacker can slap together in their apartment (minus maybe the case fab), I think the application is ingenious and the full blog post about it, like dmillar, pointed out is rather awe-inspiring. And I was all happy because my new Core i7 box has 2TB of space and 6GB of ram... sigh

That being said - did seagate ever fix their firmware issue on the 1.5TB drives that would cause random corruption? (heard about it maybe 6 months ago)

Re:Petabytes on a budget: How to build cheap cloud storage by jbellis on Tuesday September 01, 2009 @12:32PM (#798288)
> While technology isn't more than any typical hacker can slap together in their apartment

I think you missed the part about testing a dozen SATA cards, etc.

The attention to detail here is a lot more than something you'd slap together in your apartment.

Re:Petabytes on a budget: How to build cheap cloud storage by PStamatiou on Tuesday September 01, 2009 @12:36PM (#798298)
I would have some smart-ass comment here but I just read your HN profile. Good day, Sir.
Re:Petabytes on a budget: How to build cheap cloud storage by tzury on Wednesday September 02, 2009 @02:13AM (#799575)
smart move ;-)
Re:Petabytes on a budget: How to build cheap cloud storage by Periodic on Tuesday September 01, 2009 @02:59PM (#798615)
This is what always gets in my way. It takes a lot of work and a lot of expertise to put together a home-grown system that works as well as one from the major vendors. If you're only going to be using one or two, you're much better off going to one of those major vendors because a large part of the price is their expertise and testing that went into it. For a large setup like Backblaze they can spread the cost of design over many systems, but for smaller companies it just isn't feasible.

We hacker types love to think that we could do the same thing in no time with little budget, and I'm sure we could get a first approximation. But the devil is in the details. Debugging the complex interaction of 20 different hardware components is not my idea of fun.

Hats off to them, particularly for sharing.

Re:Petabytes on a budget: How to build cheap cloud storage by uhgygghhj on Tuesday September 01, 2009 @10:54PM (#799364)
I did this as an inhouse backup for a data warehousing app. Just slapping 4 ide cards into a case and putting 16x250gb IDE drives on them resulted in a system that would copy about 1 disk worth before hanging with some fault or suddenly dropping to 1% speed.

Just because you can in theory hook 40 drives to n cards doesn't mean it will work - well done to them

Re:Petabytes on a budget: How to build cheap cloud storage by rantfoil on Tuesday September 01, 2009 @03:19PM (#798666)
Secondary revenue streams anyone? I know we'd be interested in becoming a customer if Backblaze at some point decided to monetize this part of their knowledge too.

This seems like an opportunity to disrupt from the low end of the market for some scrappy enterprising engineers. If they don't do it, someone should.

Re:Petabytes on a budget: How to build cheap cloud storage by mmt on Wednesday September 02, 2009 @08:21PM (#801456)
I don't think it takes quite as much effort as you imply, since a fairly basic storage array from one of the major vendors is $100k. (And then there's "maintenance" and software upgrades, but that's a separate matter).

Even if you got a $100/hr consultant, $100k would be half a year. I suggest it could be done in half that time, by someone who has suitable background. Someone with the specific expertise should be able to do it in 6 weeks elapsed and 2 weeks of full time work, tops. (bt; dt)

Re:Petabytes on a budget: How to build cheap cloud storage by lsc on Tuesday September 01, 2009 @06:50PM (#799101)
as for the firmware 'bug' - yeah, they fixed that one, However, consumer sata disks are still not something you want in most raid systems. See, a consumer disk, when it encounters an unrecoverable error, retries over and over, hanging your raid until you fail the bad drive by hand. (tested on a 3ware hardware raid and with MD. I am given to understand that zfs handles this in a sane manner.) Western digital allows you to change the behavior, search for WDTLER, but in general.

I'm sure the backblaze folks have built something that handles that sort of thing into the system, but just saying; it's something you have to think about before you slap consumer drives into a raid that needs to keep working when one drive fails.

Re:Petabytes on a budget: How to build cheap cloud storage by Devilboy on Tuesday September 01, 2009 @08:25PM (#799188)
The cloud storage way is to avoid RAID 5 or 10 etc completely and just use triple JBOD instead - store each file / chunk of data on at least 3 JBOD drives and manage replication and whatnot in software. I think Google first popularized this technique.

The whole point of this excercise is reducing cost across the board and upgrading consumer SATA disks to enterprise ones will make this setup a whole lot more expensive since the drives make up most of the hardware cost.

Re:Petabytes on a budget: How to build cheap cloud storage by lsc on Tuesday September 01, 2009 @08:51PM (#799228)
But 3 jbod takes more space than raid5- in terms of disk cost, that's worse than raid10, zraid, or mirroring. The enterprise drives are maybe 20%-30% more expensive than consumer disk, while replicating your data 3 times is 50% more expensive than a mirror or raid 10.

Zfs, if it does deal with consumer drives as well as it claims to, would solve the problem at the same disk space cost as raid5.

Re:Petabytes on a budget: How to build cheap cloud storage by wmf on Tuesday September 01, 2009 @10:29PM (#799339)
To get reliability without replication, it's not enough to use enterprise drives; you need redundant controllers that are multipathed to the disks. This is fairly expensive.

If you want a shared-nothing cluster with less than 3x overhead you can use erasure codes. The software complexity is significant, but at scale it should be the cheapest option. http://cleversafe.org/ or http://allmydata.org/trac/tahoe

Re:Petabytes on a budget: How to build cheap cloud storage by lsc on Tuesday September 01, 2009 @11:27PM (#799405)
One solution I'm looking at is essentially mirrored raid5 over iscsi but it gets around your raid card single point of failure; the idea is that I have 2 zfs boxes (to begin/for testing these are OpenSolaris xen guests that control the spare drive slots I have in boxes that are primarily doing other things.) on each of those, i zraid the available drives. I then export iscsi luns of some standard size. The client box takes an iscsi lun from each opensolaris box and mirrors them with whatever software raid stack the client likes.

The big win here is caching... each of the opensolaris boxes can be using write-back caching, because all data is mirrored to the other opensolaris box. much like a NetAPP or EMC with dual heads, I don't have to worry about disk inconsistencies caused by write-back cache unless both drives fail. (of course, your 'real' dual-headed SAN will switch to write-through caching if one head dies, and doesn't require a full rebuild when the other head comes back online, but I can't afford a 'real' dual-headed SAN.)

Rebuild times, I imagine, will be quite significant.

Now, I am very leery of the performance of this system (being as these are xen instances, it wouldn't surprise me if it was unsuitable for anything but tape replacement) but I haven't tried yet. It seems, though that it would work just fine if I was not too cheap to use real hardware.

If you wanted to add complexity, you could have 3 or more of these opensolaris boxes, and use software raid5 on the client to save space.

Re:Petabytes on a budget: How to build cheap cloud storage by gstar on Wednesday September 02, 2009 @04:13AM (#799711)
Are your target boxes virtual machines?

I always prefer the strategy where mirroring the data happens before the disk is presented to the VM. Have a look at GlusterFS and see if that might be an option? I know it wasn't playing nice with zfs for a while there, though.

Re:Petabytes on a budget: How to build cheap cloud storage by lsc on Wednesday September 02, 2009 @01:29PM (#800664)
Virtual private servers, yes. I use Xen.

And I agree, giving the user 2 block devices and expecting them to mirror is a very bad idea. I know this from experience. in an earlier setup, I'd give each user two block devices, one from each disk in the box. the idea being the user would mirror or not as appropriate. well, you loose a customers data, you loose the customer. Lesson learned.

But this is where my virtual setup gives me an edge. On every Xen server, I have a control guest or driver domain, the dom0. all disk and net I/O goes through the dom0 anyhow, so there wouldn't be much more overhead to me doing the mirroring on the Dom0, and passing the md through to the DomU (what the user controls.) I'm not adding another point of failure, either; if the dom0 chokes, all guests on the system will crash regardless.

Re:Petabytes on a budget: How to build cheap cloud storage by Devilboy on Tuesday September 01, 2009 @10:28PM (#799336)
In a RAID 5 set you lose a lot of throughput when a drive fails, and with TB drives it takes many hours for a hot spare to replicate the missing data. During that time another drive failure is catastrophic for your data and the more disks in your RAID 5 set the more likely this scenario becomes. When you get to petabytes of data such catastrophic failures are just a matter of time.

With RAID10 again you have to build large arrays to beat triple JBOD for storage efficiency - a 12 x 1TB array yields 5TB usable space while triple JBOD gives you 4TB. BUT you still have a single point of failure - your RAID card can give out and your array is unavailable. Using triple JBOD you'll be able to have your data on different physical machines or even geographically separate data centers if you wish.

The advantages outweigh the reduction of storage density when you're dealing with petabytes of storage - why else would Google et al be doing it?

Re:Petabytes on a budget: How to build cheap cloud storage by lsc on Tuesday September 01, 2009 @11:52PM (#799440)
raid5 sucks hard when a drive fails, you are right. But, see, for me, what I need is something that can be mounted as a block device by a xen DomU. Something that performs reasonably well.

On top of that, I am kindof dumb compared to the sort of person I'd want writing my block device drivers. I want to take well-tested, open-source software components and plug them together in a clear manner. I don't know of anything off the shelf that will give me a filesystem with reasonable performance on a '3 jbod' system, unless you mean running md in a raid1 with 3 drives. (I'm actually doing that on my more remote servers; the idea is that I can wait longer before replacing a bad disk.)

The system I proposed above is basically that you can export drives that may fail to clients, who can then do their own redundancy. Because the drive is specified as 'may fail' write-back caching may be utilized. (God, ram has become cheap.) The client, in my case, will be the Dom0 of the DomU that wants the space, but if I was selling this space to random people on the internets, it seems that the client could be some box running md that treats it's iscsi devices syncronously, meaning it waits for the write to return from both MD devices before it returns it's write. If the intermediary client device did no caching at all, it seems that I may be able to setup IP failover. (though that part... sounds dangerous. I'd need to be very careful with 'fencing' it or what have you, so that the two nodes were not active at once.)

Re:Petabytes on a budget: How to build cheap cloud storage by Devilboy on Wednesday September 02, 2009 @02:15AM (#799576)
Yea I see your point. I think in the end it still comes down to scale, for a couple of racks it's not worth the risk and effort while on a larger scale it might be worth brewing your own meta-filestorage system.
Re:Petabytes on a budget: How to build cheap cloud storage by lsc on Wednesday September 02, 2009 @01:23PM (#800646)
Yeah. that's my thought. I'm at a couple racks now, but I want a solution that will scale beyond that. Thing is, to be honest, the coraid crap will probably be more reliable (and cheaper if you include my time) than stuff I build myself for the first few units, until I learn what I'm doing, but long-term, I could be significantly better off if my idea works as planned, as my units are potentially much cheaper and have a whole lot more cache (and cache redundancy) than the coraid.

On the other hand, if I handle the 'beta' poorly, like taking it out of beta early, there won't be a long term to worry about.

Re:Petabytes on a budget: How to build cheap cloud storage by uhgygghhj on Tuesday September 01, 2009 @10:56PM (#799367)
Does anyone use raid if they could use ZFS ? These people can be on BSD and so could use ZFS for free
Re:Petabytes on a budget: How to build cheap cloud storage by bestes on Tuesday September 01, 2009 @12:39PM (#798304)
Yes, they did a firmware update. Here is one article that talks about it: http://www.tomshardware.com/news/seagate-barracuda-1.5TB-fre...
Re:Petabytes on a budget: How to build cheap cloud storage by herf on Tuesday September 01, 2009 @06:26PM (#799076)
Seagate took about 4 months to fully resolve the issue (their first fix had a bug!) I had a drive that bricked when applying the fix several months after the initial firmware updates. Apparently a buffer overflow in the error log that locked the drive on reboot.

Seems dangerous to source all your hardware from one vendor over a small timeframe. Would be nice to have some redundancy over manufacturers too.

Re:Petabytes on a budget: How to build cheap cloud storage by sophacles on Tuesday September 01, 2009 @11:37AM (#798180)
I have the 500GB in the same series (with the corrupted firmware) and the fix did very nice things for it. Also, I have never had problems with the 7200.12 (the newer version of the same drive) in a 1TB model.
Re:Petabytes on a budget: How to build cheap cloud storage by barrkel on Tuesday September 01, 2009 @11:27AM (#798156)
I should think so - I have 4 of them in my ZFS pool, and scrubs are turning up no errors.