Details

    • Task
    • Resolution: Won't Fix
    • Minor
    • None
    • Lustre 2.13.0
    • 9223372036854775807

    Description

      New Features

      • Native encryption #5769 - The encryption property enables the creation of encrypted filesystems and volumes. The aes-256-ccm algorithm is used by default. Per-dataset keys are managed with zfs load-key and associated subcommands.
      • Raw encrypted 'zfs send/receive' #5769 - The zfs send -w option allows an encrypted dataset to be sent and received to another pool without decryption. The received dataset is protected by the original user key from the sending side. This allows datasets to be efficiently backed up to an untrusted system without fear of the data being compromised.
      • Device removal #6900 - This feature allows single and mirrored top-level devices to be removed from the storage pool with zpool remove. All data is copied in the background to the remaining top-level devices and the pool capacity is reduced accordingly.
      • Pool checkpoints #7570 - The zpool checkpoint subcommand allows you to preserve the entire state of a pool and optionally revert back to that exact state. It can be thought of as a pool wide snapshot. This is useful when performing complex administrative actions which are otherwise irreversible (e.g. enabling a new feature flag, destroying a dataset, etc).
      • Pool TRIM #8419 - The zpool trim subcommand provides a way to notify the underlying devices which sectors are no longer allocated. This allows an SSD to more efficiently manage itself and helps prevent performance from degrading. Continuous background trimming can be enabled via the new autotrim pool property.
      • Pool initialization #8230 - The zpool initialize subcommand writes a pattern to all the unallocated space. This eliminates the first access performance penalty, which may exist on some virtualized storage (e.g. VMware VMDKs).
      • Project accounting and quota #6290 - This features adds project based usage accounting and quota enforcement to the existing space accounting and quota functionality. Project quotas add an additional dimension to traditional user/group quotas. The zfs project and zfs projectspace subcommands have been added to manage projects, set quota limits and report on usage.
      • Channel programs #6558 - The zpool program subcommand can be used to perform compound ZFS administrative actions via Lua scripts in a sandboxed environment (with time and memory limits).
      • Pyzfs #7230 - The new pyzfs library is intended to provide a stable interface for the programmatic administration of ZFS. This wrapper provides a one-to-one mapping for the libzfs_core API functions, but the signatures and types are more natural to Python.
      • Python 3 compatibility #8096 - The arcstat, arcsummary, and dbufstat utilities have been updated to be compatible with Python 3.
      • Direct IO #7823 - Adds support for Linux's direct IO interface.

      Performance

      • Sequential scrub and resilver #6256 - When scrubbing or resilvering a pool the process has been split into two phases. The first phase scans the pool metadata in order to determine where the data blocks are stored on disk. This allows the second phase to issue scrub I/O as sequentially as possible, greatly improving performance.
      • Allocation classes #5182 - Allows a pool to include a small number of high-performance SSD devices that are dedicated to storing specific types of frequently accessed blocks (e.g. metadata, DDT data, or small file blocks). A pool can opt-in to this feature by adding a special or dedup top-level device.
      • Administrative commands #7668 - Improved performance due to targeted caching of the metadata required for administrative commands like zfs list and zfs get.
      • Parallel allocation #7682 - The allocation process has been parallelized by creating multiple "allocators" per-metaslab group. This results in improved allocation performance on high-end systems.
      • Deferred resilvers #7732 - This feature allows new resilvers to be postponed if an existing one is already in progress. By waiting for the running resilver to complete redundancy is restored as quickly as possible.
      • ZFS Intent Log (ZIL) #6566 - New log blocks are created and issued while there are still outstanding blocks being serviced by the storage, effectively reducing the overall latency observed by the application.
      • Volumes #8615 - When a pool contains a large number of volumes they are more promptly registered with the system and made available for use after a zpool import.
      • QAT #7295 #7282 #6767 - Support for accelerated SHA256 checksums, AES-GCM encryption, and the new QAT Intel(R) C62x Chipset / Atom(R) C3000 Processor Product Family SoC.

      Changes in Behavior

      • Relaxed (ref)reservation constraints on volumes, they may now be set larger than the volume size.
      • The arcstat.py, arc_summary.py, and dbufstat.py commands have been renamed arcstat, arc_summary, and dbufstat respectively.
      • The SPL source is now included in the ZFS repository removing the need for separate packages.
      • The dedupditto pool property and zfs send -D option have been deprecated and will be removed in a future release.

      Additional Information

      • Supported kernels - Compatible with 2.6.32 - 5.1* Linux kernels.
      • SIMD acceleration is currently not supported for Linux 5.0 and newer kernels.
      • Module options - The default values for the module options were selected to yield good performance for the majority of workloads and configurations. They should not need to be tuned for most systems but are available for performance analysis and tuning. See the zfs-module-parameters(5) man page for the complete list of the options and what they control.

      Attachments

        Issue Links

          Activity

            [LU-12336] Update ZFS Version to 0.8.2

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/34951/
            Subject: LU-12336 build: Update ZFS version to 0.8.1
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: dba32e417635359b1d68180b77193e1c9ddd1e8f

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/34951/ Subject: LU-12336 build: Update ZFS version to 0.8.1 Project: fs/lustre-release Branch: master Current Patch Set: Commit: dba32e417635359b1d68180b77193e1c9ddd1e8f

            ZFS 0.8.x seems to fail consistently in sanity-quota test_3/test_4a.  These failures are linked to LU-12100

            utopiabound Nathaniel Clark added a comment - ZFS 0.8.x seems to fail consistently in sanity-quota test_3/test_4a.  These failures are linked to LU-12100

            I did not know about --with-spec. I will try that.

            simmonsja James A Simmons added a comment - I did not know about --with-spec. I will try that.

            I just updated the patch to be for 0.8.1 and it compiles fine.  Did you build rpms ./configure --with-spec=redhat?

             

            utopiabound Nathaniel Clark added a comment - I just updated the patch to be for 0.8.1 and it compiles fine.  Did you build rpms ./configure --with-spec=redhat ?  
            simmonsja James A Simmons added a comment - - edited

            Actually the osd-zfs module will not install complaining that the ksyms don't match. Well it can load if we install all the debuginfo zfs packages as well. Never seen this behavior before so are admins are confused.

            simmonsja James A Simmons added a comment - - edited Actually the osd-zfs module will not install complaining that the ksyms don't match. Well it can load if we install all the debuginfo zfs packages as well. Never seen this behavior before so are admins are confused.

            James,

            There's no error there?  Can you give a little more output?

            pfarrell Patrick Farrell (Inactive) added a comment - James, There's no error there?  Can you give a little more output?

            We are trying ZFS 0.8.1 with lustre and we are seeing:

            yum install kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64.rpm
            Loaded plugins: langpacks, search-disabled-repos
            Examining kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64.rpm: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64
            Marking kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64.rpm to be installed
            Resolving Dependencies
            --> Running transaction check
            ---> Package kmod-lustre-osd-zfs.x86_64 0:2.12.2_30_g989217d_dirty-1.el7 will be installed
            --> Processing Dependency: ksym(__cv_broadcast) = 0xb75ecbeb for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64
            --> Processing Dependency: ksym(arc_add_prune_callback) = 0x23573478 for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64
            --> Processing Dependency: ksym(arc_buf_size) = 0x3180449b for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64
            --> Processing Dependency: ksym(arc_remove_prune_callback) = 0x6f8b923b for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64
            --> Processing Dependency: ksym(dbuf_create_bonus) = 0x0d804452 for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64

            This doesn't happen with 0.7.13 and we have tried a few things but nothing seems to resolve this. Any ideas?

            simmonsja James A Simmons added a comment - We are trying ZFS 0.8.1 with lustre and we are seeing: yum install kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64.rpm Loaded plugins: langpacks, search-disabled-repos Examining kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64.rpm: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64 Marking kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package kmod-lustre-osd-zfs.x86_64 0:2.12.2_30_g989217d_dirty-1.el7 will be installed --> Processing Dependency: ksym(__cv_broadcast) = 0xb75ecbeb for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64 --> Processing Dependency: ksym(arc_add_prune_callback) = 0x23573478 for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64 --> Processing Dependency: ksym(arc_buf_size) = 0x3180449b for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64 --> Processing Dependency: ksym(arc_remove_prune_callback) = 0x6f8b923b for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64 --> Processing Dependency: ksym(dbuf_create_bonus) = 0x0d804452 for package: kmod-lustre-osd-zfs-2.12.2_30_g989217d_dirty-1.el7.x86_64 This doesn't happen with 0.7.13 and we have tried a few things but nothing seems to resolve this. Any ideas?

            Nathaniel Clark (nclark@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/34951
            Subject: LU-12336 build: Update ZFS version to 0.8.0
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: b175c78c61d59740d3f5a219e0094dc6264908df

            gerrit Gerrit Updater added a comment - Nathaniel Clark (nclark@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/34951 Subject: LU-12336 build: Update ZFS version to 0.8.0 Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: b175c78c61d59740d3f5a219e0094dc6264908df

            People

              utopiabound Nathaniel Clark
              utopiabound Nathaniel Clark
              Votes:
              0 Vote for this issue
              Watchers:
              17 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: