关于Linux报错解决方案:READ FPDMA QUEUED
1 前段时间管理的linux系统,接连4台开机报错 READ FPDMA QUEUED
(1) 第一台
(2) 第二台
2 解决方案没有,但是百度了几篇文章,全部指向磁盘NCQ方面的问题
- NCQ
简单来讲,是说是一种提高硬盘性能和稳定性的技术。多篇文章解释是因为固态硬盘开启了此项服务导致的
这篇文章摘自百度百科,详细解释了什么是NCQ技术
NCQ百度百科
NCQ(Native Command
Queuing,原生命令队列)是被设计用于改进在日益增加的负荷情况下硬盘的性能和稳定性的技术。当用户的应用程序发送多条指令到用户的硬盘,NCQ硬盘可以优化完成这些指令的顺序,从而降低机械负荷达到提升性能的目的。
NCQ技术是一种使硬盘内部优化工作负荷执行顺序,通过对内部队列中的命令进行重新排序实现智能数据管理,改善硬盘因机械部件而受到的各种性能制约。
- NCQ技术是机械硬盘技术,结果因为操作系统带的检测工具,双盘对比,导致报错,然后是禁用磁盘此项功能即可。
failed command: READ FPDMA QUEUED转自灰信网。
系统sdb—SSDmstat128G
数据sda—SSDstat1TB
最后的结论是:机械盘的技术指标在固态硬盘上报了错,系统盘链路计数校验异常,进一步的推断是系统内核对SSD兼容不太好,所以也是关掉SSD
问题:
failed command: READ FPDMA QUEUED
failed command: WRITE FPDMA QUEUED1、关闭NCQ vim /boot/efi/EFI/centos/grub.cfg
添加libata.force=noncq到启动项中;
linuxefi /vmlinuz-3.10.0-957.21.3.el7.x86_64
root=UUID=2b1d8b5c-9ca4-4c87-a8b4-5db40d08ac4f ro crashkernel=auto
biosdevname=0 net.ifnames=0 console=ttyS0,115200 LANG=en_US.UTF-8
libata.force=noncq2、重启 reboot
- 是因为磁盘错误导致
给出的方案是进行磁盘修复,进行优化。但是只有个大概方向,没有具体的方案。
“引起”它的程序(实际上,它是由坏硬件引起的,更适合说“作为它的受害者的程序”)可能甚至不再存在.
例如,发送一个写,然后退出.写入将位于内核缓冲区中,直到内核执行回写.此时可能发生I / O错误.
linux – 陷阱“READ FPDMA QUEUED”
5 这篇有点东西,更加详细
3 综上,暂时没找到彻底解决方案,目前是重做系统,然后继续测试,待有结果后再完善