File systems

    Everyone sometimes wonders what file system to choose and why? I also had a choice of configuration, and after running the tests it became interesting, how does one file system differ from another? What is the difference? What are their pros and cons? What is the advantage of one file system over another?

    Unfortunately, information on this topic is extremely scarce, especially in Russian. Therefore, I decided to consider this issue and put everything together.

    Only file systems of the linux family are considered. So, whoever is also interested, I ask for cat.


    First of all, different tests show different results (since different tests are carried out differently), so you can not be completely objective, referring to the numbers. This must be taken into account.

    Bonnie ++ and postmark were used. I will not give the results, since I should not do this (this is not public tests, I do not think that I have the right to upload them, please excuse me). Therefore, I confine myself to small conclusions.

    Leading in performance ext2, slightly behind jfs, then comes reiserfs, ext3, and with a small margin xfs.

    If we compare the most common file systems with each other, it turns out the following:

    performance loss for xfs as intermediate levels of device mapper 'a are added is less significant than for ext3.

    ext3 is an ordinary, licked out to shine, file system, relatively simple in the internal organization, due to which it is not particularly efficient. Supported by anything, compatible with ext2. It is usually set by default precisely for these reasons. In addition, there is little risk of losing anything.

    xfs is more complex, more efficient in working with large files, works well with large volumes of directories for reading and searching in them. Effectively implemented ACL support . Low CPU load.

    Features when working LVM2- the size of the ext3 file system can be either increased or decreased, but only with a mounted file system, unlike xfs, which can only be increased, but on a mounted file system, that is, without interrupting work with it.

    for xfs there is also the ability to force flush buffers to disk without unmounting and interrupting work with it. For ext3 snapshot via LVM will be similar to the state of the file system when the power is turned off. But the developers promised to fix this matter in new versions of the kernel.

    When working with xfs, ups are vital and it is not recommended to keep the root file system on it, since xfs believes that the contents of files that were open for writing during an incorrect interruption of the system is not defined, and it fills these files with zeros. (deadly for the database)

    ext2 - the same ext3, only without logging support , due to which it works faster.

    jfs gives a good increase in speed. The advantage of this file system is that it is possible to recover data from a damaged volume or erased data, unlike ext3, but at the same time, jfs does not save data about erased directories and files, which makes it difficult to search. There is no limit to the number of files. It is equally productive both on small files and on large files. fsck is very fast. Minimum processor load, optimized for multi-processor environments. The section can only be increased. Ideal for storing the root file system.

    reiserfs - not fully developed, and now not developed, the file system, because her developer is in prison. reiserfs is a fairly fast file system, but on condition that the files are small. Disadvantages - a high load on the processor, there are frequent cases of irrecoverable loss of information in the event of a file system crash. Can be used for some kind of cache.

    That’s basically all. Have a nice day

    ps: adequate people suggested that there was already a brief overview of fs on the hub I post his link here.


    Also popular now: