I’m about to make a small upgrade building a new PC and I want to review the file system for it to be used together with Manjaro KDE Stable.
Currently I’m using 4 different hardware for storage:
SSD sata EXT4 for root and swap
SSD sata EXT4 dedicated for games
HD sata NTFS personal data files shared with windows
HD sata NTFS - Back-up personal data files shared with windows (this drive is unplugged, I use it only when doing back-ups)
New PC
SSD NVMe TBD for root and swap
SSD sata TBD dedicated for games
HD Tsata TBD personal data files shared with windows
no changes here
TBD = To be Defined
There are some hype for BTRFS due to snapshots, and Manjaro team put some effort in this direction, also Fedora team, but watching the video below where the guy present benchmark data and for his personal use he decided to use EXT4 for root and all the rest using OpenZFS, what is your opinion and recommendation?
My only decision right now is to convert my personal HD from NTFS to something else preferable self healing because I had some issue with new NTFS driver requiring me to boot windows to fix small issue and I’m not planning to install windows in the new machine, it’s not needed anymore.
Regarding snapshot both openZFS and BTRFS can be used with Timeshift and are well integrated to Manjaro tools/calamaris ?
ext4 is the defacto standard for Linux and it work well with any media.
If you need to exchange data between Windows & LInux - I’d suggest exFAT. While NTFS tend to be locked if Windows feels like it - exFAT won’t.
Other than that you should do a thorough research of the pro’s and con’s and make your own decision.
If you value your data - consider if your technical knowlegde level is adequate - play it safe - research especially on the con’s of considered filesystems.
Ext4 is the default standard, but when I do back-up with Timeshift it takes a lot of time to complete and it it copy all files (30GB each backup), so it’s time and resource consuming right? in this particular case for root partition looks like BTRFS and openZFS are a better option, they both have snapshot, and both are selfhealing, so looks like my data are better protected. Is this understand right?
For Game, performance is preferable, and the video shows openZFS is the current fastest one, right?
zfs needs more resources (so I’ve read, RAM in particular) - which could negatively affect overall performance of your system.
Games need processor/graphics and RAM - disk access is unlikely to be anywhere near to being a critical factor
and the different filesystems are not hugely different
and speed is different for different use cases (file size, more read or more write activity …)
It’s not as easy as:
this is faster than that, so: take what you think is the fastest
Much more important is that you know how to recover if something goes wrong - this is easy with ext4
with btrfs and zfs there is … a learning curve - which is not ideal when you need to get to your backup
A backup is only a backup if it is on a different disk in case the original fails - and that means doing a copy in any case, no matter the filesystem.
If you use Timeshift with rsync — which is the only way you can use it between separate filesystems — then it only consumes time and resources for the first backup. All subsequent backups are incremental and will use hard-links against the initial backup for files that have not changed. Hard-links do not consume any disk space because they are merely additional directory entries for already existing inodes.
I back up my entire system from a SATA3 SSD to a SATA2 HDD in roughly five to ten minutes when there has been a major system update, and about one to two minutes for intermediate backups.
Furthermore, filesystem throughput benchmarks are really meaningless on desktop systems due to the fact that the kernel uses caching and a virtual filesystem layer. It is only on servers with huge SQL databases and the likes where such benchmarks can be some sort of indication of the individual performance of each filesystem type, and even then there are huge differences in the numbers depending on what exactly is being tested for and what the usage scenario of the machine is.
That all said, I use btrfs because I like how sophisticated it is, but as @linux-aarhus said, ext4 is still the default, because it is time-proven and robust. That doesn’t mean that it would be the best choice, but it’s a reliable filesystem with good performance.
When using btrfs, i suggest using 2 devices from different vendors, so you are able to use RAID with btrfs.
Btrfs may be not the fastest, but if you use what it can best, it is very good. (I do use RAID1, (2 devices), compression (zfszstd:9, gain 2:1), snapshots (snapper 30-60, manually rollbacks) , maybe btrfs send in the future)
I’m using Timeshift with rsync, but all new back-up it does entirely new, maybe it’s a bug, so due to disk space issue I can keep only 2 back-ups, looks like with BTRFS the snapshots are faster and consume less space, and considering this file system is self healing, I assume that it requires less maintenance from users. Or this self learning in practice is a complete different story?
If that is the case, then you are backing up to a non-POSIX filesystem, such as NTFS. NTFS does not support hard-links, nor does it support POSIX file ownership and permissions. Therefore, it should not be used for backing up from a UNIX system, because Timeshift needs that information in order to be able to restore your backups with the correct permissions and ownership.
Yes, btrfs is self-healing, but btrfs snapshots are not backups.
Hello Aragorn, thanks for help but Looks like my systems is not behaving as you indicate, the timeshift back-up it done at the same SSD as root and it is EXT4, you can check in the picture below, you can also check 2 back-ups with just 2 days difference and the sizes are basically the same ~45GiB.
Note, the Timeshift indicates that windows filesystem are not supported, maybe the hard-links you mention is what BTRFS used for snapshots, but for EXT4 currently, each back-up is completely new.
Yes, BTRFS snapshot is not a back-up, and I use timeshift not as back-up itself but as system recovery in case of issues during updates / energy lost / System crash / forced reset, etc, I do back-up with different disk only for personal data as pointed in the original post, so snapshots fits my purpose of use. In case of hardware fault, we can replace the hardware and install everything again.
The percentage of disk space is the same because both back-up was already wrote in the disk, but as you can see below, I just deleted one of the two back-up and my total free space increased from 98GiB to 105GiB, so maybe you are partially right, part of the back-up is hard-link but it’s still 7GiB and it’s a lot.
Have you checked the size of the journald log? By default it reserves a huge portion of the filesystem it’s on. That is one of the reasons — by far not the only reason, but a valid reason still — why I use a separate partition for /var.
Those are all on an SATA3-connected SSD. My backups are stored on /dev/sdb2, which resides on an SATA2-connected HDD and which is also a btrfspartition.
Any additional recommendation or experience are welcome mainly related to EXT4 / BTRFS / openZFS
For other mate that ready this thread I’d like to mention that the new NTFS drive was big performance improvement, but in my case, once my PC has some GPU issue that makes it crash requiring reset and the new drive generates some small issue in the HD, as windows does, it prevent my system to boot requiring me to boot on windows to check and fix the disk and back again to Linux, this is the reason I will replace the NTFS used in my data files and let it just with back-up driver and so I have a good interchangeable file system, otherwise we always need a dual boot for safety reason.