{"id":34384,"date":"2019-10-31T21:58:01","date_gmt":"2019-10-31T18:58:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-zfs-on-linux-0-8-0-realizatsii-zfs-dlya-yadra-linux\/"},"modified":"2019-10-31T21:58:01","modified_gmt":"2019-10-31T18:58:01","slug":"vypusk-zfs-on-linux-0-8-0-realizatsii-zfs-dlya-yadra-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-zfs-on-linux-0-8-0-realizatsii-zfs-dlya-yadra-linux","title":{"rendered":"Release ZFS on Linux 0.8.0, implementations of ZFS for the Linux kernel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>After almost two years of development <noindex><a rel=\"nofollow\" href=\"https:\/\/zfsonlinux.topicbox.com\/groups\/zfs-announce\/Td685d95c8216814c\/v0-8-0-released\">introduced<\/a><\/noindex> release <noindex><a rel=\"nofollow\" href=\"http:\/\/zfsonlinux.org\/\">ZFS on Linux 0.8.0<\/a><\/noindex>, implementation of the ZFS filesystem presented as a module for the Linux kernel. The module has been tested with Linux kernels from 2.6.32 to 5.1. Ready installation packages will be available shortly.  <noindex><a rel=\"nofollow\" href=\"http:\/\/zfsonlinux.org\/\">prepared<\/a><\/noindex> for the main Linux distributions, including Debian, Ubuntu, Fedora, RHEL\/CentOS. The ZFS on Linux module is already included in the distributions of Debian, Ubuntu, Gentoo, Sabayon Linux, and ALT Linux.<\/p>\n<p>Within the framework of ZFS on Linux, the implementation of ZFS components has been prepared, relating both to the functionality of the filesystem and to the operation of the volume manager. In particular, the following components have been implemented: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume), and ZPL (ZFS POSIX Layer). Additionally, the project enables the use of ZFS as a backend for the Lustre cluster filesystem. The developments of the project are based on the original ZFS code imported from the OpenSolaris project, augmented by enhancements and fixes from the Illumos community. The project is being developed with the involvement of staff from the Lawrence Livermore National Laboratory under a contract with the U.S. Department of Energy.<\/p>\n<p>The code is distributed under the CDDL open-source license, which is incompatible with GPLv2, preventing integration of ZFS on Linux into the mainline Linux kernel, as mixing code under GPLv2 and CDDL licenses is not permissible. To circumvent this licensing incompatibility, it was decided to distribute the product entirely under the CDDL license as a separately loadable module, which is provided separately from the kernel. The stability of the ZFS on Linux codebase is regarded as comparable to other filesystems for Linux. <\/p>\n<p>Key Changes:<\/p>\n<ul>\n<li class=\"l\"> Integrated support for encrypted storage at the filesystem and partition levels has been added. By default, the aes-256-ccm algorithm is used for encryption. The command for loading encryption keys is proposed as &#171;zfs load-key&#187;;\n<li class=\"l\"> The ability to transmit encrypted data when executing the &#171;zfs send&#187; and &#171;zfs receive&#187; commands has been implemented. When using the &#171;-w&#187; option, already encrypted data in the pool is sent to another pool as is, without intermediate decryption. In such copying, the data remains protected by the sending party's key, allowing this mode to be used for backup to untrusted systems (in the case of recipient compromise, an attacker without the key cannot access the data);\n<li class=\"l\"> Support for removing primary storage devices from the storage pool, connected either individually or as part of a mirror, has been added. Removal is carried out with the &#171;zpool remove&#187; command. During removal, data from the excluded device is copied to the remaining primary devices in the pool;\n<li class=\"l\"> The &#171;zpool checkpoint&#187; command has been added to save the current state of the pool with the option to roll back subsequent changes to the saved point in time (a snapshot of the entire pool is created). This feature can be useful when performing potentially risky complex administrative tasks that typically lead to irreversible changes (e.g., activating flags for new ZFS functionality or data cleansing);\n<li class=\"l\"> The &#171;zpool trim&#187; command has been added to inform the storage devices used in the pool of sectors that are no longer in use. Using the TRIM operation can improve the efficiency of SSD drives and prevent performance degradation. To enable a continuous background process for issuing TRIM commands, a new property &#171;autotrim&#187; has been proposed;\n<li class=\"l\"> The &#171;zpool initialize&#187; command has been added to initialize all unallocated disk space, ensuring its immediate readiness for use without performance degradation on first access (for example, when deploying virtualized storage such as VMware VMDK);\n<li class=\"l\"> Support for project-level accounting and quotas has been added, complementing the previously available user and group-level quotas. Essentially, projects represent a separate space for objects linked to a unique identifier (project ID). The binding is defined via the 'chattr -p' operation or through attribute inheritance. Management of projects is facilitated by the 'zfs project' and 'zfs projectspace' commands, which allow for project creation and setting disk space limits for them;\n<li class=\"l\"> The ability to create Lua scripts for automating various tasks with ZFS has been added. Scripts are executed in special isolated environments using the 'zpool program' command;\n<li class=\"l\"> A new library has been implemented <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ClusterHQ\/pyzfs\">pyzfs<\/a><\/noindex>, providing a stable API for managing ZFS from applications written in Python. The library is a wrapper around libzfs_core and offers an identical set of functionalities while applying more Python-friendly types;\n<li class=\"l\"> Compatibility of the arcstat, arcsummary, and dbufstat utilities with Python 3 has been ensured. The utilities arcstat.py, arc_summary.py, and dbufstat.py have been renamed to versions without the '.py' extension;\n<li class=\"l\"> Support for the Linux kernel Direct IO (O_DIRECT) interface has been added, allowing access to data without buffering and bypassing the cache;\n<li class=\"l\"> Performance optimizations have been introduced:\n<ul>\n<li class=\"l\">  The performance of the 'scrub' and 'resilver' commands has been enhanced by splitting them into two phases (a separate phase for scanning metadata and determining the location of data blocks on the disk has been allocated, allowing for further verification using sequential data reads);\n<li class=\"l\"> Support for allocation classes has been added,<br \/>\nwhich allow the inclusion of relatively small SSDs into the pool and use them for storing only specific types of frequently accessed blocks, such as metadata, DDT data, and small file blocks;<\/p>\n<li class=\"l\"> The performance of administrative commands such as<br \/>\n'zfs list' and 'zfs get', thanks to caching the necessary metadata for their operation;<\/p>\n<li class=\"l\"> Support for parallelizing block allocation operations through the launching of separate 'allocator' processes for each metaslab group has been added. On standard systems, a performance increase of 5-10% is observed, while on larger systems (8 128 GB SSD, 24 core NUMA, 256 GB RAM) the increase in block allocation operations can reach 25%;\n<li class=\"l\"> The possibility of deferred execution of the 'resilver' command (rebuilding of data distribution considering changes in storage configuration) has been added \u2014 if a new operation is started while the previous one has not completed, the new handler will begin executing only after the previous one has finished;\n<li class=\"l\"> Optimizations have been made to the ZIL (ZFS Intent Log) that allow for creating and processing blocks while other blocks are still being processed by the storage;\n<li class=\"l\"> The time required to register volumes (zvol) in the system has been reduced. When the pool contains a large number of volumes, they now become available immediately after executing 'zpool import';\n<li class=\"l\"> Hardware acceleration support for SHA256 hash computation and AES-GCM encryption operations has been added, utilizing chips that support Intel QAT (Quick Assist Technology). Support for hardware acceleration tools for the Intel C62x chipset and Atom C3000 CPU has been added.\n<\/ul>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50730\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u0447\u0442\u0438 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 ZFS on Linux 0.8.0, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b ZFS, \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u043c\u043e\u0434\u0443\u043b\u044f \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux. \u0420\u0430\u0431\u043e\u0442\u0430 \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u0430 \u0441 \u044f\u0434\u0440\u0430\u043c\u0438 Linux c 2.6.32 \u043f\u043e 5.1. \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043b\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 Linux, \u0432\u043a\u043b\u044e\u0447\u0430\u044f Debian, Ubuntu, Fedora, RHEL\/CentOS. \u041c\u043e\u0434\u0443\u043b\u044c ZFS on Linux \u0443\u0436\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-34384","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u0447\u0442\u0438 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-zfs-on-linux-0-8-0-realizatsii-zfs-dlya-yadra-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a ZFS on Linux 0.8.0, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 ZFS \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u0447\u0442\u0438 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-zfs-on-linux-0-8-0-realizatsii-zfs-dlya-yadra-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:58:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:58:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Release of ZFS on Linux 0.8.0, the implementation of ZFS for the Linux kernel | ProHoster","description":"After nearly two years of development, the release has been announced.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-zfs-on-linux-0-8-0-realizatsii-zfs-dlya-yadra-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a ZFS on Linux 0.8.0, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 ZFS \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u0447\u0442\u0438 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-zfs-on-linux-0-8-0-realizatsii-zfs-dlya-yadra-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:58:01+00:00","article:modified_time":"2019-10-31T18:58:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34384","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 19:02:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:23:16","updated":"2026-01-21 19:02:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=34384"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34384\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=34384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=34384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=34384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}