OS2 World.Com Forum

Subject  :  Filesystem for a NAS
Author  :  JLKT
Date  :  26 Dec, 2006 on 15:04

I would like to know what would be the preferred filesystem for a PC built for NAS purpose. I am contemplating between JFS (as on eCS) and UFS (freebsd) and ext3 (linux).

What would be the pros and cons of each FS for the intending purpose of a NAS box for common files such as PDFs, AVIs, html, etc. I don't use the NAS to store database files.


Subject  :  Re:Filesystem for a NAS
Author  :  obiwan
Date  :  28 Dec, 2006 on 23:16
I really like this question. I can tell you what I know, but unfortunately it is far from a conclusive answer.

I have not seen any solid performance numbers comparing these filesystems, only conflicting claims. I can tell you that the performance of ext3 does degrade when directories contain extremely high numbers of files, whereas UFS does not have that problem.

On Linux, for this purpose, I would definitely consider reiserfs rather than ext3. It does journalling, and is noticeably faster for lots of smaller files that change frequently, and also does not take a performance hit on larger directories.

More significant than performance, though, are the features. One feature of FreeBSD that is very nice for a NAS is its ability to take a ghost snapshot of the filesystem. This can serve various purposes, one of which is to do a filesystem check on the snapshot, without taking the server down. If the snapshot is clean, then the filesystem was clean at the time it was taken. Saves downtime, while giving you that confidence of a clean filesystem.

On the other hand, to my knowledge journalling is not yet stable on UFS, and if the filesystem is dirty or damaged and needs repair, the system must come down, and that recovery will be much quicker and more reliable on a journalling filesystem like JFS, ext3, or reiserfs. It can make the difference between a few minutes or an hour or more depending on the size of the volume, and the extent of the damage.

As I understand, the journaling feature of ext3 was based on the JFS code. Reiserfs's journaling is quite different, though it serves the same purpose.

FreeBSD/UFS has a number of other interesting features that are not found elsewhere. One example is the ability to set a file to be only appendable, so that you can add to it, but cannot change data already in it.

The other consideration is the OS itself. While eCS can serve this purpose, I would not choose it. Firstly, it takes up an expensive license that could be used for a nice desktop, and only partially utilizes it. Secondly, unless you expend considerable work trimming, it uses more disk space than a minimalist Linux or FreeBSD installation, wasting space on a system whose sole purpose is to be disk space. Third, it is not as easy to set up backups and recovery procedures.

All of that can be dealt with, and there may be reasons to choose OS/2, e.g. it may be easier for you given your familiarity with OS/2. It might be worthwhile, though, in this case, to look at some backup/recovery programs and scripts used in FreeBSD or Linux and apply them, create yourself a custom recovery CD, and most importantly of all, post pictures, screenshots, descriptions, etc. on os2world.com.

Subject  :  Re:Filesystem for a NAS
Author  :  JLKT
Date  :  29 Dec, 2006 on 06:22
Thank you so much for that wealth of information!! Appreciate it very much.

I have given a lot of thoughts to what you said and in general I fully agree with you.

I was previously using FreeNAS (based on FreeBSD) to serve out 4 nos hard drive in the same box and UFS is the only natural choice for the filesystem. FreeNAS do not support ext3 or ReiserFS or JFS. Over the months, the disks must have developed an error in the filesystem which were not apparent. There are no log files that show that the filesystem was damaged, at least not that I can see.

Then sometime last week, I started to experience lockup in FreeNAS when I was copying some files to the NAS box. Upon further query, I discovered that all the 4 disks were "not properly dismounted". I shutdown and restart, but FreeNAS did not proceed to check the error.

When I SSH into FreeNAS, I find that there is no way I can issue a "fsck" command. Finally, I managed to use the Web Interface to execute a "umount", then "mount" then finally "fsck" commands. The fsck command did make things better but the error about not properly dismounted came back and the whole NAS box was locked up again!

So much about UFS! At least this is unlike my experience with JFS using OS/2.

So upon your evaluations of the pros and cons of various FS, I have narrowed down the OS and FS of choice for my NAS box. I decided to go back to Clarkconnect (based on RHEL) and using ext3 FS. Clarkconnect do not support reiserFS unfortunately.

One thing about a NAS box is that it must have a web interface, and to date, I can only find a few distros that can do this - FreeNAS, Clarkconnect, Naslite and SME. But I think clarkconnect is the most mature of the bunch so that's why I chose it.

I will post here my experience of Clarkconnect serving as NAS so that others may be able to take this as a reference and perhaps give some constructive comments.

Subject  :  Re:Filesystem for a NAS
Author  :  obiwan
Date  :  29 Dec, 2006 on 18:15
You aren't running fsck on a mounted volume are you? You must always unmount a volume to run fsck on it.

Subject  :  Re:Filesystem for a NAS
Author  :  obiwan
Date  :  29 Dec, 2006 on 20:00
Ah! I didn't understand that error at first but did some poking around on the FreeBSD lists. The error saying that the volumes were not properly dismounted means that they were still mounted the last time the system was shut down - that is, it lost power before doing a proper shutdown, or, apparently in your case, it locked up. That's all that means.

So it isn't an inherent problem with UFS. It could be a hardware issue. Or it could be a bug in FreeNAS. If it were me I would run a good diagnostic on the hardware before going to the work of switching to another OS.

Good luck.

Powered by UltraBoard 2000 <www.ub2k.com>