Oracle Solaris ZFS 管理指南

解决妨碍成功引导的 ZFS 挂载点问题 (Solaris 10 10/08)

更改活动引导环境的最佳方法是使用 luactivate 命令。如果由于错误的修补程序或配置错误而导致引导活动环境失败,则从其他环境引导的唯一方法是在引导时选择该环境。您可以在基于 x86 的系统上从 GRUB 菜单中选择备用 BE,或在基于 SPARC 的系统上从 PROM 中显式引导备用 BE。

由于 Solaris 10 10/08 发行版 Oracle Solaris Live Upgrade 功能中的错误,非活动引导环境可能无法引导,因为引导环境中的 ZFS 数据集或区域的 ZFS 数据集有无效的挂载点。如果 BE 有单独的 /var 数据集,则上述错误还会阻止该 BE 挂载。

如果区域数据集有无效的挂载点,通过下列步骤可以更正该挂载点。

Procedure如何解决 ZFS 挂载点问题

  1. 从故障安全归档文件引导系统。

  2. 导入池。

    例如:


    # zpool import rpool
    
  3. 查找不正确的临时挂载点。

    例如:


    # 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

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

    如果由于 /var 挂载问题而导致引导失败,请为 /var 数据集查找类似不正确的临时挂载点。

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

    例如:


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

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