mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 02:44:41 +03:00
ddt: add support for prefetching tables into the ARC
This change adds a new `zpool prefetch -t ddt $pool` command which causes a pool's DDT to be loaded into the ARC. The primary goal is to remove the need to "warm" a pool's cache before deduplication stops slowing write performance. It may also provide a way to reload portions of a DDT if they have been flushed due to inactivity. Sponsored-by: iXsystems, Inc. Sponsored-by: Catalogics, Inc. Sponsored-by: Klara, Inc. Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Allan Jude <allan@klarasystems.com> Signed-off-by: Will Andrews <will.andrews@klarasystems.com> Signed-off-by: Fred Weigel <fred.weigel@klarasystems.com> Signed-off-by: Rob Norris <rob.norris@klarasystems.com> Signed-off-by: Don Brady <don.brady@klarasystems.com> Co-authored-by: Will Andrews <will.andrews@klarasystems.com> Co-authored-by: Don Brady <don.brady@klarasystems.com> Closes #15890
This commit is contained in:
@@ -83,6 +83,7 @@ dist_man_MANS = \
|
||||
%D%/man8/zpool-list.8 \
|
||||
%D%/man8/zpool-offline.8 \
|
||||
%D%/man8/zpool-online.8 \
|
||||
%D%/man8/zpool-prefetch.8 \
|
||||
%D%/man8/zpool-reguid.8 \
|
||||
%D%/man8/zpool-remove.8 \
|
||||
%D%/man8/zpool-reopen.8 \
|
||||
|
||||
@@ -73,6 +73,10 @@ The amount of storage used by cloned blocks.
|
||||
Percentage of pool space used.
|
||||
This property can also be referred to by its shortened column name,
|
||||
.Sy cap .
|
||||
.It Sy dedupcached
|
||||
Total size of the deduplication table currently loaded into the ARC.
|
||||
See
|
||||
.Xr zpool-prefetch 8 .
|
||||
.It Sy dedup_table_size
|
||||
Total on-disk size of the deduplication table.
|
||||
.It Sy expandsize
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
.\"
|
||||
.\" CDDL HEADER START
|
||||
.\"
|
||||
.\" The contents of this file are subject to the terms of the
|
||||
.\" Common Development and Distribution License (the "License").
|
||||
.\" You may not use this file except in compliance with the License.
|
||||
.\"
|
||||
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
.\" or http://www.opensolaris.org/os/licensing.
|
||||
.\" See the License for the specific language governing permissions
|
||||
.\" and limitations under the License.
|
||||
.\"
|
||||
.\" When distributing Covered Code, include this CDDL HEADER in each
|
||||
.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
.\" If applicable, add the following below this CDDL HEADER, with the
|
||||
.\" fields enclosed by brackets "[]" replaced with your own identifying
|
||||
.\" information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
.\"
|
||||
.\" CDDL HEADER END
|
||||
.\"
|
||||
.\"
|
||||
.\" Copyright (c) 2023, Klara Inc.
|
||||
.\"
|
||||
.Dd February 14, 2024
|
||||
.Dt ZPOOL-PREFETCH 8
|
||||
.Os
|
||||
.
|
||||
.Sh NAME
|
||||
.Nm zpool-prefetch
|
||||
.Nd Loads specific types of data for the given pool
|
||||
.Sh SYNOPSIS
|
||||
.Nm zpool
|
||||
.Cm prefetch
|
||||
.Fl t Ar type
|
||||
.Ar pool
|
||||
.Sh DESCRIPTION
|
||||
.Bl -tag -width Ds
|
||||
.It Xo
|
||||
.Nm zpool
|
||||
.Cm prefetch
|
||||
.Fl t Li ddt
|
||||
.Ar pool
|
||||
.Xc
|
||||
Prefetch data of a specific type for the given pool; specifically the DDT,
|
||||
which will improve write I/O performance when the DDT is resident in the ARC.
|
||||
.El
|
||||
@@ -26,7 +26,7 @@
|
||||
.\" Copyright 2017 Nexenta Systems, Inc.
|
||||
.\" Copyright (c) 2017 Open-E, Inc. All Rights Reserved.
|
||||
.\"
|
||||
.Dd March 16, 2022
|
||||
.Dd February 14, 2024
|
||||
.Dt ZPOOL-STATUS 8
|
||||
.Os
|
||||
.
|
||||
@@ -75,6 +75,8 @@ Display a histogram of deduplication statistics, showing the allocated
|
||||
and referenced
|
||||
.Pq logically referenced in the pool
|
||||
block counts and sizes by reference count.
|
||||
If repeated, (-DD), also shows statistics on how much of the DDT is resident
|
||||
in the ARC.
|
||||
.It Fl e
|
||||
Only show unhealthy vdevs (not-ONLINE or with errors).
|
||||
.It Fl g
|
||||
|
||||
+4
-1
@@ -26,7 +26,7 @@
|
||||
.\" Copyright 2017 Nexenta Systems, Inc.
|
||||
.\" Copyright (c) 2017 Open-E, Inc. All Rights Reserved.
|
||||
.\"
|
||||
.Dd March 16, 2022
|
||||
.Dd February 14, 2024
|
||||
.Dt ZPOOL 8
|
||||
.Os
|
||||
.
|
||||
@@ -168,6 +168,8 @@ specified.
|
||||
.
|
||||
.Ss Maintenance
|
||||
.Bl -tag -width Ds
|
||||
.It Xr zpool-prefetch 8
|
||||
Prefetches specific types of pool data.
|
||||
.It Xr zpool-scrub 8
|
||||
Begins a scrub or resumes a paused scrub.
|
||||
.It Xr zpool-checkpoint 8
|
||||
@@ -598,6 +600,7 @@ don't wait.
|
||||
.Xr zpool-list 8 ,
|
||||
.Xr zpool-offline 8 ,
|
||||
.Xr zpool-online 8 ,
|
||||
.Xr zpool-prefetch 8 ,
|
||||
.Xr zpool-reguid 8 ,
|
||||
.Xr zpool-remove 8 ,
|
||||
.Xr zpool-reopen 8 ,
|
||||
|
||||
Reference in New Issue
Block a user