一、故障背景
365bet足球比分接到客户报修,客户一台SunFireV890设备无法启动,双机没有正常切换,业务中断。
365bet足球比分工程师到达现场后,了解是因为客户调整配置系统无反应后进行了物理关机,然后重启设备无法正常启动,长时间停留在此“Boot device: /pci@8,600000/SUNW,qlc@2/fp@0,0/disk@w21000014c31799fd,0:a File and args:”处无法正常引导系统,但设备自检都可通过无报错,所以基本判断是系统问题。
365bet足球比分工程师采用了一些方法试图让其恢复,如修复文件系统,加引导文件,将镜像拆除用单盘启动等但都无济于事; 由于此设备中有一些非常重要的数据还没有导出,所以不能对其重装,最后经过分析,对其进行更新归档使其恢复启动。
二、处理流程
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.重新引导系统
重新引导系统后,见到了久违的login界面。
三、经验总结
1、在安装 Solaris 时,bootadm 命令会在系统上创建引导归档文件,引导归档文件是根文件系统的子集。引导归档文件包含所有的内核模块、driver.conf 文件,以及几个配置文件。这些文件位于 /etc 目录中。
2、挂载根文件系统之前,内核将读取引导归档文件中的文件,挂载根文件系统之后,内核将从内存中放弃引导归档文件,然后系统将针对根设备执行文件 I/O。
3、bootadm 命令可处理引导归档文件更新和验证的详细信息。在系统正常关机过程中,关机过程会将引导归档文件的内容与根文件系统进行比较。如果系统具有更新(如驱动程序或配置文件),则引导归档文件将重建为包括这些更改,以便在重新引导后,引导归档文件和根文件系统可以同步。
4、由于设备长时间没有重启,设备意外冷关机导致设备还没有来得及进行同步引导归档文件,导致重启后无法引导。所以对运行时间比较长的设备的重启要慎重,特别是物理重启,操作前建议做好相应的备份和准备工作,以防万一。
注:SPARC 引导归档文件中的文件位于 /platform 目录中。可以使用 bootadm list-archive 命令列出引导归档文件的内容。
如欲了解更多,请登录365bet足球比分官方网站:kaw.4mystery.com