submitted 2 years ago* (last edited 2 years ago) by to c/selfhosted@lemmy.world
 

A year ago I set up Ubuntu server with 3 ZFS pools on my server, normally I don't make copies of very large files but today I was making a copy of a ~30GB directory and I saw in rsync that the transfer doesn't exceed 3mb/s (cp is also very slow).

What is the best file system that "just works"? I'm thinking of migrating everything to ext4

EDIT: I really like the automatic pool recovery feature in ZFS, has saved me from 1 hard drive failure so far

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 2 years ago (2 children)

I'm confused with your answer. BTRFS is good and reliable. Ext4 gets fucked at the slightest issue.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 1 point 2 years ago

    Never had an issue with EXT4.

    Had a problem on a NAS where BTRFS was taking "too long" for systemD to check it, so just didn't mount it... bit of config tweaking and all is well again.

    I use EXT* and BTRFS where ever I can because I can manipulate it with standard tools (inc gparted).

    I have 1 LVM system which was interesting, but I wouldn't do it that way in the future (used to add drives on a media PC)

    And as for ZFS ... I'd say it's very similar to BTRFS, but just slightly too complex on Linux with all the licensing issues, etc. so I just can't be bothered with it.

    As a throw-away comment, I'd say ZFS is used by TrusNAS (not a problem, just sayin'...) and... that's about it??

    As to the OPs original question, I agree with the others here... something's not right there, but it's probably not the filesystem.

  • source
  • parent
  • [–] 0 points 2 years ago (2 children)

    Yes both BTRFS and Ext4 are vulnerable to unplanned powerloss when writes are in flight. Commonly knows as a write hole.

    For BTRFS since it use of Copy of Write, it is more vulnerable. As metadata needs to be updated and more. Ext4 does not have CoW.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 3 points 2 years ago (1 child)

    Ext4 does not have CoW.

    That's the only true part of this comment.

    As for everything else:

    Ext4 uses journaling to ensure consistency.

    btrfs' CoW makes it resistant to that issue by its nature; writes go elsewhere anyways, so you can delay the "commit" until everything is truly written and only then update the metadata (using a similar scheme again).

    Please read https://en.wikipedia.org/wiki/Journaling_file_system.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago (1 child)

    BTRFS is currently not Journaling

    https://lore.kernel.org/linux-btrfs/20220513113826.GV18596@twin.jikos.cz/T/#m46f1e018485e6cb2ed42602defee5963ed8c2789

    Qu Wenruo did a write up on some of the edge cases. Partial write being one of them.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 2 years ago

    What you just posted concerns the experimental RAID5/6 mode which, unlike all other block group modes, did not have CoW's inherent safety.

    As it stands, there is no stable RAID5/6 support in btrfs. If we're talking about non-experimental usage of btrfs, it is irrelevant.

  • source
  • parent
  • [–] 1 point 2 years ago* (1 child)

    For BTRFS since it use of Copy of Write, it is more vulnerable. As metadata needs to be updated and more. Ext4 does not have CoW.

    This is where theory and practice diverge and I bet a lot of people here will essentially have the same experience I have. I will never run an Ext filesystem again, not ever as I got burned multiple times both at home/homelab and at the datacenter with Ext shenanigans. BTRFS, ZFS, XFS all far superior and more reliable.

  • source
  • parent
  • hideshow 2 child comments