Should I format my external hard disks in EXT4 or NTFS or BTRFS?

I have four hard disks:

240GB SSD formatted as EXT4 for main OS.
3TB HDD formatted as NTFS for main files.
500GB HDD formatted as NTFS for luks containers.
4TB HDD formatted as NTFS for backuping all other three hard disks.

I am getting too many input/output errors with my 3TB HDD NTFS hard disk for main files.

I was using NTFS due to compatibility.

But, I’ve never used them on Windows, only on Fedora Linux.

Should I keep with NTFS? Or should I reformat all them to EXT4 or BTRFS ?

Will these input/output errors end with EXT4 or BTRFS ?

Where does those IO errors got reported?

If it is from the Physical Layer, likely are due to hardware issues. Change cable, change connection port, even external power supply might give more hints.

You should really only use NTFS if you’re going to be using the drives with Windows systems.
Otherwise, either EXT4 or BTRFS will work fine, and chances are, you wont notice a difference between them for an external drive.

NTFS wasn’t designed for *nix systems, and doesn’t support the UNIX style file permissions that are used by Linux, meaning you loose any and all ability to control the permissions, users, or groups on individual files. Plus it just tends to be really uncooperative at times.

If you’re getting I/O errors on a drive, that’s somewhat concerning. You may want to test the filesystem for errors, or run a SMART test on the drive itself, if possible.


I’ve already performed a SMART test and it passed.
I’ve alread performed a chkdsk on a VM with Windows, too.
Everything appears to be okay. But, I can’t read files with I/O errors yet.
They are not important, but the problem is in the future.

I had a external SSD formatted with NTFS to exchange data, and it got corrupted. Windows was complaining, but I could still read the contents. Then I let Windows do its chkdsk and that caused the volume to become unreadable.

The current NTFS 3G driver implementation in Linux uses FUSE and is just not reliable. Perhaps the new kernel driver being prepared for upstreaming will improve matters. But that may still take a few kernel cycles.

ext4 on top of LVM (allows you to easily encrypt your external HDD - that is helpful if you loose it or it gets stolen or if you want to trash it without shredding).

ext4 on LVM is well established and stable. As long as you don’t need to access data on the drive from a MS Win OS, you are safe.

If they’re only using a single partition, and only using LUKS containers (not encrypting an entire partition/drive), there’s not really an advantage to using LVM.

If they did want to split any of the drives into multiple partitions, or use volume encryption, yes that would be the way to go (or use BTRFS).