Chapter 1. Introduction to XFS, XLV, and GRIO

This guide provides the information you need to get started using the new Silicon Graphics filesystem technology:

This chapter highlights the major features of XFS, XLV, and GRIO.

XFS Features

XFS is designed for use on most Silicon Graphics systems—from desktop systems to supercomputer systems. Its major features include

  • full 64-bit file capabilities (files larger than 2 GB)

  • rapid and reliable recovery after system crashes because of the use of journaling technology

  • efficient support of large, sparse files (files with “holes”)

  • integrated, full-function volume manager, the XLV Volume Manager

  • extremely high I/O performance that scales well on multiprocessing systems

  • guaranteed-rate I/O for multimedia and data acquisition uses

  • compatible with existing applications and with NFS®

  • user-specified block sizes ranging from 512 bytes up to 64 KB

Currently, XFS supports files and filesystems that grow to 240-1 or 1,099,511,627,775 bytes (one terabyte). Support for filesystems up to 263-1 bytes is planned for a future release. You can use the filesystem interfaces supplied with the IRIS Development Option (IDO) software option to write 32-bit programs that can track 64-bit position and file size. Many programs work without modification because sequential reads succeed even on files larger than 2 GB. NFS Release 5.3 and later allows you to export 64-bit XFS filesystems to other systems.

XFS uses database journaling technology to provide high reliability and rapid recovery. Recovery after a system crash is completed within a few seconds, without the use of a filesystem checker such as fsck(1M). Recovery time is independent of filesystem size.

XFS is designed to be a very high performance filesystem. Under certain conditions, throughput is expected to exceed 100 MB per second. Its performance scales to complement the CHALLENGE MP architecture. While traditional files, directories, and filesystems suffer from reduced performance as they grow in size, with XFS there is no performance penalty.

You can create filesystems with block sizes ranging from 512 bytes to 64 KB. For real-time data, the maximum extent size is 1 GB. Filesystem extents, which provide contiguous data within a file, are configurable at file creation time using fcntl(2) and are multiples of the filesystem block size.

Most filesystem utilities, such as du(1), dvhtool(1M), ls(1), mount(1M), prtvtoc(1M), and umount(1M), work with XFS filesystems as well as EFS filesystems with no user-visible changes. A few utilities, such as df(1), fx(1M) and mkfs(1M) have additional features for XFS. The filesystem utilities clri(1M), fsck(1M), findblk(1M), and ncheck(1M) are not used with XFS filesystems.

For backup and restore, the standard IRIX utilities Backup(1), bru(1), cpio(1), Restore(1), and tar(1) and the optional software product NetWorker® for IRIX can be used for files less than 2 GB in size. To dump XFS filesystems, the new utility xfsdump(1M) must be used instead of dump(1M). Restoring from these dumps is done using xfsrestore(1M). See Table 3-1 and Table 3-2 in Chapter 3, “Dumping and Restoring XFS Filesystems,” for more information about the relationships between xfsdump, xfsrestore, dump, and restore on XFS and EFS filesystems.

XLV Features

The new XLV Volume Manager provides these advantages when XLV logical volumes are used as raw devices, when XFS filesystems are created on them, and when EFS filesystems are created on them:

  • support for very large logical volumes—up to one terabyte.

  • support for disk striping for higher I/O performance

  • plexing (mirroring) for higher system and data reliability

  • online volume reconfigurations, such as increasing the size of a volume, for less system downtime

With XFS filesystems, XLV provides these additional advantages:

  • filesystem journal records on a separate partition, which can be on a separate disk, for maximum performance

  • access to real-time data

When XFS filesystems are used on XLV volumes, each logical volume can contain up to three subvolumes: data (required), log, and real-time. The data subvolume normally contains user files and filesystem metadata (inodes, indirect blocks, directories, and free space blocks). The log subvolume is used for filesystem journal records. If there is no log subvolume, journal records are placed in the data subvolume. Data with special I/O bandwidth requirements, such as video, can be placed on the real-time subvolume.

XLV increases system reliability and availability by enabling you to add or remove a plex, increase the size of (grow) a volume, and replace failed elements of a plexed volume without taking the volume out of service.

Converting from lv logical volumes to XLV logical volumes is easy. Using the programs lv_to_xlv(1M) and xlv_make(1M), you can convert lv logical volumes to XLV without having to dump and restore your data. Converting from IRIS Volume Manager volumes to XLV is beyond the scope of this guide.

Note: The plexing feature of XLV is available only when you purchase the Disk Plexing Option software option. See the plexing Release Notes for information on purchasing this software option and obtaining the required NetLS license.

GRIO Features

The guaranteed-rate I/O system (GRIO) allows applications to reserve specific I/O bandwidth to and from the filesystem. Applications request guarantees by providing a file descriptor, data rate, duration, and start time. The filesystem calculates the performance available and, if the request is granted, guarantees that the requested level of performance can be met for a given time. This frees programmers from having to predict the performance and is critical for media delivery systems such as video-on-demand.

Guarantees can be hard or soft, a way of expressing the trade-off between reliability and performance. Hard guarantees deliver the requested performance, but with some possibility of error in the data (due to the requirements for turning off disk drive self-diagnostics and error-correction firmware). Soft guarantees allow the disk drive to retry operations in the event of an error, but this can possibly result in missing the rate guarantee. Hard guarantees place greater restrictions on the system hardware configuration.

Note: By default, IRIX supports four GRIO streams (concurrent uses of GRIO). To increase the number of streams to 40, you can purchase the High Performance Guaranteed-Rate I/O—5-40 Streams software option. For more streams, you can purchase the High Performance Guaranteed-Rate I/O—Unlimited Streams software option. See the grio Release Notes for information on purchasing these software options and obtaining the required NetLS licenses.