EN 联系我们加入我们
典型案例
您现在的位置:首页 > 典型案例
【案例分享】SunFireV890 故障处理案例分析



一、故障背景


安图特接到客户报修,客户一台SunFireV890设备无法启动,双机没有正常切换,业务中断。

安图特工程师到达现场后,了解是因为客户调整配置系统无反应后进行了物理关机,然后重启设备无法正常启动,长时间停留在此“Boot device: /pci@8,600000/SUNW,qlc@2/fp@0,0/disk@w21000014c31799fd,0:a  File and args:”处无法正常引导系统,但设备自检都可通过无报错,所以基本判断是系统问题。

安图特工程师采用了一些方法试图让其恢复,如修复文件系统,加引导文件,将镜像拆除用单盘启动等但都无济于事; 由于此设备中有一些非常重要的数据还没有导出,所以不能对其重装,最后经过分析,对其进行更新归档使其恢复启动。



二、处理流程



1、引导故障安全归档文件。在 ok 提示符中,键入以下命令:

ok boot -F failsafe

2、挂载根 (/) 文件系统到 /a

# mount /dev/dsk/c0t0d0s0 /a

3、将 md.conf 文件复制到 /kernel/drv 目录

# cp /a/kernel/drv/md.conf /kernel/drv/

4、卸载 /a 目录

# unmount /a

5、装入 md 驱动程序

# update_drv -f md

此命令的运行导致配置得以读取,并创建必要的设备。

6、使用 metasync 命令确保同步根 (/) 文件系统。例如:

# metasync d0

7、在 /a 目录上挂载根镜像元设备

# mount /dev/md/dsk/d0 /a

8、更新上一步所挂载设备的引导归档文件

# bootadm update-archive -v -R /a

forced update of archive requested
cannot find: /a/etc/cluster/nodeid: No such file or directory
cannot find: /a/etc/mach: No such file or directory
Creating boot_archive for /a
updating /a/platform/sun4u/boot_archive


如果更新引导归档文件失败或出现错误消息,可以执行以下操作:

a.更新 /a 目录上 md.conf 文件的时间戳,这将强制更新引导归档文件

# touch /a/kernel/drv/md.conf

b.运行 bootadm 命令更新引导归档文件

# bootadm update-archive -v -R /a

9.卸载 /a

# unmount /a

10.重新引导系统

image001.gif


重新引导系统后,见到了久违的login界面。



三、经验总结



1、在安装  Solaris 时,bootadm 命令会在系统上创建引导归档文件,引导归档文件是根文件系统的子集。引导归档文件包含所有的内核模块、driver.conf 文件,以及几个配置文件。这些文件位于 /etc 目录中。

2、挂载根文件系统之前,内核将读取引导归档文件中的文件,挂载根文件系统之后,内核将从内存中放弃引导归档文件,然后系统将针对根设备执行文件 I/O。

3、bootadm 命令可处理引导归档文件更新和验证的详细信息。在系统正常关机过程中,关机过程会将引导归档文件的内容与根文件系统进行比较。如果系统具有更新(如驱动程序或配置文件),则引导归档文件将重建为包括这些更改,以便在重新引导后,引导归档文件和根文件系统可以同步。

4、由于设备长时间没有重启,设备意外冷关机导致设备还没有来得及进行同步引导归档文件,导致重启后无法引导。所以对运行时间比较长的设备的重启要慎重,特别是物理重启,操作前建议做好相应的备份和准备工作,以防万一。

注:SPARC 引导归档文件中的文件位于 /platform 目录中。可以使用 bootadm list-archive 命令列出引导归档文件的内容。


如欲了解更多,请登录安图特官方网站:www.antute.com.cn

版权所有 安图特(北京)科技有限公司 备案号:京ICP备17074963号-1
技术支持:创世网络