xref: /freebsd/sys/contrib/openzfs/man/man1/raidz_test.1 (revision 61145dc2b94f12f6a47344fb9aac702321880e43)
1*61145dc2SMartin Matuska.\" SPDX-License-Identifier: CDDL-1.0
2eda14cbcSMatt Macy.\"
3eda14cbcSMatt Macy.\" CDDL HEADER START
4eda14cbcSMatt Macy.\"
5eda14cbcSMatt Macy.\" The contents of this file are subject to the terms of the
6eda14cbcSMatt Macy.\" Common Development and Distribution License (the "License").
7eda14cbcSMatt Macy.\" You may not use this file except in compliance with the License.
8eda14cbcSMatt Macy.\"
9eda14cbcSMatt Macy.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10271171e0SMartin Matuska.\" or https://opensource.org/licenses/CDDL-1.0.
11eda14cbcSMatt Macy.\" See the License for the specific language governing permissions
12eda14cbcSMatt Macy.\" and limitations under the License.
13eda14cbcSMatt Macy.\"
14eda14cbcSMatt Macy.\" When distributing Covered Code, include this CDDL HEADER in each
15eda14cbcSMatt Macy.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16eda14cbcSMatt Macy.\" If applicable, add the following below this CDDL HEADER, with the
17eda14cbcSMatt Macy.\" fields enclosed by brackets "[]" replaced with your own identifying
18eda14cbcSMatt Macy.\" information: Portions Copyright [yyyy] [name of copyright owner]
19eda14cbcSMatt Macy.\"
20eda14cbcSMatt Macy.\" CDDL HEADER END
21eda14cbcSMatt Macy.\"
22eda14cbcSMatt Macy.\" Copyright (c) 2016 Gvozden Nešković. All rights reserved.
23eda14cbcSMatt Macy.\"
2416038816SMartin Matuska.Dd May 26, 2021
2516038816SMartin Matuska.Dt RAIDZ_TEST 1
2616038816SMartin Matuska.Os
2716038816SMartin Matuska.
2816038816SMartin Matuska.Sh NAME
2916038816SMartin Matuska.Nm raidz_test
3016038816SMartin Matuska.Nd raidz implementation verification and benchmarking tool
3116038816SMartin Matuska.Sh SYNOPSIS
3216038816SMartin Matuska.Nm
3316038816SMartin Matuska.Op Fl StBevTD
3416038816SMartin Matuska.Op Fl a Ar ashift
3516038816SMartin Matuska.Op Fl o Ar zio_off_shift
3616038816SMartin Matuska.Op Fl d Ar raidz_data_disks
3716038816SMartin Matuska.Op Fl s Ar zio_size_shift
3816038816SMartin Matuska.Op Fl r Ar reflow_offset
3916038816SMartin Matuska.
4016038816SMartin Matuska.Sh DESCRIPTION
4116038816SMartin MatuskaThe purpose of this tool is to run all supported raidz implementation and verify
4216038816SMartin Matuskathe results of all methods.
4316038816SMartin MatuskaIt also contains a parameter sweep option where all
44c03c5b1cSMartin Matuskaparameters affecting a RAID-Z block are verified (like ashift size, data offset,
4516038816SMartin Matuskadata size, etc.).
4616038816SMartin MatuskaThe tool also supports a benchmarking mode using the
4716038816SMartin Matuska.Fl B
4816038816SMartin Matuskaoption.
4916038816SMartin Matuska.
5016038816SMartin Matuska.Sh OPTION
5116038816SMartin Matuska.Bl -tag -width "-B(enchmark)"
5216038816SMartin Matuska.It Fl h
53eda14cbcSMatt MacyPrint a help summary.
543ff01b23SMartin Matuska.It Fl a Ar ashift Pq default: Sy 9
55eda14cbcSMatt MacyAshift value.
563ff01b23SMartin Matuska.It Fl o Ar zio_off_shift Pq default: Sy 0
5716038816SMartin MatuskaZIO offset for each raidz block.
5816038816SMartin MatuskaThe offset's value is
593ff01b23SMartin Matuska.Em 2^zio_off_shift .
603ff01b23SMartin Matuska.It Fl d Ar raidz_data_disks Pq default: Sy 8
6116038816SMartin MatuskaNumber of raidz data disks to use.
6216038816SMartin MatuskaAdditional disks will be used for parity.
633ff01b23SMartin Matuska.It Fl s Ar zio_size_shift Pq default: Sy 19
6416038816SMartin MatuskaSize of data for raidz block.
6516038816SMartin MatuskaThe real size is
663ff01b23SMartin Matuska.Em 2^zio_size_shift .
673ff01b23SMartin Matuska.It Fl r Ar reflow_offset Pq default: Sy uint max
6816038816SMartin MatuskaSet raidz expansion offset.
6916038816SMartin MatuskaThe expanded raidz map allocation function will
707877fdebSMatt Macyproduce different map configurations depending on this value.
713ff01b23SMartin Matuska.It Fl S Ns Pq weep
7216038816SMartin MatuskaSweep parameter space while verifying the raidz implementations.
7316038816SMartin MatuskaThis option
7416038816SMartin Matuskawill exhaust all most of valid values for the
7516038816SMartin Matuska.Fl aods
7616038816SMartin Matuskaoptions.
7716038816SMartin MatuskaRuntime using this option will be long.
783ff01b23SMartin Matuska.It Fl t Ns Pq imeout
7916038816SMartin MatuskaWall time for sweep test in seconds.
8016038816SMartin MatuskaThe actual runtime could be longer.
813ff01b23SMartin Matuska.It Fl B Ns Pq enchmark
8216038816SMartin MatuskaAll implementations are benchmarked using increasing per disk data size.
8316038816SMartin MatuskaResults are given as throughput per disk, measured in MiB/s.
843ff01b23SMartin Matuska.It Fl e Ns Pq xpansion
857877fdebSMatt MacyUse expanded raidz map allocation function.
863ff01b23SMartin Matuska.It Fl v Ns Pq erbose
87eda14cbcSMatt MacyIncrease verbosity.
883ff01b23SMartin Matuska.It Fl T Ns Pq est the test
8916038816SMartin MatuskaDebugging option: fail all tests.
9016038816SMartin MatuskaThis is to check if tests would properly verify bit-exactness.
913ff01b23SMartin Matuska.It Fl D Ns Pq ebug
9216038816SMartin MatuskaDebugging option: attach
9316038816SMartin Matuska.Xr gdb 1
9416038816SMartin Matuskawhen
9516038816SMartin Matuska.Sy SIGSEGV
9616038816SMartin Matuskaor
9716038816SMartin Matuska.Sy SIGABRT
9816038816SMartin Matuskaare received.
9916038816SMartin Matuska.El
10016038816SMartin Matuska.
10116038816SMartin Matuska.Sh "SEE ALSO"
10216038816SMartin Matuska.Xr ztest 1
103