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