在 Oracle® Solaris 11.2 中管理 SAN 设备和多路径

退出打印视图

更新时间: 2014 年 12 月
 
 

如何从系统崩溃中恢复

如果在 stmsboot 启用 (-e)、禁用 (-d) 或更新 (-u) 操作之后,系统挂起、出现紧急情况或无法引导,请执行以下步骤恢复原始多路径配置。

  1. 从其他可引导的磁盘、安装 DVD 或网络引导系统。
    • SPARC:如果从安装介质或网络上的安装服务器进行引导,请选择文本安装。如果从安装服务器进行引导,请使用以下命令:

      ok boot net:dhcp
    • x86:如果从安装介质或网络上的安装服务器进行引导,请从 GRUB 菜单选择以下文本安装选项:

      Oracle Solaris 11.1 Text Installer and command line
    • 从以下菜单选择 3 Shell 选项:

              1  Install Oracle Solaris
              2  Install Additional Drivers
              3  Shell
              4  Terminal type (currently sun-color)
              5  Reboot
      
      Please enter a number [1]: 3
      To return to the main menu, exit the shell
  2. 导入您的 ZFS 根池。
    # zpool import -f rpool
  3. 挂载根 BE。
    # mkdir /a
    # beadm mount solaris /a
  4. 如下所示恢复原始 fp.conf 文件(对于 FC 多路径)或 mpt.conf(对于 SAS 多路径)。
    • 如果您运行了 stmsboot –e 命令或 stmsboot –d 命令:
      • 对于 SAS 多路径:

        # cp /a/etc/mpxio/mpt.conf /a/etc/driver/drv/mpt.conf
      • 对于 FC 多路径:

        # cp /a/etc/mpxio/fp.conf /a/etc/driver/drv/fp.conf
    • 如果您运行了 stmsboot –u 命令,并修改了 fp.conf 文件或 mpt.conf,请编辑 /a/etc/driver/drv/fp.conf/a/etc/driver/drv/mpt.conf 文件,撤消对该文件所做的更改。
  5. 在运行 stmsboot 命令之前,先撤消对多路径配置所做的所有其他更改。

    例如,如果您修改了 scsi_vhci.conf 文件,则编辑 /a/etc/driver/drv/scsi_vhci.conf 文件,撤消对该文件所做的更改。

    例如,如果您修改了 scsi_vhci.conf 文件,则编辑 /a/kernel/drv/scsi_vhci.conf 文件,撤消对该文件所做的更改。

    如果您修改了存储阵列的设备设置,请恢复其原始设置。

  6. 恢复原始 /etc/vfstab 文件:
    # cp /a/etc/mpxio/vfstab /a/etc/vfstab

    /a/etc/mpxio/vfstab 文件是 stmsboot 命令在更新 vfstab 文件之前保存的原始 /etc/vfstab 文件的副本。如果 stmsboot 命令没有修改 vfstab 文件,则 /a/etc/mpxio/vfstab 文件将不存在。

  7. 如果系统在基于 x86 的系统上的 Oracle Solaris OS 上运行,请执行以下步骤:
    1. 恢复原始 /boot/solaris/bootenv.rc 文件。
      # cp /a/etc/mpxio/bootenv.rc /a/boot/solaris/bootenv.rc

      /a/etc/mpxio/bootenv.rc 文件是 stmsboot 命令在更新 bootenv.rc 文件之前保存的原始 /boot/solaris/bootenv.rc 文件的副本。如果 stmsboot 命令没有修改 bootenv.rc 文件,则 /a/etc/mpxio/bootenv.rc 文件将不存在。

    2. 更新引导归档文件。
      # bootadm update-archive -R /a
  8. 禁用 mpxio-upgrade 服务:
    # /usr/sbin/svccfg -f /a/etc/mpxio/svccfg_recover
  9. 卸载 BE。
    # beadm umount solaris
  10. 卸载 UFS 根文件系统。
    # umount /a
  11. 重新引导系统。