关于Linux报错解决方案:READ FPDMA QUEUED

关于Linux报错解决方案:READ FPDMA QUEUED

1 前段时间管理的linux系统,接连4台开机报错 READ FPDMA QUEUED

(1) 第一台

在这里插入图片描述 (2) 第二台

在这里插入图片描述
2 解决方案没有,但是百度了几篇文章,全部指向磁盘NCQ方面的问题

  1. NCQ
    简单来讲,是说是一种提高硬盘性能和稳定性的技术。多篇文章解释是因为固态硬盘开启了此项服务导致的
    这篇文章摘自百度百科,详细解释了什么是NCQ技术
    NCQ百度百科

NCQ(Native Command
Queuing,原生命令队列)是被设计用于改进在日益增加的负荷情况下硬盘的性能和稳定性的技术。当用户的应用程序发送多条指令到用户的硬盘,NCQ硬盘可以优化完成这些指令的顺序,从而降低机械负荷达到提升性能的目的。
NCQ技术是一种使硬盘内部优化工作负荷执行顺序,通过对内部队列中的命令进行重新排序实现智能数据管理,改善硬盘因机械部件而受到的各种性能制约。

  1. NCQ技术是机械硬盘技术,结果因为操作系统带的检测工具,双盘对比,导致报错,然后是禁用磁盘此项功能即可。
    failed command: READ FPDMA QUEUED转自灰信网。

系统sdb—SSDmstat128G
数据sda—SSDstat1TB
最后的结论是:机械盘的技术指标在固态硬盘上报了错,系统盘链路计数校验异常,进一步的推断是系统内核对SSD兼容不太好,所以也是关掉SSD

  1. 直接关掉NCQ,然后是对磁盘一些属性的讲解
    关掉NCQ
    磁盘属性
    failed command: READ FPDMA QUEUED

问题:

failed command: READ FPDMA QUEUED
failed command: WRITE FPDMA QUEUED

1、关闭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=noncq

2、重启 reboot

  1. 是因为磁盘错误导致
    给出的方案是进行磁盘修复,进行优化。但是只有个大概方向,没有具体的方案。

“引起”它的程序(实际上,它是由坏硬件引起的,更适合说“作为它的受害者的程序”)可能甚至不再存在.

例如,发送一个写,然后退出.写入将位于内核缓冲区中,直到内核执行回写.此时可能发生I / O错误.

linux – 陷阱“READ FPDMA QUEUED”
5 这篇有点东西,更加详细

3 综上,暂时没找到彻底解决方案,目前是重做系统,然后继续测试,待有结果后再完善

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值