UnionFaps
bcachefs from patreon
bcachefs patreon

Erasure coding has been pushed

🕑 Added 2018-11-14 05:15:47 +0000 UTC

Comments

Interesting, as I indeed know that ZFS has serious problems in this area. I got lost, though on this part: "if we can have those buckets be reused for new writes quickly and without any cache flush commands in between, those journalling writes will never actually hit the physical platters or flash media - they'll be overwritten in the disk's write cache before they happen". What is the point of writing a temporary replicated copy first, when it will not be persistent on disk, before the final striped copy is touched? Can you clarify?

Kent Overstreet

Yeah, it should somewhat reduce the performance penalty of wide stripes - though, rebuild performance will be similar to conventional raid5/6. It already handles disks of different size - it'll do about what you describe. If you're just using replication across multiple disks of different size (more disks than nr_replicas), the allocator will just preferentially stripe across the disks with more free space so that all the disks fill up at about the same time.

I imagine this approach will decrease the performance penalty of using wide stripes? Will the code handle disks of different sizes? E.g., if I have five 8TB drives and three 12TB drives, and would like two-disk redundancy, will it fall back to writing 3 mirrored copies to the 12TB drives once the 8TB drives are full?

Now you can update the overview page, which still says "Erasure encoding (Reed-Solomon, i.e. RAID5/6): Not yet started". :-)

veritanuda

Ahh that is a good optimisation.. thanks!


More Creators