From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 9F51170806 for ; Fri, 3 Jun 2022 14:34:05 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9D6957E0A for ; Fri, 3 Jun 2022 14:34:05 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id C860F7DFD for ; Fri, 3 Jun 2022 14:34:03 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id A06CD42D82; Fri, 3 Jun 2022 14:34:03 +0200 (CEST) Message-ID: <86e4887d-0c6a-21a9-6c4d-738e1196c8a9@proxmox.com> Date: Fri, 3 Jun 2022 14:34:02 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Thunderbird/101.0 Content-Language: en-US To: Proxmox VE development discussion , Stefan Hrdlicka References: <20220602112234.1868726-1-s.hrdlicka@proxmox.com> <20220602112234.1868726-4-s.hrdlicka@proxmox.com> From: Dominik Csapak In-Reply-To: <20220602112234.1868726-4-s.hrdlicka@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 1.394 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -2.575 Looks like a legit reply (A) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [github.io] Subject: Re: [pve-devel] [PATCH pve-docs 3/3] fix #3967: add ZFS dRAID documentation X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jun 2022 12:34:05 -0000 comments inline On 6/2/22 13:22, Stefan Hrdlicka wrote: > add some basic explanation how ZFS dRAID works including > links to openZFS for more details > > add documentation for two dRAID parameters used in code > > Signed-off-by: Stefan Hrdlicka > --- > local-zfs.adoc | 40 +++++++++++++++++++++++++++++++++++++++- > 1 file changed, 39 insertions(+), 1 deletion(-) > > diff --git a/local-zfs.adoc b/local-zfs.adoc > index ab0f6ad..8eb681c 100644 > --- a/local-zfs.adoc > +++ b/local-zfs.adoc > @@ -32,7 +32,8 @@ management. > > * Copy-on-write clone > > -* Various raid levels: RAID0, RAID1, RAID10, RAIDZ-1, RAIDZ-2 and RAIDZ-3 > +* Various raid levels: RAID0, RAID1, RAID10, RAIDZ-1, RAIDZ-2, RAIDZ-3, > +dRAID, dRAID2, dRAID3 > > * Can use SSD for cache > > @@ -244,6 +245,43 @@ them, unless your environment has specific needs and characteristics where > RAIDZ performance characteristics are acceptable. > > > +ZFS dRAID > +~~~~~~~~~ > + > +In a ZFS dRAID (declustered RAID) the hot spare drive(s) participate in the RAID. > +Their spare capacity is reservered and used for rebuilding when one drive fails. > +This provides depending on the configuration faster rebuilding compaired to a > +RAIDZ in case of drive failure. More information can be found in the official > +openZFS documenation. footnote:[OpenZFS dRAID > +https://openzfs.github.io/openzfs-docs/Basic%20Concepts/dRAID%20Howto.html] > + > +NOTE: dRAID is intended for more then 10-15 disks in a dRAID. A RAIDZ > +setup should be better for a lower amount of disks in most use cases. > + > + * `dRAID1` or `dRAID`: requires at least 2 disks, one can fail before data is > +lost > + * `dRAID2`: requires at least 3 disks, two can fail before data is lost > + * `dRAID3`: requires at least 4 disks, three can fail before data is lost > + > + > +Additonal information can be found on manual page: > + > +---- > +# man zpoolconcepts > +---- > + > +spares and data > +^^^^^^^^^^^^^^^ > +The number of `spares` tells the system how many disks it should keep ready in > +case of of a disk failure. The default value is 0 `spares`. Without spares > +rebuilding won't get any speed benefits. > + > +The number of `data` devices specifies the size of a parity group. The default > +is 8 if the number of `disks - parity - spares >= 8`. A higher number of `data` > +and parity drives increases the allocation size (e.g. for 4k sectors with > +default `data`=6 minimum allocation size is 24k) which can affect compression. i found this block a bit confusing, because among other things, you talk about 'parity groups' but neither this, nor the offical docs mention a 'parity group' rather a 'redundancy group', so i'd rename that also i'd spell it out more clearly that the default is `disks - parity - spares` until it's greater, then it's clamped at 8 (by default) also i'd somehow mention the things from this sentence from the offical docs: > In general a smaller value of D will increase IOPS, improve the compression ratio, and speed up resilvering at the expense of total usable capacity. Defaults to 8, unless N-P-S is less than 8. > + > + > Bootloader > ~~~~~~~~~~ >