1 / 32

Introduction to XFS HEPSYSMAN 5 th December 2005

Introduction to XFS HEPSYSMAN 5 th December 2005. What exactly is a filesystem ?. Organization: Large disk space to store small data items Use files and directories In UNIX everything is a stream of bytes: More complex file definition in other OS’s

halle
Télécharger la présentation

Introduction to XFS HEPSYSMAN 5 th December 2005

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to XFS HEPSYSMAN 5th December 2005

  2. What exactly is a filesystem ? Organization: • Large disk space to store small data items • Use files and directories In UNIX everything is a stream of bytes: • More complex file definition in other OS’s • Devices are also presented in the filesystem • Linux uses virtual filesystems, e.g. /proc

  3. A little bit of background Three generation of UNIX filesystems: • v7 / sysv / coherent / minix • ffs / ext2 • vxfs / ext3 / jfs / xfs / reiserfs

  4. Features of 3rd generation UNIX filesystems • Intent logging / journaling • Flexible metadata structures • Dynamic inode allocations • Extents

  5. History of XFS Developed by Silicon Graphics (now SGI) for use on IRIX: • 1993 - original design • 1994 - available for IRIX v 5.3 • 2000 - released as Open Source • 2001/2002 – some Linux distributions with native XFS support • 2003 – XFS support in 2.4 kernel

  6. XFS features (1) Journaling: • but only metadata updates, not data updates. Fast Transactions: • uses efficient B+ tree structures for fast searches and rapid space allocation

  7. XFS Features (2) 64-bit file system: • 64bit variables for global counters and disk addresses • Large theoretical maximum filesystem size • For Linux 2.4: 2 Terabytes. • For Linux 2.6 (when using 64 bit addressing on a 64 bit platform): 9 Petabytes (or the device limits) • For Linux 2.6 (on 32 bit platforms): 16Terabytes (even with 64 bit addressing) • Maximum file size is same as filesystem size

  8. XFS Features (3) Partitioned into Allocation Groups: • each AG manages its own free space and inodes • provides scalability and parallelism within the file system • limits the size of the structures needed to track this information

  9. XFS Features (3, continued) • allows many internal pointers to be 32-bits • AGs typically range in size from 0.5 to 4GB • files and directories are not limited to a single AG.

  10. XFS Features (4) Sophisticated support utilities: • fast mkfs (make a file system) • dump and restore utilities for backup • xfsrepair to fix corrupt filesystem • xfs_fsr (XFS defragmenter) • xfsdb (XFS debug) • xfscheck (XFS check) • xfs_growfs (enlarges filesystems online)

  11. Why you might want to use XFS • Stable, mature code base (oldest journaling filesystem available on Unix) • Very good performance for large reads or writes • Designed for large systems • Supports user and group quotas • Support for Access Control Lists and Extended Attributes

  12. 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 64KB of arbitrary binary data. See man attr for more details

  13. Extended attribute namespaces XFS implements three attribute namespaces: • user namespace available to all users, protected by the normal file permissions • system namespace, accessible only to privileged users and used for protected filesystem meta-data such as access control lists (ACLs) and hierarchical storage manager (HSM) file migration status • security namespace used by security modules (SELinux)

  14. Why you might not want to use XFS • No data journaling • tar, cpio do not understand Extended Attributes

  15. Resources XFS/Linux homepage: http://oss.sgi.com/projects/xfs/ contains pointers to whitepapers, books, articles, etc. Public mailing list: linux-xfs@oss.sgi.com with searchable list archive SGI Bugzilla database to report any bugs in XFS for Linux

  16. Comparison tests - 1 Tests were performed: • on the same filesystem on the same hardware (AMD Athlon 1666 Mhz, 500Mb) • using 3 different operating systems: • Redhat 7.3 (2.4.20-28.7) • Scientific Linux version 3 (2.4.21-20.EL) • Scientific Linux version 4 (2.6.9-22.0.1.EL and 2.6.9.-11.EL.XFS)

  17. Comparison tests - 2 Tests used different filesystem types: • RH 7.3 – ext2, ext3 (xfs not available) • SL 3 – ext2, ext3 (attempts to create xfs filesystem caused system crash requiring hardware reset) • SL 4 – ext2, ext3, xfs (default), xfs (custom: mkfs.xfs –d agsize=4g –i version=1 –I size=512 <device>)

  18. Comparison tests - 3 Tests were performed: • using bonnie++ test program (see http://www.coker.com.au/bonnie++) • using the same parameters for each test: /usr/local/sbin/bonnie++ -d /data \ -s 4096M:1024k \ -n 192:1048576:128:1024 -m csfnfs30 \ -u root 1>> outputfile 2>&1

  19. Comparison tests - 4 12 tests in total, each reporting filesystem performance and CPU use The first 6 tests measure I/O intensive work: • Sequential output for character, blocked and rewrites • Sequential input for character and blocked • Random seeks

  20. Comparison tests - 6 The other 6 tests measure performance for many small files using: • Sequential create, read and delete • Random create, read and delete

More Related