The pool was full, the disks were old, and I had no spare bays. The only way to grow it was the slow dance: replace one disk at a time, let it resilver, repeat. With raidz2 you can do this without ever taking the pool offline, which is the entire point of running it, but it is not quick.
Each swap went the same way. Offline the old drive, physically pull it, slot the new one in, then zpool replace and wait. Resilvering 4TB took most of a day, and the array runs degraded the whole time, so I did them one at a time rather than tempt fate with two missing redundancy at once. Six disks, the better part of a week, mostly spent watching a percentage tick upward.
The bit people forget is that ZFS does not grow the vdev until every disk in it is larger. You can replace five of six and the pool stays exactly the same size, taunting you. Only when the last old drive was gone, and with autoexpand set on, did the extra capacity finally appear. Eight terabytes of new headroom showed up all at once, which after a week of waiting felt genuinely festive.
No data lost, no downtime, and I now have a renewed respect for SMART warnings and a box of retired disks I don't quite trust enough to throw away.