您可以使用 ZFS 影子迁移工具把现有文件系统上的数据迁移到新文件系统。创建影子文件系统,该文件系统在必要时从原始源提取数据。
可以使用影子迁移功能迁移文件系统,如下所述:
本地或远程 ZFS 文件系统到目标 ZFS 文件系统
本地或远程 UFS 文件系统到目标 ZFS 文件系统
影子迁移过程首先提取要迁移的数据,然后执行以下操作:
创建一个空的 ZFS 文件系统。
在要用作目标(或影子)文件系统的空 ZFS 文件系统上设置 shadow 属性,以指向要迁移的文件系统。例如:
# zfs create -o shadow=nfs://system/export/home/ufsdata users/home/shadow2
将要迁移的文件系统数据复制到影子文件系统。有关逐步说明,请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的迁移 ZFS 文件系统。
在迁移文件系统时,请检查以下注意事项:
必须将要迁移的文件系统设置为只读。如果文件系统未设置为只读的,则可能不会迁移正在进行的更改。
目标文件系统必须完全为空。
如果在迁移过程中重新引导系统,则迁移将在重新引导后继续。
在迁移完整个内容之前,会阻止访问未完全迁移的目录内容或未完全迁移的文件内容。
如果希望在 NFS 迁移过程中将 UID、GID 和 ACL 信息迁移到影子文件系统,请确保名称服务信息在本地系统和远程系统之间是可访问的。在通过 NFS 来完成大规模的数据迁移之前,您可能会出于测试目的而考虑复制部分要迁移的文件系统数据,以便查看是否可正确迁移所有 ACL 信息。
通过 NFS 迁移文件系统数据,具体取决于您的网络带宽。
使用 shadowstat 命令监视文件系统数据迁移。请参见在 Oracle Solaris 11.2 中管理 ZFS 文件系统 中的迁移 ZFS 文件系统。