Skip to content

Metadata Allocation Class #3779

Closed
Closed
@don-brady

Description

@don-brady

Intel is working on ways to isolate large block file data from metadata for ZFS on Linux. In addition to the size discrepancy with file data, metadata often has a more transient lifecycle and additional redundancy requirements (ditto blocks). Metadata is often a poor match for a RAIDZ tier since it cannot be dispersed and the relative parity overhead is high. A mirrored redundancy is a better choice for metadata.

A metadata-only allocation tier is being added to the existing storage pool allocation class mechanism and is used as the primary source for metadata allocations. File data remains in the normal class. Each top-level metadata VDEV is tagged as belonging to the metadata allocation class and at runtime becomes associated with a pool’s metadata allocation class. The remaining (i.e. non-designated) top-level VDEVs default to the normal allocation class distinction. In addition to generic metadata, the performance sensitive deduplication table (DDT) data can also benefit from having its own separate allocation class.

Allocation Class Purpose
Normal Default source for all allocations
Log ZIL records only
Metadata (new) All metadata blocks (non level-0 file blocks)
Dedup Table (new) Deduplication Table Data (DDT)

More details to follow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: FeatureFeature request or new feature

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions