Date: Mon, 22 Apr 2024 15:13:08 -0400 From: mike tancsa <mike@sentex.net> To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org> Cc: FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org> Subject: Re: block size: 512B configured, 4096B native all of a sudden Message-ID: <01bd9c82-52dd-4983-be08-a9c1810cbaaa@sentex.net> In-Reply-To: <9dd52865-6928-41dc-910b-82988fe6b2af@sentex.net> References: <9a593ca1-4975-438a-afec-d8dd5199dbcf@sentex.net> <86bk618lyh.fsf@ltc.des.dev> <d3536b16-fbdb-4a9f-a85c-47b1cc7213db@sentex.net> <867cgp8lgu.fsf@ltc.des.dev> <57a1cc6b-2bd2-4292-9fde-f8799ffa291a@sentex.net> <8634rd8l2p.fsf@ltc.des.dev> <e089d0a9-f659-4ebe-8d6b-b09e7ecaa265@sentex.net> <86y19575y9.fsf@ltc.des.dev> <9dd52865-6928-41dc-910b-82988fe6b2af@sentex.net>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
On 4/22/2024 12:05 PM, mike tancsa wrote:
> On 4/22/2024 11:49 AM, Dag-Erling Smørgrav wrote:
>> mike tancsa<mike@sentex.net> writes:
>>> I was afraid of that. So basically I have to copy the entire pool or
>>> live with the performance penalty :( 73TB is a lot to copy / move.
>> Oh I didn't realize those disks were part of the larger pool, I thought
>> they were a separate pool named “special”. You might be able to simply
>> detach and then re-attach both drives, afaik a draid can function
>> without its special vdev.
>
> Yeah, its an actual special vdev I added to speed up metadata and
> small file access. zpool-detach I think only works on mirrors and not
> raidz vdevs. From searching google, there does not seem to be a way
> to detach a special vdev from a raidz pool.
>
>
I think I confirmed my suspicion with a quick test pool
truncate -s 100G /quirk-test/junk.raw
truncate -s 100G /quirk-test/junk2.raw
mdconfig -f /quirk-test/junk.raw
mdconfig -f /quirk-test/junk2.raw
gpart create -s gpt md0
gpart create -s gpt md1
gpart add -s 20G -t freebsd-zfs /dev/md0
gpart add -s 20G -t freebsd-zfs /dev/md0
gpart add -s 20G -t freebsd-zfs /dev/md0
gpart add -s 20G -t freebsd-zfs /dev/md1
gpart add -s 20G -t freebsd-zfs /dev/md1
gpart add -s 20G -t freebsd-zfs /dev/md1
zpool create testpool raidz1 /dev/md0p1 /dev/md1p1 /dev/md0p2 /dev/md1p2
zpool add testpool special mirror /dev/md0p3 /dev/md1p3
zpool status
pool: testpool
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
md0p1 ONLINE 0 0 0
md1p1 ONLINE 0 0 0
md0p2 ONLINE 0 0 0
md1p2 ONLINE 0 0 0
special
mirror-1 ONLINE 0 0 0
md0p3 ONLINE 0 0 0
md1p3 ONLINE 0 0 0
# zpool remove testpool mirror-1
cannot remove mirror-1: invalid config; all top-level vdevs must have
the same sector size and not be raidz.
zpool detach just nukes the mirror I think for the special vdev
# zpool detach testpool /dev/md1p3
# zpool status
pool: quirk-test
state: ONLINE
scan: resilvered 128G in 00:08:52 with 0 errors on Mon Apr 8
14:37:29 2024
config:
NAME STATE READ WRITE CKSUM
quirk-test ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
da4p1 ONLINE 0 0 0
da1p1 ONLINE 0 0 0
da2p1 ONLINE 0 0 0
da5p1 ONLINE 0 0 0
errors: No known data errors
pool: testpool
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
md0p1 ONLINE 0 0 0
md1p1 ONLINE 0 0 0
md0p2 ONLINE 0 0 0
md1p2 ONLINE 0 0 0
special
md0p3 ONLINE 0 0 0
errors: No known data errors
# zpool remove testpool /dev/md0p3
cannot remove /dev/md0p3: invalid config; all top-level vdevs must have
the same sector size and not be raidz.
# zpool detach testpool /dev/md0p3
cannot detach /dev/md0p3: only applicable to mirror and replacing vdevs
---Mike
[-- Attachment #2 --]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 4/22/2024 12:05 PM, mike tancsa
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:9dd52865-6928-41dc-910b-82988fe6b2af@sentex.net">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="moz-cite-prefix">On 4/22/2024 11:49 AM, Dag-Erling
Smørgrav wrote:<br>
</div>
<blockquote type="cite" cite="mid:86y19575y9.fsf@ltc.des.dev">
<pre class="moz-quote-pre" wrap="">mike tancsa <a
class="moz-txt-link-rfc2396E" href="mailto:mike@sentex.net"
moz-do-not-send="true"><mike@sentex.net></a> writes:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">I was afraid of that. So basically I have to copy the entire pool or
live with the performance penalty :( 73TB is a lot to copy / move.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">Oh I didn't realize those disks were part of the larger pool, I thought
they were a separate pool named “special”. You might be able to simply
detach and then re-attach both drives, afaik a draid can function
without its special vdev.
</pre>
</blockquote>
<p>Yeah, its an actual special vdev I added to speed up metadata
and small file access. zpool-detach I think only works on
mirrors and not raidz vdevs. From searching google, there does
not seem to be a way to detach a special vdev from a raidz pool.</p>
<p><br>
</p>
</blockquote>
<p>I think I confirmed my suspicion with a quick test pool</p>
<p>truncate -s 100G /quirk-test/junk.raw<br>
truncate -s 100G /quirk-test/junk2.raw<br>
<br>
mdconfig -f /quirk-test/junk.raw<br>
mdconfig -f /quirk-test/junk2.raw<br>
gpart create -s gpt md0<br>
gpart create -s gpt md1<br>
gpart add -s 20G -t freebsd-zfs /dev/md0<br>
gpart add -s 20G -t freebsd-zfs /dev/md0<br>
gpart add -s 20G -t freebsd-zfs /dev/md0<br>
gpart add -s 20G -t freebsd-zfs /dev/md1<br>
gpart add -s 20G -t freebsd-zfs /dev/md1<br>
gpart add -s 20G -t freebsd-zfs /dev/md1<br>
zpool create testpool raidz1 /dev/md0p1 /dev/md1p1 /dev/md0p2
/dev/md1p2<br>
zpool add testpool special mirror /dev/md0p3 /dev/md1p3<br>
zpool status</p>
<p><br>
pool: testpool<br>
state: ONLINE<br>
config:<br>
<br>
NAME STATE READ WRITE CKSUM<br>
testpool ONLINE 0 0 0<br>
raidz1-0 ONLINE 0 0 0<br>
md0p1 ONLINE 0 0 0<br>
md1p1 ONLINE 0 0 0<br>
md0p2 ONLINE 0 0 0<br>
md1p2 ONLINE 0 0 0<br>
special<br>
mirror-1 ONLINE 0 0 0<br>
md0p3 ONLINE 0 0 0<br>
md1p3 ONLINE 0 0 0<br>
</p>
<p><br>
</p>
<p> # zpool remove testpool mirror-1<br>
cannot remove mirror-1: invalid config; all top-level vdevs must
have the same sector size and not be raidz.</p>
<p>zpool detach just nukes the mirror I think for the special vdev</p>
<p> # zpool detach testpool /dev/md1p3<br>
<br>
# zpool status<br>
pool: quirk-test<br>
state: ONLINE<br>
scan: resilvered 128G in 00:08:52 with 0 errors on Mon Apr 8
14:37:29 2024<br>
config:<br>
<br>
NAME STATE READ WRITE CKSUM<br>
quirk-test ONLINE 0 0 0<br>
raidz1-0 ONLINE 0 0 0<br>
da4p1 ONLINE 0 0 0<br>
da1p1 ONLINE 0 0 0<br>
da2p1 ONLINE 0 0 0<br>
da5p1 ONLINE 0 0 0<br>
<br>
errors: No known data errors<br>
<br>
pool: testpool<br>
state: ONLINE<br>
config:<br>
<br>
NAME STATE READ WRITE CKSUM<br>
testpool ONLINE 0 0 0<br>
raidz1-0 ONLINE 0 0 0<br>
md0p1 ONLINE 0 0 0<br>
md1p1 ONLINE 0 0 0<br>
md0p2 ONLINE 0 0 0<br>
md1p2 ONLINE 0 0 0<br>
special<br>
md0p3 ONLINE 0 0 0<br>
<br>
errors: No known data errors<br>
<br>
# zpool remove testpool /dev/md0p3<br>
cannot remove /dev/md0p3: invalid config; all top-level vdevs must
have the same sector size and not be raidz.<br>
<br>
# zpool detach testpool /dev/md0p3<br>
cannot detach /dev/md0p3: only applicable to mirror and replacing
vdevs<br>
</p>
<p><br>
</p>
<p> ---Mike<br>
</p>
<p></p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:9dd52865-6928-41dc-910b-82988fe6b2af@sentex.net">
<p> </p>
<span style="white-space: pre-wrap">
</span> </blockquote>
</body>
</html>
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01bd9c82-52dd-4983-be08-a9c1810cbaaa>
