Skip site navigation (1)Skip section navigation (2)


| raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------TeEYKHRauDcwvPTkUFKj80vS
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

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


--------------TeEYKHRauDcwvPTkUFKj80vS
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!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">&lt;mike@sentex.net&gt;</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>

--------------TeEYKHRauDcwvPTkUFKj80vS--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?>