At long last, the code implementing RAID 5 and 6 has been merged into an experimental branch in the Btrfs repository; this is an important step toward its eventual arrival in the mainline kernel. The initial benchmark results look good, but there are a few issues yet to be ironed out before this code can be considered stable. Click below for the announcement, benchmark information, and some discussion of how higher-level RAID works in Btrfs. “This does sound quite a lot like MD raid, and that’s because it is. By doing the raid inside of Btrfs, we’re able to use different raid levels for metadata vs data, and we’re able to force parity rebuilds when crcs don’t match. Also management operations such as restriping and adding/removing drives are able to hook into the filesystem transactions. Longer term we’ll be able to skip reads on blocks that aren’t allocated and do other connections between raid56 and the FS metadata.“
Read more at LWN