Pool conversion from STRIPE to MIRROR

Hey guys, i’m in a bit in a tricky situation

I’ve got a 500Gb pool that’s in STRIPE. My hard drive on there started failing, so i found another hard drive of the same model. I want to convert my single-drive STRIPE pool to a dual-drive MIRROR pool so that i don’t risk losing data. How do i do this, optimally without downtime? I asked Claude, but i’m not confident at all with this answer. I got this, is it a good idea to follow what he told me to do?:

    1. Add drive #2 as a mirror to your existing STRIPE pool (creating a striped pool with one STRIPE vdev and one MIRROR vdev of just #2)
    2. Remove drive #1 (the original STRIPE vdev) — forcing all data to evacuate to drive #2
    3. Re-add drive #1 as a mirror partner to drive #2, creating a true 2-disk MIRROR vdev

Unfortunately, ZFS VDEV topology is immutable after creation. After step 2, your pool will be broken. The only way forward is to destroy your pool and recreate it as a mirror, and then reload the data from backup.

Heh… that’s fun, so essentially i will need downtime since for some reason replication doesn’t work on my machine…

For any more people having this issue, here’s what i’ll do:

  1. Kill all apps
  2. Enter a live iso that has ZFS drivers so i can read my pool, copy that to my main PC via FTP (that has well enough space)
  3. Reboot in TrueNAS, create a pool and make it a RAID5 just in case i want more drives in the future
  4. Repopulate data and reconfigure the Apps section of TrueNAS so it picks up my AppData
  5. Cross fingers and hope it works

Stop, stop, stop. Claude’s advice is wrong, but if you haven’t followed it yet, no harm, no foul.

Yes, you can add a second drive as a mirror of the first. The way you do that is to extend the first vdev. You’ll find instructions in the TrueNAS docs, not in Claude.

I haven’t followed it. Can you post a link? I’ve already tried searching for it. But if i extend my STRIPE VDEV, i’ll just have two hard drives and when one’s full, the other one takes over new data? I’m a bit confused

Post your details on your hardware and pool layout.
sudo zpool status -v

Without good details, you can get incorrect advice. We also need to know how full your pools are.

50% full.

zpool status -v returns:
pool: boot-pool
state: ONLINE
scan: scrub repaired 0B in 00:00:19 with 0 errors on Mon Jun 22 03:45:20 2026
config:

NAME         STATE     READ WRITE CKSUM
boot-pool    ONLINE       0     0     0
  nvme0n1p3  ONLINE       0     0     0

errors: No known data errors

pool: main
state: DEGRADED
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see:
scan: scrub repaired 0B in 00:59:29 with 11 errors on Sun Jun 21 00:59:31 2026
remove: Removal of vdev 1 copied 376K in 0h0m, completed on Tue Jun 16 18:06:17 2026
2.20K memory used for removed device mappings
config:

NAME                                    STATE     READ WRITE CKSUM
main                                    DEGRADED     0     0     0
  a536d7f0-85ec-43ff-bc86-2c6a443832a1  DEGRADED   159     0   132  too many errors

errors: Permanent errors have been detected in the following files:

    /var/db/system/netdata/dbengine/datafile-1-0000000116.ndf
    /mnt/main/Films/Disney/L'Age de Glace/L'age de glace.mp4
    /mnt/.ix-apps/truenas_catalog/trains/community/postgres/1.5.14/templates/library/base_v2_3_4/validations.py
    /mnt/.ix-apps/truenas_catalog/.git/objects/pack/pack-7f42ae0d26a82ec84f3ed209598b57b86dc49916.idx
    /mnt/.ix-apps/truenas_catalog/.git/objects/pack/pack-7f42ae0d26a82ec84f3ed209598b57b86dc49916.pack

I was mistaken earlier. Looks like ZFS has added the capability to attach new disks to VDEVs. I don’t know about the UI, but in the CLI, you can just go zpool attach main sda sdb to make sdb a mirror of sda.

Oh wonderful! Even if my original VDEV is a STRIPE? This is my concern

You haven’t said which version of TrueNAS you’re using, so not with certainty, but here are the relevant docs for the current version:

Does that sound like how a mirror would work?

Yes, see: zpool-attach.8 — OpenZFS documentation

Nah a mirror is when you get two hard drives that are identical copies

There’s absolutely no reason to be using the CLI here. And the ability to add a second disk as a mirror of a first has been present in the GUI for ages.

These screenshots should be close for doing EXTEND to make a single drive into a 2 wide Mirror



Even if it’s a STRIPE originally?

Good to know. I know it wasn’t present in FreeNAS.

Oh, if it helps i’m on Scale

So if I do this you think it’ll work with my Stripe? I’m worried it won’t…

Dan’s advice is sound.
But no one here can absolutely 100% guarantee what will happen in every possible scenario. That’s what a verified backup is for.