14.2 Planning OES File Storage

The following sections can help you plan for storage on your OES network:

14.2.1 Directory Structures

To plan the directory structures you need on OES 2, see Understanding Directory Structures in Linux POSIX File Systems in the OES 2 SP3: File Systems Management Guide.

14.2.2 File Service Support Considerations

Figure 14-2 shows which file services can access which volume types.

Figure 14-2 File Services Supported on Volume Types

14.2.3 General Requirements for Data Storage

Finding the right storage solution requires you to identify your data storage requirements. You might want to compare your list of requirements against those described in Storage Solutions in the OES 2 SP3: Storage and File Services Overview.

14.2.4 OES 2 Storage Planning Considerations

Not all data is the same. Not all workloads are the same. Not all file systems are the same. Matching your data and workloads to the available file systems and their capabilities lets you build efficient, scalable, and cost-effective solutions. This section discusses issues to consider when planning your file systems on OES 2 servers, and includes the following topics:

The Workgroup Environment

When selecting a file system, it is important to understand the environment in which it operates. For OES 2, the primary target environment is the workgroup, which requires the following:

  • A shared file system for Linux, Macintosh, and Windows desktops. Think of this as a NAS (network-attached storage) for desktops.

  • A rich, flexible permissions model to maintain security while providing for the management of many different users with different permissions throughout the file system. The permissions must be granular, allow for delegation of permission management, and ease the administrative burden in an environment where change is constant.

  • A robust enterprise-wide identity management system tied into authentication and file system permissions is a must.

  • The capabilities for correcting end user mistakes that are made daily (accidental overwrites, deletes, etc.).

  • Integration with collaboration tools.

  • Data encryption on an individual user or group basis for compliance and security.

  • Departmental Web servers and databases.

  • SAN support to provide flexible storage management.

  • Backup support for both desktop and server data, with rich tools for monitoring the health of the backup system and quickly locating and repairing problems with data protection.

  • Regulatory compliance. Regulatory requirements are now pushing new models of protecting and storing employee-generated data that is in LAN systems. It is important to apply correct regulatory requirements only on those users to which they must be applied, and then to produce audits showing compliance.

  • Highly available collaboration (e-mail) services, with rich tools to monitor, audit, and trend resource usage.

File System Support

OES 2 offers support for four file systems: Novell Storage Services (NSS), Ext3, Reiser, and XFS. Following is an explanation of each file system and the pros and cons of using them in the workloads supported by OES 2.

Novell Storage Services (NSS)
  • Supported only through EVMS; not currently supported through LVM.

  • Best for shared LAN file serving; excellent scalability in the number of files

  • Journaled

  • Novell Trustee Model and NSS directory and file attributes (such as Rename Inhibit) provide access control that is much richer than POSIX

The Novell Storage Services file system is used in NetWare 5.0 and above, and most recently is open sourced and included in the SUSE Linux Enterprise Server (SLES) 9 SP1 Linux distribution and later (used in the Novell Open Enterprise Server Linux product).

The NSS file system is unique in many ways, especially 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 Novell Trustee Model, that scales to hundreds of thousands of different users accessing the same storage securely) in enterprise file sharing environments.

NSS and its predecessor NWFS are the only file systems that can restrict the visibility of the directory tree based on the user ID accessing the file system. NSS and NWFS have built-in ACL (access control list) rights inheritance. NSS includes mature and robust features tailored for the file-sharing environment of the largest enterprises. The file system also scales to millions of files in a single directory. NSS also supports multiple data streams and rich metadata; its features are a superset of existing file systems on the market for data stream, metadata, name space, and attribute support.

Ext2
  • Legacy file system

  • Not journaled

  • POSIX access control

Ext2 does not maintain a journal, so it is generally not desirable to use it for any server that needs high availability, with one important exception. If the server is running as a Xen VM guest, you should format the /boot partition with Ext2 as explained in Paravitual Mode and Journaling File Systems in the Virtualization with Xen guide.

Ext3
  • Most popular Linux file system; limited scalability in size and number of files

  • Journaled

  • POSIX extended access control

The Ext3 file system is a journaled file system that has the widest use in Linux today. It is regarded by many in the Linux user community as the default Linux file system. It is quite robust and quick, although it does not scale well to large volumes or a great number of files.

A scalability feature has been added called H-trees, which significantly improved Ext3's scalability. However, it is still not as scalable as some of the other file systems. With H-trees, it scales similarly to NTFS. Without H-trees, Ext3 does not handle more than about 5,000 files in a directory.

Reiser
  • Best performance and scalability when the number of files is great and/or files are small

  • Journaled

  • POSIX extended access control

The Reiser file system is the default file system in SUSE Linux distributions. Reiser was designed to remove the scalability and performance limitations that exist in Ext2 and Ext3 file systems.

Reiser scales and performs extremely well on Linux, outscaling Ext3 with H-trees. In addition, Reiser was designed to use disk space very efficiently. As a result, it is the best file system on Linux where there are a great number of small files in the file system. Because collaboration (e-mail) and many Web servings applications have many small files, Reiser is best suited for these types of workloads.

XFS
  • Best for extremely large file systems, large files, and lots of files

  • Journaled (an asymmetric parallel cluster file system version is also available)

  • POSIX extended access controls

The XFS file system is open source and is included in major Linux distributions. It originated from SGI (Irix) and was designed specifically for large files and large volume scalability.

