跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:ZFS 文件系统 Oracle Solaris 11 Information Library (简体中文) |
1. Oracle Solaris ZFS 文件系统(介绍)
3. Oracle Solaris ZFS 与传统文件系统之间的差别
7. 使用 Oracle Solaris ZFS 快照和克隆
8. 使用 ACL 和属性保护 Oracle Solaris ZFS 文件
可以使用影子迁移功能迁移文件系统,如下所述:
本地或远程 ZFS 文件系统到目标 ZFS 文件系统
本地或远程 UFS 文件系统到目标 ZFS 文件系统
影子迁移是一个推送要迁移的数据的过程:
创建一个空的 ZFS 文件系统。
在要用作目标(或影子)文件系统的空 ZFS 文件系统上设置 shadow 属性,以指向要迁移的文件系统。
数据从要迁移的文件系统复制到影子文件系统。
可以使用 shadow 属性 URI 按以下两种方式标识要迁移的文件系统:
shadow=file:///path-使用此语法迁移本地文件系统
shadow=nfs://host:path-使用此语法迁移 NFS 文件系统
在迁移文件系统时,请检查以下注意事项:
要迁移的文件系统必须设置为只读的。如果文件系统未设置为只读的,则可能不会迁移正在进行的更改。
目标文件系统必须完全为空。
如果在迁移过程中重新引导了系统,则在引导系统后迁移将继续执行。
在迁移完整个内容之前,会阻止访问未完全迁移的目录内容或未完全迁移的文件内容。
如果希望在 NFS 迁移过程中将 UID、GID 和 ACL 信息迁移到影子文件系统,请确保名称服务信息在本地系统和远程系统之间是可访问的。在通过 NFS 执行完全的数据大迁移之前,可以考虑复制要迁移的文件系统数据的子集进行测试迁移,以查看是否正确迁移了所有信息。
通过 NFS 迁移文件系统数据,具体取决于您的网络带宽。请耐心等待。
可以使用 shadowstat 命令监视文件系统迁移,它提供以下数据:
BYTES XFRD 列标识已传输到影子文件系统的字节数。
BYTES LEFT 列不断变化,直到迁移几乎完成为止。ZFS 在迁移开始时不标识需要迁移的数据量,因为此过程所用的时间可能太长。
可考虑使用 BYTES XFRD 和 ELAPSED TIME 信息来估算迁移过程所用时长。
对于使用 NFS 的大型迁移,可以考虑执行数据子集的测试迁移,以确保 UID、GUID 和 ACL 信息正确地迁移。
# pkg install shadow-migration
# svcadm enable shadowd
如果不启用 shadowd 进程,则在迁移过程完成时必须将 shadow 属性重置为 none。
如果要迁移本地 ZFS 文件系统,请将它设置为只读的。例如:
# zfs set readonly=on tank/home/data
如果要迁移远程文件系统,请将其共享为只读的。例如,
# share -F nfs -o ro /export/home/ufsdata # share - /export/home/ufsdata ro ""
例如,如果要将本地 ZFS 文件系统 rpool/old 迁移到新的 ZFS 文件系统 users/home/shadow,请在创建 users/home/shadow 文件系统时将 shadow 属性设置为 rpool/old。
# zfs create -o shadow=file:///rpool/old users/home/shadow
例如,要从远程服务器迁移 /export/home/ufsdata,请在创建 ZFS 文件系统时设置 shadow 属性。
# zfs create -o shadow=nfs://v120-brm-02/export/home/ufsdata users/home/shadow2
例如:
# shadowstat EST BYTES BYTES ELAPSED DATASET XFRD LEFT ERRORS TIME users/home/shadow 45.5M 2.75M - 00:02:31 users/home/shadow 55.8M - - 00:02:41 users/home/shadow 69.7M - - 00:02:51 No migrations in progress
在迁移完成时,shadow 属性设置为 none。
# zfs get -r shadow users/home/shadow* NAME PROPERTY VALUE SOURCE users/home/shadow shadow none - users/home/shadow2 shadow none -
在解决 ZFS 迁移问题时,请检查以下几点:
如果要迁移的文件系统未设置为只读的,则不会迁移所有数据。
当设置了 shadow 属性时,如果目标文件系统不为空,则数据迁移将不会开始。
如果当迁移正在进行时在要迁移的文件系统中添加或删除了数据,则可能不会迁移这些更改。
如果在迁移正在进行时尝试更改影子文件系统的挂载,则将看到以下消息:
# zfs set mountpoint=/users/home/data users/home/shadow3 cannot unmount '/users/home/shadow3': Device busy