Tuesday, 23 December 2008

Ext3 vs NTFS

During my bi-anual hard disk cleanup, I had a choice to make. Every two years (or so), I upgrade my backup disks to larger capacity. This year, I got several 1 TB hard disks from Samsung (they are fast, quite, reliable, and keep cool).

As I have been using Ubuntu for more than a year without any major problems, I thought of using a native linux file system on my backup disks. What would I want to use NTFS for anyway?

I formatted the first disk to ext3. Next I copied a full 250 GB hard disk to the drive. The whole drive took 3 1/2 hours to copy. The disk was evenly populated with small, medium and large size files. When I was finished, I was quite surprised that a 250 GB NTFS disk (233 GB netto data) would require something like 360 GB disk capacity on an ext3 formatted drive (including an offset ot 14 GB disk overhead).

There are ways to format hard disks specifically to ones needs, reducing overhead and tayloring meta information to a minimum. But using the tools offered by the GUI, you have to make do with the defaults.

In a second round, I formatted the same disk to NTFS. Used space was 233 GB (which would not surprise anyone).

So, if disk space on ext3 is used more freely, is the file system faster?

I timed the copying, using an idle notebook. Here are the results:

FSMB/secMB on Disk
NTFS windows formated13.1233,5
NTFS ntfs-3g formated17.1233.5
Besides the fact that formating a 1 TB disk for ext3 takes some time as opposed to NTFS which takes just seconds, the NTFS file format seems to provide higher transfer rates on Ubuntu while maintaining a smaller footprint on the disk.

Further tests showed a degrading performance when the disk (or directory) gets filled up. After having filled 3/4 of the disk, transfer rates lay at around 4.5 MB/sec.


I have not looked into this in a statistically valid way. File system layout, file size and other aspects have not been covered. From the point of disk space usage, it seems that NTFS is more efficient.

If you want to share your own observations, I look forward to reading from you.


DonDamm said...

If you format and use NTFS on Linux, will you not be faced with the same defragmentation issues as in Windows? Is there a decent defrag utility for this for linux? Since ext3 lays down files differently defragging essentially isn't an issue. ext3 doesn't degrade the same way and it could be the reason (or one of them) for the larger space requirement.

I'd be reluctant to use something like Vopt under Wine, though it might prove effective. That is unless Windows defraggers rely on the built in utility in Windows to work.

Of course, this would only be an issue for files that are likely to change and not for things like video archives.

Anonymous said...

Thanks for the comparison! I was debating ext3 vs ntfs for a 400gb storage partition. I'll go with fat32 (4GB file limit, 8TB volume limit) instead since it is well implemented in linux and windows :D

I wonder if fat32 would beat the other two? ;)


Wolf Rogner said...

I think using FATx is not such a good idea. Both Ext3 (or the forthcoming Ext4) and NTFS are journaled file systems.

Changes on data is recorded in a transaction log, allowing roll forward and backward. In case of system failures this will not only put the disk in a consistent state but will in most cases preserve your changes. In any case, destruction of data requires more than just system outage.

This is not true for any FAT-based file systems. If a system failure occurs during update of the directory structure you need external recovery tools. Success is not guaranteed.

Thus, I strongly would recommend you reiterate your decicion. We're in the 21st century. Journaled file systems are state of the art.

btw: I even use NTFS on USB flash memory sticks because of above said (I know it reduces the lifetime of the stick, but the tradeoff makes it worth for me)

Canute said...

I've always felt like ext3 was the worsts of all the file systems because it is know to cause much higher disk writes and is not better than ext2 except in the case of journalling.

Another reason for me to say this is because every filesystem has it's pros and cons but ext3 doesn't seem to have any pros, journalling is avilable in other fs's as well, but ext3 seems to lack that USP. I wonder if ext4 will be that much better but ext3 take's hell a lot of space. Maybe this could give some insight http://navindra.blogspot.com/2004/10/kde-dot-news-ext3s-miserable-failure.html

Pipps said...

Very useful observations. Thank you.