在 Oracle® Solaris 11.2 中管理 ZFS 文件系统

退出打印视图

更新时间: 2014 年 12 月
 
 

如何将文件系统迁移到 ZFS 文件系统

  1. 如果要从远程 NFS 服务器迁移数据,请确认名称服务信息在两个系统上都是可访问的。

    对于使用 NFS 的大型迁移,可以考虑执行数据子集的测试迁移,以确保 UID、GUID 和 ACL 信息正确地迁移。

  2. 如有必要,请在要从中迁移数据的系统上安装影子迁移软件包,并启用 shadowd 服务以帮助执行迁移过程。
    # pkg install shadow-migration
    # svcadm enable shadowd

    如果不启用 shadowd 进程,则在迁移过程完成时必须将 shadow 属性重置为 none

  3. 将要迁移的本地或远程文件系统设置为只读的。

    如果要迁移本地 ZFS 文件系统,请将它设置为只读的。例如:

    # zfs set readonly=on tank/home/data

    如果要迁移远程文件系统,请将其共享为只读的。例如:

    # share -F nfs -o ro /export/home/ufsdata
    # share
    -               /export/home/ufsdata   ro   ""  
  4. 创建一个新的 ZFS 文件系统,并将 shadow 属性设置为要迁移的文件系统。

    例如,如果要将本地 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://neo/export/home/ufsdata users/home/shadow2
  5. 检查迁移进度。

    例如:

    # 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    -