ZFS Moving data from OLD zpool to NEW zpool on the same PC.

My old zpool raidz1 was maxing out and one of the hard drives was starting to go bad. I created the new zpool using new and bigger drives and now I need to transfer the files from old zpool to new zpool.
Can I simply copy and paste or mv/cp the files over or do I need to use export/import?
Both pools are local on the same PC so I'm not sure if I need export/import.
If it works without export/import would the files metadata be degraded somehow?


Staff member
Why don't you replace the drives of the original pool? Start with the broken one. Then replace each drive indivually, one by one, letting it resilver inbetween. Once all the drives have been replaced you can expand the existing pool to use the extra space.
I would use the opportunity to also check , if you want to make some structural changes and want to use more inherit functions of ZFS. As long as your now degraded pool is running, I would suggest that you use zfs send and receive with -R ( replication) it is simple and will only transfer the used datablocks. import / export is IMHO only if you would like to change vdevs ( e.g. from one server to another one) . Replication also keeps your metadata of the files ( you will move datasets and not files - so you won't touch the files )
As you now under fire (degraded) I think also like Sir Dice, it would be the best first to change the damaged drive to ensure you have enough time to move your data. Then you still could decide if you want to upgrade in place ( like Sir Dice suggested ) or move the data with ZFS send/recv.
Hopefully you have a backup ?
Yes I have a remote backup. I have learned from past experience 😱 they are a must 😅
Both are great options but since all hard drives at play are attached to my PC and I have already made the new zpool I'm going with your advice, Peacekeeper2000, of ZFS send/recv with the Replication option.