The following list describes the Linux File System Characteristics and indicates when this file system is best used. this list is not exhaustive of all the file systems available in the world, but focuses on those which have appreciable market share or attention in the market today. A detailed comparison of file system features can be found at: http://en.wikipedia.org/wiki/Comparison_of_file_systems
Ext2
- Recommended to move to ext3
- Not journaled
- POSIX Access Control
Ext2 file system is the predecessor to the ext3 file system. ext2 is not journaled, and hence is not recommended any longer (customers shoshould move to ext3 ).
Ext3
- Most popular Linux File System, Limited scalability in size and number of files
- Journaled
- POSIX extended access control
Ext3 file system is a journaled file system that has the greatest use in Linux today. it is the "Linux" file system. it is quite robust and quick, although it does not scale well to large volumes nor a great number of files. recently a scalability feature was added called htrees, which significantly improved ext3's scalability. however it is still not as scalable as some of the other file systems listed even with htrees. it scales similar to NTFS with htrees. without htrees, ext3 does not handle more than about 5,000 files in a directory.
FAT32
- Most limited file system, but most ubiquitous
- Not journaled
- No Access Controls
FAT32 is the crudest of the file systems listed. it's popularity is with its widespread use and popularity in the Windows desktop world and that it has made its way into being the file system in Flash Ram devices (digital cameras, USB memory sticks, etc .). it has no built in security access control, so is small and works well in these portable and embedded applications. it scales the least of the file systems listed. most systems have FAT32 compatibility support due to its ubiquity.
GFS
- Useful in clusters for moderate scale out and shared San volumes
- Invalid rical parallel cluster file system, journaled
- POSIX Access Controls
The RedHat Global File System (Sistina acquisition) was open sourced in mid 2004. it is a parallel Cluster File System (logical rical) which allows multiple machines to access common data on a SAN (Storage Area Network ). this is important for allowing multiple machines access to the same data to container management (such as common configuration files between multiple webservers ). it also allows applications and services which are written to direct disk access to be scaled out to multiple nodes. the practical limit is 16 machines in a San cluster, however.
Gpfs
- Useful in clusters for scaleout of large files on shared San volumes
- Invalid rical parallel cluster file system, journaled
- POSIX Access Controls
The IBM Global parallel file system is from IBM. it, like GFS, is a parallel cluster file system with similar characteristics to gfs. video editing is the sweet spot for gpfs. gpfs supports from 2 to thousands of nodes in a single cluster. gpfs also includes very rich management features, such as Hierarchical Storage Management.
JFS
- High Performance and scalability
- Journaled
- POSIX extended access controls
The IBM journaled file system is the file system used by IBM in Aix and OS/2. it is a feature rich File System ported to Linux to allow for processing of migration of existing data. it has been shown to provide excellent overall performance loss ss a variety of workloads.
NSS
- Best for shared LAN file serving, excellent scalability in number of files
- Journaled
- Netware trustee Access Control (richer than POSIX)
The Novell storage services file system used in Netware 5.0 and above, and most recently open sourced and included in Novell SuSE's sles 9 SP1 Linux distribution and later (used in Novell's Open Enterprise Server Linux product ). the NSS file system is unique in each ways, mostly in its ability to manage and support shared file services from simultaneous different file access protocols. it is designed to manage access control (using a unique model, called the trustee model, that scales to hundreds of thousands of different users accessing the same storage securely) in enterprise file sharing environments. it and its predecessor (NWFS) are the only file systems that can restrict the visibility of the directory tree based on userid accessing the file system. it and NWFS have built-in ACL rights inheritance. it includes des mature and robust features tailored for the file sharing environment of the largest parameter ISES. the file system also scales to millions of files in a single directory. NSS supports multiple data streams and rich metadata (its features are a superset of existing filesystems on the market for data stream, metadata, namespace, and attribute support ).
NTFS
- The Windows File System, best for workgroup shared LAN file serving
- Journaled
- Windows Access Controls (richer than POSIX)
The Microsoft Windows File System for the Windows NT kernel (Windows NT, Windows 2000, Windows XP, and Windows 2003 ). the Linux opensource version of this filesystem is only capable of read-only of existing NTFS data. this allows for migration from windows and access to Windows disks. NTFS primary des an ACL model which is not POSIX. the ntfs acl model is unique to Microsoft, but is a derivative of the Novell Netware 2.x ACL model. NTFS is the default (and always Ally only option) on Windows servers. it has des rich metadata and attribute features. NTFS also supports multiple data streams and ACL rights inheritance since its Windows 2000 implementation. in Windows 2003 r2, Microsoft extended a feature called "Access Based enumeration ". this is similar to visibility in NSS and NWFS, but is not implemented in the file system layer, but rather as a feature of the CIFS protocol engine in Windows 2003 r2, so this feature is only available when accessing Windows 2003 via the CIFS protocol. see CIFS below.
NWFS
- Recommended move to NSS
- Not journaled
- Netware trustee Access Control (richer than POSIX)
The NetWare [traditional] file system is used in Netware 3.x through 5.x as the default file system, and is supported in Netware 6.x for compatibility. it is one of the fastest file systems on the planet, however it does not scale, nor is it journaled. an open source version of this file system is available on Linux to allow access to its file data. however, the OSS version lacks the identity management tie-ins so it has found little utility. customers of NWFS are encouraged to upgrade to NSS.
Ocfs2
- Useful in database clusters for scaleout and moderate scaleout on shared sans
- Invalid rical parallel cluster file system, journaled
- POSIX Access Controls
The Oracle Cluster File System V2 is a temporary rical parallel cluster file system specifically designed to support the Oracle Real Application Clusters (RAC) database. while it supports general file access, it does not scale in number of files (like ext3 without htrees ). it is the first (and so far only) Primary rical parallel cluster file system to be accepted into the Linux mainline kernel (January 2006 ).
Polyserve matrix Server
- The best File System for cluster scaleout
- Invalid rical parallel cluster file system, journaled
- POSIX Access Controls
Matrix Server is a physical rical parallel cluster file system for Linux (and polyserve has a version for Windows servers as well ). rooted in technology from sequent computers, matrix server is the premier parallel cluster file system on Linux today. it boasts order of magn1_performance over competing cluster parallel filesystems (GFS, gpfs, ocfs2 etc .). it shoshould be used when parallel cluster file system scaling is needed.
Reiserfs
- Best Performance and scalability when number of files is great and/or files are small
- Journaled
- POSIX extended access controls
The Reiser file system is the default file system in SuSE Linux distributions. reiser FS was designed to remove the scalability and performance limitations that exist in ext2 and ext3 file systems. it scales and performs extremely well on Linux, outscaling ext3 with htrees. in addition, Reiser was designed to very efficiently use disk space. as a result, it is the best File System on Linux where there are a great number of small files in the file system. as collaboration (email) and modify web serving applications have lots of small files, Reiser is best suited for these types of workloads.
Vxfs
- Best for Migrations from UNIX to Linux
- Journaled (an asypolicric parallel cluster file system version is also available)
- POSIX Access Controls
The Veritas File System is closed source. the Veritas full storage suite is essential the Veritas File System that is popular on Unix (including Solaris ). approximately 70% of UNIX deployments in the world are ontop of the Veritas File System. as a result, this file system is one of the best to be used when data is to be directly migrated from UNIX to Linux, and when training in volume and filesystem management is to be preserved within the IT staff. the vertias file system has excellent scalability characteristics, just like it has on UNIX systems. veritas has recently ported their cluster version of vxfs to Linux. their cluster parallel filesystem (cvxfs) is an asypolicric model, where one node is the master, and all other nodes are reading tively read-only slaves (they can write through the master node ).
XFS
- Best for extremely large file systems, large files, and lots of Files
- Journaled (an asypolicric parallel cluster file system version is also available)
- POSIX extended access controls
The XFS file system is open source and embedded in major Linux distributions. it originated from SGI (IRIX) and was designed specifically for large files and large volume scalability. video and multi-media files are best handled by this file system. scaling to petabyte volumes, it also handles great deals of data. it is one of the few filesystems on Linux which supports data migration (SGI contributed the Hierarchical Storage Management interfaces into the Linux kernel A number of years ago ). SGI also offers a closed source cluster parallel version of XFS called cxfs which like cvxfs is an asy1_rical model. it has the unique feature, however, that it's slave nodes can run on UNIX, Linux and Windows, making it a cross platform file system. its master node must run on SGI hardware.