1

I want to use btrfs with raid0 on three nvme drives. These should contain the operating system and most application files, whereas valuable user files will be on a network drive or seperate disk.

What is there any point in duplicating metadata with mkfs.btrfs -m if I am going to stripe the actual data? If one of the drives fails, everything will be lost anyway right? on the other hand, should I expect a performance impact either way? I am aiming for maximum throughput for my non-essential data I am actively working on.

1 Answer 1

1

In a nutshell, the block profiles you choose depends on what your aims are for the filesystem.

Metadata blocks are duplicated by default, even on single-device filesystems except for non-spinning devices (ex. SSD), not as insurance against complete drive failure, but as insurance against partial drive failure. Where as damaged data blocks would corrupt the file content stored in those data blocks, damaged metadata blocks would prevent access to the content. This makes metadata corruption more damaging to the filesystem overall.

The choice between stripping and duplication is the choice between throughput and redundancy. With RAID0 you get increased throughput because while one device is writing one block the other can be writing a different block. With RAID1 you get a reduced throughput because both devices need to write the same blocks.

So to get maximum throughput (and with BTRFS maximum disk space utilization), you may opt to use RAID0 for the metadata and data blocks.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.