I do this fairly often.
This is how I do it
- add new disks… make new pool.
- replicate existing datasets of existing pool onto new pool using once off data replication in the gui. Ensure that the destination is NOT set read-only. Verify the new pool looks like how you expect…
- export old pool, don’t erase, don’t zap configs.
- rename new pool to match old pool following this guide:
HOWTO: Rename a ZFS pool
Tada.
Maybe restart.