前面我们介绍了zfs的pool, 类似lvm. 由多个块设备组成.
如果这些块设备要从一个机器转移到另一台机器的话, 怎么实现呢?
zfs通过export和import来实现底层块设备的转移.
在已有pool的主机上, 先将会读写pool或dataset的正在运行的程序停止掉, 然后执行export.
执行export会把cache flush到底层的块设备, 同时卸载dataset和pool.
import时, 可能需要指定块设备的目录, 但是并不需要指定顺序.
例如 :
因为我这里用的是文件, 所以把文件拷贝到对应的其他主机, 然后指定文件所在目录,
如果是块设备的话, 不需要指定目录.
使用name 导入.
接下来我export后修改一下目录和文件名, 并且拷贝到另一台主机.
恢复destroy的zpool, 当pool被destroy后, 还可以恢复, 因为数据都还在, 只是pool删掉了.
zpool版本升级, 比如一个pool从版本20的机器迁移到版本28的机器, 那么可以升级到28, 但是这样的话, 这个pool就不能再回到版本20的机器上使用了.
[参考]1. https://pthree.org/2012/12/10/zfs-administration-part-v-exporting-and-importing-zpools/