diff options
author | Allan Jude <[email protected]> | 2024-07-26 12:16:18 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2024-07-26 09:16:18 -0700 |
commit | 62e7d3c89ebdb5faddfff5e2e8adc92e569ddf09 (patch) | |
tree | d24640aebaad1a81185b9f9b721eeadcca9c1d4a /man | |
parent | 2ed1aebaf605ef28a0b899ec019529e0ad381d39 (diff) |
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 <[email protected]>
Reviewed-by: Tony Hutter <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Allan Jude <[email protected]>
Signed-off-by: Will Andrews <[email protected]>
Signed-off-by: Fred Weigel <[email protected]>
Signed-off-by: Rob Norris <[email protected]>
Signed-off-by: Don Brady <[email protected]>
Co-authored-by: Will Andrews <[email protected]>
Co-authored-by: Don Brady <[email protected]>
Closes #15890
Diffstat (limited to 'man')
-rw-r--r-- | man/Makefile.am | 1 | ||||
-rw-r--r-- | man/man7/zpoolprops.7 | 4 | ||||
-rw-r--r-- | man/man8/zpool-prefetch.8 | 46 | ||||
-rw-r--r-- | man/man8/zpool-status.8 | 4 | ||||
-rw-r--r-- | man/man8/zpool.8 | 5 |
5 files changed, 58 insertions, 2 deletions
diff --git a/man/Makefile.am b/man/Makefile.am index 43bb014dd..194bb4721 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -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 \ diff --git a/man/man7/zpoolprops.7 b/man/man7/zpoolprops.7 index ff21e5300..9aba11ad5 100644 --- a/man/man7/zpoolprops.7 +++ b/man/man7/zpoolprops.7 @@ -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 diff --git a/man/man8/zpool-prefetch.8 b/man/man8/zpool-prefetch.8 new file mode 100644 index 000000000..57445bd4a --- /dev/null +++ b/man/man8/zpool-prefetch.8 @@ -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 diff --git a/man/man8/zpool-status.8 b/man/man8/zpool-status.8 index bbe7a45aa..d570c852d 100644 --- a/man/man8/zpool-status.8 +++ b/man/man8/zpool-status.8 @@ -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 diff --git a/man/man8/zpool.8 b/man/man8/zpool.8 index fe44e15ca..2b966b72b 100644 --- a/man/man8/zpool.8 +++ b/man/man8/zpool.8 @@ -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 , |