📜 ⬆️ ⬇️

The future of Linux file systems

At the Vault event in early March, organized by the Linux Foundation in Boston, there was a lot of talk about file systems and storage. If you think that nothing new has been said there, then you are mistaken.




Linux file systems such as Btrfs and storage options are constantly evolving. The FacebookStorage technology has come a long way since Linus Torvalds accepted it before it was supported by the system itself.
In past years, for example, there have been attempts to use flash drives as the main disk for the server and SSD disk to increase the speed of working with data that is close to working with RAM.
The use of flash drives was proposed by SanDisk based on the InfiniFlash solution , which was supposed to be used as a replacement for hard drives at a price of $ 1-2 per gigabyte.
')


At the same time, Big Data, cloud computing and containerization involved finding new paths. To solve these problems, Linux developers develop existing file systems and file storage, as well as working on new ones.

Btrfs
For example, Chris Mason, a Facebook developer, and one of the Btrfs maintainers, shared information on how Facebook uses this file system. It is interesting in that it is well suited to work with a large number of small files, and with files up to 16 exabytes; going to raid array; It has built-in compression system and support for various storage devices.

Of course, Facebook makes extensive use of Linux. To be more precise, the cores used are 3.10 and 3.18 and their own distribution based on CentOS. For Facebook, Btrfs was truly a salvation, this file system behaves consistently and shows great speed with endless I / O operations performed by social network members. This is if you take the good news. From bad - Btrfs proved to be very bad in working with traditional storage servers of MySQL type databases. For them, Facebook uses XFS. To manage both file systems, use the open distributed file system Gluster,
Facebook, hand-in-hand with leading Linux kernel developers and Btrfs, is working to increase the speed of working with database storage systems. Mason and his colleagues achieved RocksDB acceptable work on Btrfs.
RocksDB is a fast key-value storage system that can be used as the basis for a client-server database.
With Btrfs besides this, not everything is so smooth. It contains errors that occur at different times. For example, you were smart enough to decide to drive a hard drive to failure, but Btrfs will cut off the record reaching a certain point of fullness of the repository.
Also, the Btrfs development team is working on data deduplication. This method of data compression shows itself best when there are a large number of stored files in the storage, which differ little from each other, or have many similar elements, like when storing backup copies. Mason said: “This is not necessary for everyone, if it is necessary, then it is needed for real!” But Btrfs is not the only file system on which serious work is being done and on which everything should be put. John Spray, lead developer for Red Hat, talked about Ceph distributed storage.



Ceph fs
Ceph is an open source development of resilient, highly scalable petabyte storage. It is based on the integration of disk spaces of several dozen servers into object storage, which allows for the implementation of flexible multiple pseudo-random data redundancy. Ceph developers complement this object storage with three more projects:



Ceph is a distributed, easy-to-scale storage, which allows you to create a union from servers to object storage to implement flexible multiple pseudo-random data redundancy (RADOS, Reliable Autonomic Distributed Object Store). Developers identify the following main components:

The developers of Ceph recommend using Btrfs for the file system, although XFS may be the best alternative for combat use.

After the takeover of Ceph - Inktank, the owner of the company in 2014, Red Hat tightly engaged in the preparation of CephFS for production use.
Much work remains to be done on CephFS, let it work, but it lacks such important tools for monitoring or testing / correcting errors.
At the moment, Red Hat is just developing fsck and a logging system, as well as improving the ability to create snapshots, improve customer control, or integrate into containers and clouds. To date, according to Spray, CephFS can be used as a file system, either very cool and brave, or very stupid.

The rest is in the little things

From what was interesting at the Boston meeting: Jeff Layton, the lead developer at Primary Data , said that he was creating an off-power emulation for testing file systems. This feature will be added to the xfstests application. Despite the name, in addition to XFS, there is support for the main part of the currently popular file systems.

Rick vanRiel, Red Hat developer, shared the problem of working with RAM as a data warehouse. Ie it works, if you use these resources as RAM, or as storage, but when you need something more, difficulties arise. For example, there is no possibility of creating snapshots for backup, when using RAM for its intended purpose.
There is no solution yet, but programmers are working on it. And while in Linux there are a large number of various file systems and storage, there will be plenty of work. Technology does not stand still. Linux OS works on everything from a simple gadget such as coffee makers, desktops, cloud systems and ending with super-computers that have different data storage requirements.

Source: https://habr.com/ru/post/256855/


All Articles