What filesystem is currently best for a single nvme drive with regard to performance read/write as well as stability/no file loss? ext4 seems very old, btrfs is used by RHEL, ZFS seems to be quite good… what do people tend to use nowadays? What is an arch users go-to filesystem?

  • SinJab0n@mujico.org
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    First of all, thanks this r news for me. But I don’t think is a good idea to use the swap file in btrfs.

    It is supported since kernel 5.0

    There are some limitations of the implementation in BTRFS and Linux swap subsystem:

    filesystem - must be only single device
    
    filesystem - must have only single data profile
    
    subvolume - cannot be snapshotted if it contains any active swapfiles
    
    swapfile - must be preallocated (i.e. no holes)
    
    swapfile - must be NODATACOW (i.e. also NODATASUM, no compression)
    

    With active swapfiles, the following whole-filesystem operations will skip swapfile extents or may fail:

    balance - block groups with extents of any active swapfiles are skipped and reported, the rest will be processed normally
    
    resize grow - unaffected
    
    resize shrink - works as long as the extents of any active swapfiles are outside of the shrunk range
    
    device add - if the new devices do not interfere with any already active swapfiles this operation will work, though no new swapfile can be activated afterwards
    
    device delete - if the device has been added as above, it can be also deleted
    
    device replace - ditto
    
    • LaggyKar
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Yes, there are some limitations to be aware of, with how it interacts with certain features. But EXT4 doesn’t have any of those features at all. It doesn’t have CoW, or balance, or multi-device, or snapshots.

      If the filesystem, is single-device, and you have the swapfile on it’s own nocow subvolume, preallocate the swapfile, and don’t try to take snapshots of it, it should be fine.