The NAS was full, which on a homelab is less a crisis and more a slow tide. I had a mirror of 4TB drives and a box of 8TB ones, and the plan was the classic ZFS trick: replace each disk in turn, let it resilver, and at the end the pool quietly notices it has more room.
The theory is lovely. The practice is a test of patience. You pull one half of the mirror, slot the new disk, and run the replace from the TrueNAS UI. Then you wait. A resilver on a reasonably full mirror is hours, and during that window you are running on a single disk with no redundancy, which is the kind of thought that keeps you checking zpool status far more often than is healthy.
scan: resilver in progress since Tue Jul 22 09:14:03 2025
2.81T scanned at 412M/s, 2.10T issued at 308M/s
2.10T resilvered, 74.8% done
Two disks, two resilvers, the better part of a day. I left autoexpand on, so the moment the second one finished the pool grew by itself with no reboot and no ceremony. The only real advice I'd give: have a current backup before you start, because "single disk, no redundancy, mid-resilver" is precisely when Murphy comes to visit. He didn't. This time.