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


| raw e-mail | index | archive | help
<!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?>