I am planning on creating a home server with either 2 (RAID1) or 3 (RAID5) HDDs as bulk storage and 1 SSD as bcache.

The question is, what file system should I use for the HDDs? I am thinking of ext4 or xfs, as I heard btrfs is not recommended for my use case for some reason.

Do you all have some advice to give on what file system to use, as well as some other tips?

  • @[email protected]OP
    link
    fedilink
    English
    214 days ago

    Are there some advantages of btrfs over raid? I understand how raid works but btrfs for redundancy is foreign to me.

    • @[email protected]
      link
      fedilink
      English
      514 days ago

      BTRFS has RAID built into the file system - instead of using MD you use BTRFS profiles which tell the system how to handle data.

      For instance

      • file system data (critical for the file system to function): raid1c3 which means 3 copies of core P file system data on 3 different devices
      • user data: raid1 (so duplicating all your data on two different devices)

      With this set up you could lose one device (of n, the total doesn’t matter), and not lose any data, and still be able to boot to recover with too much hassle.

      BTRFS does block checksums, can scan for bit rot and recover from it, and generally tries to make your data safe. It technically supports raid5/6 for user data, the issue is around unclean shutdowns and a potential write hole where you could lose data, but if your system has a UPS backup and is on a relatively recent kernel it’s not any more dangerous than MD raid5/6 as I understand it.

    • umami_wasabi
      link
      fedilink
      English
      2
      edit-2
      14 days ago

      I use BTRFS for snapshots, and auto compression. Maybe it can be done with raids with LVM? AFAIK BTRFS redundancy is basically the same as traditional RAID, similar to using mdadm. Still, you would want a backup strat instead relying on the disk redundancy. I learn that the hardway.