收起左侧

系统无法正常重启

3
回复
998
查看
[ 复制链接 ]

5

主题

6

回帖

0

牛值

江湖小虾

2024-12-8 16:20:28 显示全部楼层 阅读模式

[i=s] 本帖最后由 飞牛技术同学 于 2024-12-9 15:15 编辑 [/i]<br /> <br />

设备环境:(物理,局域网)

BUG现象:(我通过设备访问网页,点击操作后,出现了无法重启的情况)

出现频率:(必现)

联系方式:(微信群fnos246-大锤)

发生故障的时候

1f206e567e0ad6e4622ac9a34e1e56f.jpg

后续手动重启需要很长时间,看屏幕日志是停服务,耗时2-3分钟,虽然慢但不影响

并且开机后磁盘显示有问题

image.png

但通过fn的网页查看是正常的

image.png

请问死机的时候是什么问题导致的

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

5

主题

6

回帖

0

牛值

江湖小虾

2024-12-8 16:44:47 楼主 显示全部楼层
1. 软锁(Soft Lockup)问题
错误信息:2024 - 12 - 08T15:30:22.909713+08:00 dachui - NAS kernel: [55752.820298] watchdog: BUG: soft lockup - CPU#0 stuck for 1479s! [trim - media:103369]
解释:这表明系统的看门狗(watchdog)检测到 CPU 0 出现了软锁问题。软锁是指内核线程或进程在很长一段时间(这里是 1479 秒)内没有释放 CPU 资源,导致系统可能无响应。出现这个问题的进程是trim - media,其进程 ID(PID)为 103369。
2. 加载的模块(Modules linked in)
相关信息:日志中列出了大量的内核模块,如veth、nfsd、auth_rpcgss等。这些模块是内核的一部分,它们提供了各种功能,如网络支持(veth用于虚拟以太网设备)、文件系统支持(nfsd用于网络文件系统服务)等。
意义:这些模块信息可以帮助你了解系统当时加载了哪些功能,以便分析是否某个模块的异常导致了软锁。例如,如果是网络相关模块出现问题,可能与网络操作导致的死锁有关;如果是文件系统模块(如nfs_acl等),可能与文件系统操作或存储设备访问有关。
3. 调用栈(Call Trace)信息
示例内容:
RIP: 0010:native_queued_spin_lock_slowpath+0x6a/0x2b0这一行显示了指令指针(RIP)的位置,指出当时执行的代码在内核的native_queued_spin_lock_slowpath函数中,偏移量是0x6a,总长度是0x2b0。
还有许多寄存器的值被打印出来,如RAX、RBX等。这些寄存器的值可以帮助内核开发者进一步了解系统在出现问题时的状态。
调用栈信息还包括一系列函数调用关系,如 <IRQ>和 </IRQ>之间的部分表示在中断处理过程中的调用, <TASK>和 </TASK>之间表示在任务(进程)执行过程中的调用。这些调用关系有助于追踪问题是如何在代码执行路径中产生的。
分析方法:通过分析调用栈,可以追踪代码执行路径,找到可能导致软锁的函数调用序列。例如,从native_queued_spin_lock_slowpath函数开始,可以查看它被哪些函数调用,以及它内部是否有死循环或者长时间等待资源导致无法释放 CPU 的情况。
4. RCU 相关信息
内容展示:2024-12-08T15:30:32.918506+08:00 dachui - NAS kernel: [55762.839363] rcu: INFO: rcu_preempt self - detected stall on CPU
含**释:这部分是关于读取 - 复制 - 更新(RCU)机制的信息。RCU 是 Linux 内核用于高效地管理共享数据的一种机制。这里显示 RCU 检测到在 CPU 上出现了停滞(stall),这可能与软锁问题有关。因为软锁可能导致 RCU 机制无法正常推进,如无法及时完成更新操作或者进入了等待资源的死循环状态。
总的来说,系统很可能是由于trim - media进程中的某个操作(可能涉及到自旋锁spin - lock,从native_queued_spin_lock_slowpath推测)导致 CPU 0 长时间占用资源,进而引发软锁和 RCU 停滞的问题。需要进一步查看trim - media进程相关的代码逻辑以及这些代码中对内核资源(如锁、文件系统、网络等)的操作来确定具体原因。如果这是一个可重现的问题,可以使用调试工具(如kgdb)在内核编译时加入调试信息,对问题进行更深入的跟踪。
用AI搜下应该和我想的一样

43

主题

8509

回帖

0

牛值

管理员

2024-12-9 15:17:48 显示全部楼层
我转给技术同学具体看一下  感谢反馈
怎么样了,有什么思路,装了一个星期故障好多次,重装就要来回迁移数据  详情 回复
2024-12-14 23:52

5

主题

6

回帖

0

牛值

江湖小虾

2024-12-14 23:52:25 楼主 显示全部楼层
怎么样了,有什么思路,装了一个星期故障好多次,重装就要来回迁移数据
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则