SGI Techpubs Library

Linux  »  Books  »  Administrative  »  
XFS for Linux Administration
(document number: 007-4273-005 / published: 2013-05-07)    table of contents  |  additional info  |  download
find in page

Chapter 1. The XFS® Filesystem

The XFS® filesystem provides the following major features:

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

  • Rapid and reliable recovery after system crashes because of journaling technology

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

  • Integrated, full-function volume manager support

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

  • User-specified filesystem block sizes ranging from 512 bytes up to a maximum of the filesystem page size

At least 64 MB of memory is recommended for systems with XFS filesystems.

The maximum size of an XFS filesystem is 264 bytes. The maximum size of an XFS file is 263-1 bytes.

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 the fsck command. Recovery time is independent of filesystem size.

XFS is designed to be a very high performance filesystem. XFS as a filesystem is capable of delivering near-raw I/O performance. While traditional 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 a maximum of the filesystem page size. The filesystem page size is a kernel compile option and may be set to 4K, 8K, or 16K.

Filesystem extents, which provide for contiguous data within a file, are created automatically for normal files and may be configured at file creation time using the fcntl() system call. Extents are multiples of a filesystem block.

Inodes are created as needed by XFS filesystems. You can specify the size of inodes with the -i size= option to the filesystem creation command, mkfs.xfs. You can also specify the maximum percentage of the space in a filesystem that can be occupied by inodes with the -i maxpct= option of the mkfs.xfs command.

XFS implements fully journaled extended attributes. An extended attribute is a name/value pair associated with a file. Attributes can be attached to all types of inodes: regular files, directories, symbolic links, device nodes, and so forth. Attribute values can contain up to 64 KB of arbitrary binary data.

XFS implements two attribute namespaces:

  • A user namespace available to all users, protected by the normal file permissions

  • A system namespace, accessible only to privileged users

The system namespace can be used for protected filesystem metadata such as access control lists (ACLs) and hierarchical storage manager (HSM) file migration status. For more information see the, attr(1) man page.

To dump XFS filesystems, you must use the command xfsdump(8) (not the dump command). Restoring from these dumps is done using xfsrestore(8). For more information about the relationships between xfsdump, xfsrestore on XFS filesystems, see the man pages and Chapter 6, “Backup and Recovery Procedures”.

XFS for Linux Administration
(document number: 007-4273-005 / published: 2013-05-07)    table of contents  |  additional info  |  download

    Front Matter
    New Features in This Guide
    About This Guide
    Chapter 1. The XFS® Filesystem
    Chapter 2. Planning an XFS Filesystem
    Chapter 3. Creating XFS Filesystems
    Chapter 4. Filesystem Maintenance
    Chapter 5. Disk Quotas
    Chapter 6. Backup and Recovery Procedures
    Chapter 7. Enhanced XFS Extensions
    Appendix A. XFS System-Tunable Kernel Parameters
    Index


home/search | what's new | help