📜 ⬆️ ⬇️

ZFS on Linux: she's alive!

If you love Linux for a large number of supported devices, and Solaris for an advanced ZFS file system, then a new, developed project may surprise you.


Sun's ZFS , lowers the complexity of data warehouse administration to a new, easier level. While Linux uses a set of technologies that include RAID , volume and partition management of the file system, ZFS combines all of these technologies in itself, which greatly simplifies administration.

But there is an obstacle. ZFS, like the rest of OpenSolaris, has been available under the CDDL (Sun's Common Development and Distribution License) license for two years, while Linux has been available under the second version of the GNU license since it appeared in 1991. These licenses are incompatible.
')
One programmer, Ricardo Correia , knows how to solve this problem. The technology, called FUSE (File System in User Space), introduced into the Linux kernel in version 2.6.14, released in October 2005, allows Linux to use the file system as a normal process. Now FUSE is the base for the implementation of the NTFS file system, which is called NTFS-3g and works with very decent characteristics.

In the project, which began in conjunction with Google's 2006 Summer of Code, Correia converted the ZFS implementation from OpenSolaris into a daemon (service) that runs on Linux.

The project is working, and some even managed to boot from ZFS. It is worth warning that Correia has not yet engaged in any settings and performance improvements. At the same time, a sysadmin introduced a performance test in which you can see that ZFS now shows only half the performance of another Linux file system - XFS .

Note that NTFS-3g now shows approximately similar performance results with native Linux file systems, which indicates the possibility of achieving good FUSE performance.

Correia, in an interview on e-mail, said that he is now working on a memory problem. When multiple ZFS threads are simultaneously trying to acquire memory, the system starts to fail and the ZFS daemon consumes over 500 Mib of memory. There are many alternatives to the standard malloc function, for memory management and now Correia is looking for one of them. “I’m trying to find out if tcmalloc (developed by Google engineers) can work better,” he said.

The advantage of implementing a file system as a separate daemon will be what the advocates of the microkernel have been saying for so long: you can complete and run the file system without rebooting the operating system itself. “Now there are a few things that ZFS still cannot handle, such as write errors on unshrunk repositories. This causes a system crash on Solaris, MacOS X, FreeBSD, and in ZFS-FUSE this will only be a problem restarting the daemon, ”said Correia.

Correia says that he now uses ZFS-FUSE to back up his home directory, because the file system snapshot capabilities do an excellent job with multiple backup copies of the same data. And as soon as the performance of ZFS-FUSE reaches indicators comparable to XFS, he promised to move his home directory to it and see what would come of it.

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


All Articles