Oracle Solaris ZFS 管理指南

使用 Oracle Solaris Live Upgrade 迁移或升级具有区域的系统 (Solaris 10 10/08)

可以使用 Oracle Solaris Live Upgrade 迁移具有区域的系统,但在 Solaris 10 10/08 发行版中支持的配置有限。如果安装或升级到最低 Solaris 10 5/09 发行版,可支持更多区域配置。有关更多信息,请参见使用 Oracle Solaris Live Upgrade 迁移或升级具有区域的系统(最低Solaris 10 5/09)

本节介绍如何配置和安装具有区域的系统,以便使用 Oracle Solaris Live Upgrade 升级和修补该系统。如果要迁移到没有区域的 ZFS 根文件系统,请参见使用 Oracle Solaris Live Upgrade 迁移到 ZFS 根文件系统(没有区域)

如果要在 Solaris 10 10/08 发行版中迁移具有区域的系统或配置具有区域的系统,请查看以下过程:

按照建议的过程在具有 ZFS 根文件系统的系统上设置区域,以确保可以在该系统上使用 Oracle Solaris Live Upgrade。

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 提示符下),请选择刚刚更正其挂载点的引导环境。

Procedure如何配置 ZFS 上具有区域根的 ZFS 根文件系统 (Solaris 10 10/08)

此过程解释如何设置 ZFS 根文件系统和可以进行升级或修补的 ZFS 区域根配置。在此配置中,ZFS 区域根创建为 ZFS 数据集。

在后面的步骤中,示例池名称为 rpool,活动引导环境的示例名称为 s10BE。区域数据集的名称可以为任何合法的数据集名称。在以下示例中,区域数据集名称为 zones

  1. 使用 Solaris 交互式文本安装程序或 Solaris JumpStart 安装方法安装具有 ZFS 根的系统。

    有关使用初始安装方法或 Solaris JumpStart 方法安装 ZFS 根文件系统的信息,请参见安装 ZFS 根文件系统(初始安装)安装 ZFS 根文件系统(Oracle Solaris JumpStart 安装)

  2. 从新创建的根池引导系统。

  3. 创建数据集以用于对区域根进行分组。

    例如:


    # zfs create -o canmount=noauto rpool/ROOT/s10BE/zones
    

    canmount 属性的值设置为 noauto 可防止通过 Oracle Solaris Live Upgrade 显式操作和系统启动代码以外的其他方式挂载数据集。

  4. 挂载新创建的区域数据集。


    # zfs mount rpool/ROOT/s10BE/zones
    

    数据集挂载在 /zones

  5. 为每个区域根创建并挂载数据集。


    # zfs create -o canmount=noauto rpool/ROOT/s10BE/zones/zonerootA
    # zfs mount rpool/ROOT/s10BE/zones/zonerootA
    
  6. 在区域根目录上设置适当的权限。


    # chmod 700 /zones/zonerootA
    
  7. 配置区域,如下所示设置区域路径:


    # zonecfg -z zoneA
        zoneA: No such zone configured
        Use 'create' to begin configuring a new zone.
        zonecfg:zoneA> create
        zonecfg:zoneA> set zonepath=/zones/zonerootA
    

    可通过使用以下语法在引导系统时自动引导区域:


    zonecfg:zoneA> set autoboot=true
    
  8. 安装区域。


    # zoneadm -z zoneA install
    
  9. 引导区域。


    # zoneadm -z zoneA boot
    

Procedure如何升级或修补 ZFS 上具有区域根的 ZFS 根文件系统 (Solaris 10 10/08)

当您需要升级或修补 ZFS 上具有区域根的 ZFS 根文件系统时,请使用此过程。这些更新可以是对系统进行升级,也可以是应用一些修补程序。

在后面的步骤中,newBE 为升级或修补的引导环境的示例名称。

  1. 创建引导环境以进行升级或修补。


    # lucreate -n newBE
    

    将克隆现有引导环境,包括所有区域。将为原始引导环境中的每个数据集创建一个数据集。将在与当前根池相同的池中创建新数据集。

  2. 选择以下操作之一来升级系统或将修补程序应用到新引导环境:

    • 升级系统。


      # luupgrade -u -n newBE -s /net/install/export/s10u7/latest
      

      其中 -s 选项指定 Solaris 安装介质的位置。

    • 将修补程序应用到新引导环境。


       # luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14
      
  3. 激活新引导环境。


    # luactivate newBE
    
  4. 从新激活的引导环境引导。


    # init 6
    
  5. 解决任何潜在的挂载点问题。

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

    1. 查看 zfs list 输出。

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


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

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

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

      例如:


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

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