TempleHasFallen
Dabbler
- Joined
- Jan 27, 2022
- Messages
- 34
Hello,
I'm looking to migrate a whole pool (raidz2) to a new set of disks (also raidz2) and retain the full configuration (shares, datasets, permissions). Re-doing permissions for all the datasets is not an option. Downtime also has to be to a bare minimum.
Previously, I was able to halt all services, zfs send+receive a snapshot of the pool and then unmount, rename the datasets and remount.
However, since my old pool is GELI encrypted and the new one is native ZFS, I am receiving the following error:
If I am to do this per dataset, the datasets will carry over as such:
What is the correct way to move all datasets to a new pool while changing encryption and retaining permissions?
I'm looking to migrate a whole pool (raidz2) to a new set of disks (also raidz2) and retain the full configuration (shares, datasets, permissions). Re-doing permissions for all the datasets is not an option. Downtime also has to be to a bare minimum.
Previously, I was able to halt all services, zfs send+receive a snapshot of the pool and then unmount, rename the datasets and remount.
However, since my old pool is GELI encrypted and the new one is native ZFS, I am receiving the following error:
Code:
zfs send -Rv current@expansion | zfs receive -Fv temp cannot receive new filesystem stream: zfs receive -F cannot be used to destroy an encrypted filesystem or overwrite an unencrypted one with an encrypted one
If I am to do this per dataset, the datasets will carry over as such:
Code:
#!/bin/bash for value in dataset1,dataset2,dataset3 do zfs send -Rv current/$value@migrate | zfs receive -v temp/$value done
What is the correct way to move all datasets to a new pool while changing encryption and retaining permissions?