I. Introduction and features of XFS was initially developed by SiliconGraphics, Inc. In early 1990s. At that time, SGI found that their existing File System (EFS) was quickly becoming unable to adapt to the fierce Computing Competition at that time. To solve this problem, SGI decided to design a brand new high-performance 64-bit file system, instead of trying to adjust some defects of EFS in the innate design. Therefore, XFS was born in 1994 with IR
I. Introduction and features of XFS
XFS was initially developed by Silicon Graphics, Inc. In early 1990s. At that time, SGI found that their existing File System (EFS) was quickly becoming unable to adapt to the fierce Computing Competition at that time. To solve this problem, SGI decided to design a brand new high-performance 64-bit file system, instead of trying to adjust some defects of EFS in the innate design. Therefore, XFS was born and applied to computing with the release of IRIX 1994 in 5.3. It is still used as the underlying File System of sgi irix-based products (from workstation to supercomputer. Now, XFS can also be used in Linux. The arrival of the Linux version of XFS is exciting. First of all, it provides a robust, excellent, and functional File System for the Linux community, in addition, the scalability of this file system can meet the most demanding storage requirements.
XFS has the following features:
1. Data Integrity
When XFS file system is used, when unexpected downtime occurs, first of all, because the file system has enabled the log function, the files on your disk will not be damaged by unexpected downtime. Regardless of the number of files and data stored in the file system, the file system can quickly restore the disk file content according to the recorded logs.
2. Transmission features
The XFS file system adopts an optimization algorithm. log records have little impact on file operations. XFS queries and allocates storage space very quickly. The xfs file system continuously provides fast response time. I have tested the XFS, JFS, Ext3, and ReiserFS file systems, and the XFS file system has outstanding performance.
3. scalability
XFS is a fully 64-bit file system that supports storage of millions of T bytes. The support for ultra-large files and small-sized files is outstanding, and supports ultra-large directories. The maximum supported file size is 263 = 9x1018 = 9 exabytes, and the maximum file system size is 18 exabytes.
4. transmission bandwidth
XFS can store data close to bare device I/O performance. In the test of a single file system, the throughput can reach up to 7 GB per second. For read/write operations on a single file, the throughput can reach 4 GB per second.
5. allocation groups)
When an XFS file system is created, the underlying Block devices are divided into eight or more linear regions of equal size (region ). The allocation group is unique because each allocation Group manages its own inode and free space. In fact, these allocation groups are converted into a file subsystem, these subsystems are correctly and transparently stored in the XFS file system.
6. allocation group and scalability
So why should XFS be divided into groups? The main reason is that XFS uses allocation groups to effectively process parallel IO. By combining XFS with some high-end hardware, you can achieve high-end performance without making file systems a bottleneck. Allocation groups also help optimize parallel I/O performance on a multi-processor system, because multiple metadata updates can be "in transmission" at the same time ".
7. B + tree
XFS uses a high table structure (B + tree) to ensure that the file system can quickly search for and quickly allocate space. XFS provides continuous high-speed operations, and the file system performance is not limited by the number of directories and files in the directory.
8. Logging
Of course, XFS is also a log recording file system that allows quick recovery after unexpected reboot. Like ReiserFS, XFS uses logical logs; that is, it does not record text file system blocks to logs as ext3 does, but uses an efficient disk format to record metadata changes.
9. Delayed allocation XFS
The allocation process is divided into two steps. First, when XFS receives the new data to be written, it records the temporary transaction in RAM and only keeps the appropriate space on the underlying file system.