SUSE Linux Enterprise 10 is a robust and capable platform equipped to satisfy a myriad of computing roles as they exist on the desktop and in the data center. Comprised of various components that do a lot of different things, none is more important, misunderstood or overlooked than the file system. It plays an integral role in the successful completion of most, if not all, OS processes. This article outlines a select group of file systems, disk formats and storage protocols as they pertain to SUSE Linux Enterprise Server.
We'll also cover the storage capabilities of SUSE Linux Enterprise Server as they pertain to iSCSI. These are integral to Linux as a whole and specifically to SUSE Linux Enterprise Server. If you want more technical information on this topic than we can cover here, check out the vast array of Novell documentation, Wikis, etc. After reading this article you'll better understand the main industry-supported file systems and mass storage as it relates to iSCSI.
Modern computing has witnessed a proliferation of data that has spawned three core storage philosophies:
- DAS (direct-attached storage)
- NAS (network-attached storage)
- SAN (storage-attached network)
Each differs in how data is accessed, and its location relative to the network and server. For our purposes, I'll focus on NAS and its relationship with iSCSI.
iSCSI is an end-to-end protocol for transporting storage I/O block data over an IP network, per SNIA (Storage Networking Industry Association) specifications. Its development is closely aligned with the development of IP infrastructure as it relates to the achievement of bandwidth allocation, and multi-Gigabit speeds. With Novell, it became a reality with its introduction in NetWare 6.5.
The association of NAS to iSCSI is logical. First, they are both TCP/IP based. Second, iSCSI is a more natural addendum to SAN than FC (Fibre Channel) is to NAS. The primary reason for this is the price per port, which leads to a list of other key advantages. It:
- builds on stable and familiar standards.)
- provides a high degree of interoperability by reducing disparate networks and cabling, and by using regular Ethernet switches instead of special Fibre Channel switches.)
- scales to 10 gigabits. (This is comparable to OC-192 SONET (Synchronous Optical Network) rates in Metropolitan Area Networks (MANs) and Wide Area Networks (WANs).)
Supported by industry advantages, SUSE Linux Enterprise Server 10 augments these via:
- graphical iSCSI management tools that facilitate easy configuration of both iSCSI initiators on clients and iSCSI targets on servers, and
- support for iSCSI as both initiator and target.
Now let's look at security. Because it's based on the TCP/IP protocol, iSCSI is CHAP-compliant (Challenge Handshake Authentication Protocol). Likewise, its location in the OSI layer above the transport layer, permits its traffic to be encrypted using IPsec. Unlike its nearest cousin, Fibre Channel, whose primary sources of security are LUN masking and zoning, iSCSI is a low-cost, flexible, secure and cost-effective storage solution.
> File System
The most integral component of the Linux, or any other enterprise operating system is the file system itself. One of the most compelling reasons for adopting Linux is its comprehensive list of supported file systems. The number of choices can be daunting as each possesses certain attributes that enhance its suitability for particular functions. There are 33 documented file systems. Here, we'll focus on only five of them: (See Figure 1.)
I'll outline the attributes of these file systems and explain how to select the appropriate file system. Keep in mind that Novell doesn't endorse one over another. That would be like Ford endorsing Sunoco gasoline over Exxon. Simply, if you get the result you want, you've chosen an appropriate file system.
Lastly, and notably for all the Novell-philes out there: It appears the important file system is being left out, Novell Storage Services (NSS). This is intentional because it is a proprietary file system found in the NetWare and Linux kernel as it relates to Open Enterprise Server with SUSE Linux Enterprise Server 9. Support for Novell Storage Services will be available in the next release of Open Enterprise Server.
The first term you need to understand is metadata, or "data that describes data." For example, the file attributes specifically addressed are, ACLs (access control lists), storage location, file size, and date and time stamps. These reference the file minus the actual data itself. An easy way to think of it is like a city including maps, census reports, weather, etc., that change dynamically.
The second term is inode. These contain information about a file such as the size, number of links, time of creation, modification and access. Think of it as metadata on a more granular level.
The last term used for file system differentiation is journaling. Modern data centers are designed for 99.999 percent availability. With data being measured in terabytes and petabytes, it is essential to engineer the system with as much reliability, redundancy, scalability and ability to 'go back' as possible. Enter the journal. It is an on-disk structure containing a log where the file system stores what it is about to change in the system's metadata.
Likewise, in the case of failure, or any situation that compromises data integrity, only the journal is replayed rather than checking the entire file system record by record. Logically, a major benefit is speed of recovery which is clearly dependent on factors such as file system size, extent of the failure, etc.
The first and most rudimentary file system is the FAT (File Allocation Table). It is the least feature rich of all the file systems, thus making it one of the most compatible. Unlike many robust enterprise- class file systems, FAT lacks features such as journaling and access controls. But because it's so ubiquitous, it's often found in RAM devices such as memory cards and floppy disks.
Specific to Linux, the most widely used file system is Ext3, which represents an evolutionary step from Ext2. Steve Best of Linuxmag.com notes that until recently Ext2 was the de facto file system for Linux because it's robust and predictable. That's why many refer to it as 'rock solid'. Because it's based on the Extended File System, Ext3 benefited greatly from its predecessor's enhancements; however, with the landscape of data system requirements changing, Ext2 has now been replaced at large by Ext3. At first glance, they exhibit nearly identical characteristics in a multitude of categories. (See Table 1.) The primary difference is their journaling capabilities.
Ext2 has none. That's not to say it's completely devoid of failure survivability. When data inconsistency occurs, the entire file system is analyzed opposed to the modified bits of metadata. Hence, Ext2 is not the best solution for an environment that demands high availability and fast recovery.
Ext3 is considered the default file system for Linux as a whole, as well as the SUSE Linux Enterprise 10. Its behavior is predictable and its performance is snappy. But if robust partition sizes and large file counts are destined for this file system, you should consider an alternative.
The ReiserFS file system has proven itself as a viable alternative to the Ext2/Ext3 file systems. It excels in utilization, performance and survivability. Survivability is increased by metadata-only journaling, which speeds up recovery of the file system after a failure. Unlike Ext3, in ReiserFS this is a nonconfigurable attribute. In utilization, it supports online resizing through a volume manager. Because of its architecture, the ReiserFS file system is well suited to handle small files ( < 4k). Hence, mail delivery systems and similar applications that have been migrated from other file systems have reported performance increases in as much as 10 to 15 percent.
One of the most capable file systems to date is XFS. In 1994, SGI began developing the robust 64-bit journaling file system. Their mission was to create a file system capable of complementing the storage requirements of the modern data center. Its first defining characteristic is its cross platform affinity with the UNIX operating system. This makes it a likely linchpin in any UNIX to Linux migration. In addition to providing a highly capable migration platform, its core strengths are scalability and performance.
When talking scalability, it can scale to an 8 exabyte (1 billion GB) partition. This is done by logically grouping contiguous disk space, called a virtual file system because of their independent management of inodes and free disk space. This method of handling disk space provides the pillars for XFS's scalability. Lastly, this architecture is complemented by modern multiprocessor big iron.
The final file system we'll talk about is the brainchild of Oracle Corporation. The primary objective for development of the Oracle Cluster File System (OCFS) was to provide a supportive chassis for the Oracle Real Application Cluster Database. OCFS Release 2 (OCFS2) is the only clustered file system included in the v2.6.16 Linux kernel so the database platform and the file system are tightly integrated. Novell takes it one step further in SUSE Linux Enterprise Server by providing in-the-box OCFS2 enhancements.
The Oracle Cluster File System relates closely to the Ext3 file system. For example, it includes the Linux JBD layer.
You can really tell the difference in the file system when you suspend abbreviations. OCFS2 has also increased the number of supported nodes in a cluster to 255 nodes without having a negative impact on database performance. And it has improved journaling and metadata performance, which help recovery and performance.
Lastly, this file system retains the GNU public license. Thus, it's free for public consumption. This choice of licensing, coupled with the file system's incorporation into the v2.6.16 Linux kernel illustrates Oracle's commitment to the open source community.
The landscape of storage as it relates to the market is vast. Everyone has their own story to tell and enhancement to sell. That said, the foundations of file systems have and will remain constant even as connection methods are refined.
To recap, we looked at the difference between iSCSI and file systems. As an administrator, you should know the type of the data that will reside on your partitions before you create them. Likewise, you now have a good starting point as it relates to file structures. Check out the File System Primer at wiki.novell.com/index.php/File_System_Primer for a more in-depth review of file systems and their attributes. Armed with knowing the differences between file systems and the snapshot of iSCSI we covered here, your selection process should no longer be a time consuming, intimidating one.