Oracle Solaris ZFS 管理指南

Procedure如何将 UFS 上具有区域根的 UFS 根文件系统迁移到 ZFS 根文件系统 (Solaris 10 10/08)

此过程解释如何将安装了区域的 UFS 根文件系统迁移到 ZFS 根文件系统,以及如何升级或修补的 ZFS 区域根配置。

在后面的步骤中,示例池名称为 rpool,活动引导环境的示例名称为 s10BE*

  1. 如果系统正在运行先前的 Solaris 10 发行版,请将其升级到 Solaris 10 10/08 发行版。

    有关对运行 Solaris 10 发行版的系统进行升级的更多信息,请参见《Oracle Solaris 10 9/10 安装指南:Solaris Live 升级和升级规划》

  2. 创建根池。


    # zpool create rpool mirror c0t1d0 c1t1d0
    

    有关根池要求的信息,请参见ZFS 支持对于 Oracle Solaris 安装和 Oracle Solaris Live Upgrade 的要求

  3. 确认已引导 UFS 环境中的区域。

  4. 创建新 ZFS 引导环境。


    # lucreate -n s10BE2 -p rpool
    

    此命令将为新引导环境在根池中建立数据集并将当前引导环境(包括区域)复制到这些数据集。

  5. 激活新 ZFS 引导环境。


    # luactivate s10BE2
    

    现在,系统正在运行 ZFS 根文件系统,但 UFS 上的区域根仍在 UFS 根文件系统中。需要执行后续步骤将 UFS 区域完全迁移到支持的 ZFS 配置。

  6. 重新引导系统。


    # init 6
    
  7. 将区域迁移到 ZFS BE。

    1. 引导区域。

    2. 在池中创建另一个 ZFS BE。


      # lucreate s10BE3
      
    3. 激活新引导环境。


      # luactivate s10BE3
      
    4. 重新引导系统。


      # init 6
      

      此步骤用于验证是否已引导 ZFS BE 和区域。

  8. 解决任何潜在的挂载点问题。

    由于 Oracle Solaris Live Upgrade 中的错误,非活动引导环境可能无法引导,因为引导环境中的 ZFS 数据集或区域的 ZFS 数据集有无效的挂载点。

    1. 查看 zfs list 输出。

      查找不正确的临时挂载点。例如:


      # zfs list -r -o name,mountpoint rpool/ROOT/s10u6
      
      NAME                               MOUNTPOINT
      rpool/ROOT/s10u6                   /.alt.tmp.b-VP.mnt/
      rpool/ROOT/s10u6/zones             /.alt.tmp.b-VP.mnt//zones
      rpool/ROOT/s10u6/zones/zonerootA   /.alt.tmp.b-VP.mnt/zones/zonerootA

      根 ZFS BE (rpool/ROOT/s10u6) 的挂载点应为 /

    2. 重置 ZFS BE 及其数据集的挂载点。

      例如:


      # zfs inherit -r mountpoint rpool/ROOT/s10u6
      # zfs set mountpoint=/ rpool/ROOT/s10u6
      
    3. 重新引导系统。

      当提供选项来引导特定的引导环境时(在 GRUB 菜单中或 OpenBoot PROM 提示符下),请选择刚刚更正其挂载点的引导环境。