What is best filesystem for NVME drives? The simplest, fastest, but reliable too?
Also, what is best option to encrypt this filesystem?
Btrfs is very complex and unstable.
I find that the most appropriate file system depends not on the underlying storage but rather the use case. I’d use zfs/btrfs on NVME drives if they were the underlying storage for a large storage array, but if we’re talking the boot drive I’d stick to ext4; an nvme drive in an external enclosure connected via USB might even be formatted fat32 depending on size and if I needed cross platform compatibility.
I’d consider use case before form factor/connected bus as the use case impacts which formatting is going to be most appropriate more than anything else in my experience.
There’s no “one size fits all”.
Straight off the bat, if it’s a boot drive then the file system has to be supported by the underlying boot mechanism. That doesn’t necessarily matter if there is a separate boot partition but the overall boot process still has to support the file system. Even so, for the boot drive, many people don’t get to choose because the original installation software made the choice.
Beyond that, it depends on many questions:
- what is the size of the disk?
- what is the size of the largest file?
- are there a small number of large files or a large number of small files?
- are you reading data more than it is written, or the reverse?
- are there any interoperability requirements (with other operating systems or other operating environments)?
- what are your specific concerns in asking this question? speed? general question about all SSDs?
As NVMe drives are still relatively expensive, some of the more exotic scenarios that might suggest a more advanced file system simply don’t come up … because noone could afford to have that much disk space.
If you use something like LUKS then that should be compatible with any file system i.e. format the file system on top of the transparently encrypted partition.
Honestly I’ve never found ext4
to be problematic so I have stuck with it.
if you require it to be simple and stable then use ext4. ext4 has been used in stable GNU+Linux distributions for a long time. btrfs has features that not everybody can appreciate if the simple act of baking up data gives you a migraine …