Video and multimedia files are best handled by this file system. Scaling to petabyte volumes, it also handles very large amounts of data. It is one of the few file systems on Linux that supports HSM data migration.

File Access Protocol Support

OES 2 offers support for a variety of file access protocols.

  • AFP: The Apple Filing Protocol (AFP) is a network protocol that offers file services for Mac OS X and the original Mac OS.

  • CIFS (Novell CIFS and Samba): The Common Internet File Services (CIFS) protocol is the protocol for Windows networking and file services.

    Novell CIFS is a ported version of the CIFS file service traditionally available only on NetWare but now available for OES 2.

    Samba is an open source software version of CIFS based on extensive use and analysis of the wire protocol of Microsoft Windows machines.

  • FTP: The File Transfer Protocol (FTP) is one of the most common and widely used simple protocols in the Internet. Virtually all platforms and devices support FTP at some level, but it is a very simple protocol, only allowing for uploading and downloading of files.

  • HTTP: The Hypertext Transfer Protocol (HTTP) is the dominant protocol on the World Wide Web today, and is the one “spoken” by Web browser clients and Web servers. It is like FTP in being designed strictly for transfers of HTML (Hypertext Markup Language) and additional markup languages that have been invented, such as XML (Extensible Markup Language).

  • NCP: The NetWare Core Protocol (NCP) is the client server protocol developed by Novell for supporting DOS, Windows, OS/2, Macintosh, UNIX (UnixWare), and Linux for shared file services.

    The NCP Server on Linux includes emulation for the Novell Trustee Model and inheritance plus visibility when it runs on traditional POSIX file systems such as Ext3, Reiser, and XFS. When it runs on NSS on Linux, these capabilities are synchronized with the NSS File system and its extended directory and file attributes, such as Rename Inhibit.

OES 2 Workloads

Each file system has its strengths and weaknesses depending on the workload the file system supports. This section gives some guidelines for picking and building the right file system for a given workload. In determining which file system to use for a particular workload, consider your environment and the following explanation of each workload to determine which file system best meets your workload environment.

Table 14-2 File System Support per Workload

Workload Type

NSS File System

Ext3 File System

Reiser File System

XFS File System

File serving – Application server

Supported

Supported

Recommended

Recommended

File serving – end user files

Recommended

Supported

Supported

Supported

Network printing (iPrint)

Recommended

Recommended

Recommended

Recommended

iFolder

Recommended

Supported

Recommended

Recommended

Collaboration (GroupWise)

Recommended

Supported

Recommended

Recommended

Cluster services

Supported

Supported

Supported

Supported

Dynamic Storage Technology

Supported

Not Supported

Not Supported

Not Supported

The following sections provide a brief summary of considerations for each workload listed in Table 14-2.

File Serving (NAS)

Generally there are two types of NAS use cases: Serving files to application servers in a tiered service oriented architecture (SOA), and serving files to end user desktops and workstations. The former has minimal access control requirements. The latter has quite heavy access control requirements.

Typically for serving files to application servers (traditional NAS), you would choose a file system that is scalable and fast. Reiser and XFS would be good choices in this environment. For file serving to end user workstations, the access control and security management capabilities of the NSS file systems with CIFS and NCP file access protocols are important.

The NSS model does better than the other file systems for very large numbers of users. It allows for security between users and also allows for very fine granular sharing between given users and groups. NSS includes a visibility feature implemented in the file system that prevents unauthorized users from even seeing subdirectory structures they don't have rights to access.

Network Printing (iPrint)

iPrint is file system agnostic. There is no noticeable difference in performance or reliability on any of the file systems.

iFolder

Novell iFolder does not depend on a particular file system. Based on the client workload, the file system should be chosen at the server side. Because it mostly serves user data, a file system that can scale with a large number of files is the best suited in most deployments, making Reiser and NSS the best bets. Novell iFolder maintains its own ACL, so having an NSS file system that supports a rich ACL might be redundant.

GroupWise

GroupWise deals with many little files. Because only the application process is accessing the file system, the added overhead of the rich ACL and file attributes found in NSS is redundant. The necessary characteristics are a file system whose performance remains relatively constant regardless of the number of files that are in the volume, and that performs well with small files. Best bets would be ReiserFS, XFS, and NSS. Ext3 does not handle large systems well (where you have more than 10,000 files in the system).

Novell Cluster Services

Although Novell Cluster Services does not depend on a particular file system, you must use the same file systems from node to node. For example, if you are using NSS on one node, you need to use NSS on the failover node as well.

Dynamic Storage Technology

Dynamic Storage Technology does not depend on a particular file system in principle; however, it is currently supported only on NSS volumes.

Novell plans to add support for additional file systems in the future. When that happens, it will be important to remember that file systems cannot be mixed between volumes and shadow volumes. For example, if you choose to shadow an NSS volume, the secondary volume must also be NSS.

14.2.5 NSS Planning Considerations

Consider the following when planning for NSS:

Device Size Limit

NSS recognizes logical or physical devices up to 2 terabytes (TB) in size. If you have a storage disk larger than 2 TB, use the storage device’s management utility to carve the disk into smaller logical devices to use with the NSS file system.

This is especially important to remember when planning for NSS volumes on Linux because the size limit for Linux POSIX volumes is 8 TB.

Other NSS Planning Topics

To plan for NSS volumes—including prerequisites, security considerations, and moving volumes between Linux and NetWare—see Planning NSS Storage Solutions in the OES 2 SP3: NSS File System Administration Guide for Linux.