Solaris 11 随机崩溃

Solaris 11 随机崩溃

我有一台 Solaris 11 机器,今天早上随机崩溃了。物理重新启动机器后,我注意到所有驱动器Sense Key: Soft_Error在 dmesg 和/var/adm/messages.

由于机器上的所有驱动器都标记有相同的软错误,这是否意味着 HBA 出现故障?有人有什么想法/建议吗?

root@solaris-machine:/var/log# iostat -E
sd0       Soft Errors: 1 Hard Errors: 0 Transport Errors: 0
Vendor: ATA      Product:       Revision: SN02 Serial No: 
Size: 500.11GB <500107862016 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 1
Illegal Request: 12 Predictive Failure Analysis: 0
sd2       Soft Errors: 1 Hard Errors: 0 Transport Errors: 0 
Vendor: ATA      Product:      Revision: 0004 Serial No:  
Size: 3000.59GB <3000592982016 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 1
Illegal Request: 0 Predictive Failure Analysis: 0 
sd4       Soft Errors: 1 Hard Errors: 0 Transport Errors: 0
Vendor: ATA      Product:      Revision: 0004 Serial No: 
Size: 3000.59GB <3000592982016 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 1 
Illegal Request: 0 Predictive Failure Analysis: 0 
sd5       Soft Errors: 1 Hard Errors: 0 Transport Errors: 0 
Vendor: ATA      Product:      Revision: 0004 Serial No: 
Size: 3000.59GB <3000592982016 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 1 
Illegal Request: 0 Predictive Failure Analysis: 0




Jan 23 10:45:02 solaris-machine scsi: [ID 107833 kern.warning] WARNING: /scsi_vhci/disk@g5000c5004dfae642 (sd4):
Jan 23 10:45:02 solaris-machine      Error for Command: <undecoded cmd 0xa1>    Error Level: Recovered
Jan 23 10:45:02 solaris-machine scsi: [ID 107833 kern.notice]        Requested Block: 0                         Error Block: 0
Jan 23 10:45:02 solaris-machine scsi: [ID 107833 kern.notice]        Vendor: ATA                                Serial Number:        
Jan 23 10:45:02 solaris-machine scsi: [ID 107833 kern.notice]        Sense Key: Soft_Error
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.warning] WARNING: /scsi_vhci/disk@g5000c5004dfc8db2 (sd2):
Jan 23 10:45:04 solaris-machine      Error for Command: <undecoded cmd 0xa1>    Error Level: Recovered
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.notice]        Requested Block: 0                         Error Block: 0
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.notice]        Vendor: ATA                                Serial Number:        
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.notice]        Sense Key: Soft_Error
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.notice]        ASC: 0x0 (<vendor unique code 0x0>), ASCQ: 0x1d, FRU: 0x0
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.warning] WARNING: /scsi_vhci/disk@g5000c5004dfd4ce3 (sd5):
Jan 23 10:45:04 solaris-machine      Error for Command: <undecoded cmd 0xa1>    Error Level: Recovered
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.notice]        Requested Block: 0                         Error Block: 0
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.notice]        Vendor: ATA                                Serial Number:
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.notice]        Sense Key: Soft_Error
Jan 23 10:45:04 solaris-machine scsi: [ID 107833 kern.notice]        ASC: 0x0 (<vendor unique code 0x0>), ASCQ: 0x1d, FRU: 0x0
Jan 23 10:45:07 solaris-machine scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci15d9,664@1f,2/disk@0,0 (sd0):
Jan 23 10:45:07 solaris-machine      Error for Command: <undecoded cmd 0xa1>    Error Level: Recovered
Jan 23 10:45:07 solaris-machine scsi: [ID 107833 kern.notice]        Requested Block: 0                         Error Block: 0
Jan 23 10:45:07 solaris-machine scsi: [ID 107833 kern.notice]        Vendor: ATA                                Serial Number:
Jan 23 10:45:07 solaris-machine scsi: [ID 107833 kern.notice]        Sense Key: Soft_Error
Jan 23 10:45:07 solaris-machine scsi: [ID 107833 kern.notice]        ASC: 0x0 (no additional sense info), ASCQ: 0x0, FRU: 0x0

答案1

当 Solaris 11 服务器崩溃时我会查看哪里:

  • dmesg | less
    • 仔细阅读此内容,这里有线索,或者如果 dmesg 缓冲区已循环,请查看/var/adm/messages崩溃时的日志。
  • fmadm faulty
    • 这将显示故障管理器认为有故障的任何设备,包括磁盘和 HBA、以及 NIC 等。
  • fmdump -eV
    • 这将向您显示由故障管理系统识别的系统中的任何错误,无论它们是否导致某个硬件被标记为有故障。
  • 如果有问题的磁盘是 zpool 的一部分,则zpool scrub在该池上运行,然后查看zpool status是否收到可能表明 HBA 或磁盘存在问题的校验和错误。
  • 通过运行确保转储配置设置为捕获故障转储dumpadm。其输出应该显示 savecore 已启用,并且崩溃将保留在/var/crash.如果您的系统在今天早上的崩溃中留下了崩溃转储/var/crash,那么您可以查看崩溃的 pstack,并可能获得一些有关根本原因的指示。

这些步骤应该可以让您更接近找出系统崩溃的原因。

答案2

[不再是 Solaris 专家,但熟悉 Linux 硬件] 如果是一个驱动器,我会怀疑其中一个出现故障。但所有这些都非常可疑。也许控制器有问题?

我最近看到的大多数崩溃都是由于 CPU 过热(风扇故障、污垢、空气循环堵塞)、显卡驱动程序(特别是 nVidia)导致的第二次挂起造成的。过去的一些麻烦点是停电,甚至是微停电。

答案3

少量的软错误可以安全地忽略。 Solaris 只是迂腐地记录和报告其他操作系统甚至没有注意到的一切。

监视错误计数(重新启动时重置)并检查模式。

另请注意,一个设备上的软错误往往会导致同一总线上其他驱动器上的计数也增加。不过,您也会有一个明显的赢家,其中一个驱动器的错误比其他驱动器多很多倍。

我从未发现驱动器错误计数(软错误或硬错误)可以指示 HBA 故障,但这可能只是我的情况。 HBA 故障通常显示为其他消息,例如 mpt 错误。

相关内容