Hacker News new | ask | show | jobs
by SubjectToChange 618 days ago
Facebook (well, Meta, I guess) is famously a big user and developer of btrfs. It seems to work just fine for them.
1 comments

> Facebook (well, Meta, I guess) is famously a big user and developer of btrfs. It seems to work just fine for them

I really, really, really wish people would STOP with the whole "it works for $SilconValleyCorp so it must work for me" or "$SiliconValleyCorp does it, so I must".

It only leads to disappointment in the case of the former and wholly un-necessary over-engineering in the case of the latter.

    (a) You do not know *how* or *where* Facebook use BTRFS
    (b) Even in the unlikely event they use it "everywhere", they have far more redundancy on every layer than you will ever have.  So they don't care if a random BTRFS instance borks itself.
    (c) Facebook probably employ the guy who invented BTRFS and an army of kernel developers on top of that .... how much in-house support do you have for BTRFS ?
As far as I am concerned, the fact that they STILL have not fixed RAID5 in BTRFS says everythng you need to know.
> You do not know how or where Facebook use BTRFS

(S)he does, their employees explained it many times. They're very public about it.

> So they don't care if a random BTRFS instance borks itself.

They do, according to Christ Mason (IIRC) they investigate every instance of btrfs corruption, regardless of how unimportant the machine and data were. They're not any more frequent than with any other filesystem.

> Facebook probably employ the guy who invented BTRFS and an army of kernel developers on top of that

Not an "army" (only a few developers), but you're correct here.

> they STILL have not fixed RAID5 in BTRFS

Why would they? It's a niche technology that's only interesting to a few home users. I am a home user and have no use for it (or any of the alternatives like raidz).

They haven't fixed raid 5 because no one serious uses parity raid in this decade. Try recruiting an Open source dev to write something that useless...
Look, I simply highlighted a major user of btrfs. Sorry if you have some complex emotions about them. But for some reason, I doubt you'd say the same thing when someone mentions Netflix using FreeBSD.

>(a) You do not know how or where Facebook use BTRFS

Their engineering team has posted a few of their use cases.

>(c) Facebook probably employ the guy who invented BTRFS and an army of kernel developers on top of that .... how much in-house support do you have for BTRFS ?

Uh, about as much as any other file system? Those changes and improvements are upstreamed to the kernel anyway. It's not like Facebook has some sort of special version of btrfs they are using.

>As far as I am concerned, the fact that they STILL have not fixed RAID5 in BTRFS says everythng you need to know.

As far as I know, the issue with RAID5 in btrfs is highly complex and it would take quite a bit of dedicated effort to make it work. I suppose it's a architectural shortcoming of btrfs. But then again, it's RAID5, a/k/a something only shoestring hobbyists really care about. Hence why no one is bothering to make it work in btrfs.

At the end of the day, btrfs is perfectly fine for home users and workstations. ZFS beats it out on servers, that's fine. Traditional filesystems are not the end-all be-all of storage anymore. No one has made a better ZFS because the industry has moved on to things Ceph, vSAN, AzureHCI, etc.

> But for some reason, I doubt you'd say the same thing when someone mentions Netflix using FreeBSD.

Actually, I would. Not because I'm a BSD hater, because we actually use a lot of BSD at $work.

But instead because I reckon I could safely win a bet with you that Netflix do not use the vanilla version of FreeBSD.

Most people I know would agree with me that the secret sauce will forever stay secret.

Sure, without a doubt Netflix contribute stuff back to FreeBSD. But I betcha it's not ALL the stuff. :)

The same goes for other famous FreeBSD users, e.g. Juniper Networks.

I'm happy to recommend FreeBSD to people, but if they're looking for Netflix or Juniper level network performance, they'll need to know they'll have to do the donkey work themselves because there's not a cats chance in hell they'll magically get it "out of the box".

Bet accepted.

Netflix runs -CURRENT and they have been very vocal about their approach to both developing and running a vanilla FreeBSD tree, i.e. https://freebsdfoundation.org/netflix-case-study/

In my personal experience, if you reach out to them, they will likely help you where it relates to their work and expertise including collaborating on works in progress that are not ready for main. You do have to configure and use appropriate software to get the same numbers as they, i.e. sendfile and some sysctls but any local changes they have would not be material to posting similar performance numbers.

How do I collect my winnings :)