我在两个相同的希捷1GB硬盘上运行Fedora 19(内核3.11.3-201.fc19.x86_64),并安装了软件RAID-1(mdadm):

# cat /proc/mdstat

Personalities : [raid1]

md1 : active raid1 sdb3[1] sda3[0]

973827010 blocks super 1.2 [2/2] [UU]

unused devices:

最近,在两个驱动器之一上出现了一些错误:smartd检测到“1个当前不可读(待定)扇区”和“1个脱机不可纠正扇区”. RAID阵列“重新安排”了一些部门.然后大约一天后,内核产生了各种I / O消息/异常:

Oct 18 06:39:20 x smartd[461]: Device: /dev/sdb [SAT], 1 Currently unreadable (pending) sectors

Oct 18 06:39:20 x smartd[461]: Device: /dev/sdb [SAT], 1 Offline uncorrectable sectors

...

Oct 18 07:09:20 x smartd[461]: Device: /dev/sdb [SAT], 1 Currently unreadable (pending) sectors

Oct 18 07:09:20 x smartd[461]: Device: /dev/sdb [SAT], 1 Offline uncorrectable sectors

...

Oct 18 07:30:28 x kernel: [467502.192792] md/raid1:md1: sdb3: rescheduling sector 1849689328

Oct 18 07:30:28 x kernel: [467502.192822] md/raid1:md1: sdb3: rescheduling sector 1849689336

Oct 18 07:30:28 x kernel: [467502.192846] md/raid1:md1: sdb3: rescheduling sector 1849689344

Oct 18 07:30:28 x kernel: [467502.192870] md/raid1:md1: sdb3: rescheduling sector 1849689352

Oct 18 07:30:28 x kernel: [467502.192895] md/raid1:md1: sdb3: rescheduling sector 1849689360

Oct 18 07:30:28 x kernel: [467502.192919] md/raid1:md1: sdb3: rescheduling sector 1849689368

Oct 18 07:30:28 x kernel: [467502.192943] md/raid1:md1: sdb3: rescheduling sector 1849689376

Oct 18 07:30:28 x kernel: [467502.192966] md/raid1:md1: sdb3: rescheduling sector 1849689384

Oct 18 07:30:28 x kernel: [467502.192991] md/raid1:md1: sdb3: rescheduling sector 1849689392

Oct 18 07:30:28 x kernel: [467502.193035] md/raid1:md1: sdb3: rescheduling sector 1849689400

...

Oct 19 06:26:08 x kernel: [550035.944191] ata3.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0

Oct 19 06:26:08 x kernel: [550035.944224] ata3.01: BMDMA stat 0x64

Oct 19 06:26:08 x kernel: [550035.944248] ata3.01: failed command: READ DMA EXT

Oct 19 06:26:08 x kernel: [550035.944274] ata3.01: cmd 25/00:08:15:fb:9c/00:00:6c:00:00/f0 tag 0 dma 4096 in

Oct 19 06:26:08 x kernel: [550035.944274] res 51/40:00:1c:fb:9c/40:00:6c:00:00/10 Emask 0x9 (media error)

Oct 19 06:26:08 x kernel: [550035.944322] ata3.01: status: { DRDY ERR }

Oct 19 06:26:08 x kernel: [550035.944340] ata3.01: error: { UNC }

Oct 19 06:26:08 x kernel: [550036.573438] ata3.00: configured for UDMA/133

Oct 19 06:26:08 x kernel: [550036.621444] ata3.01: configured for UDMA/133

Oct 19 06:26:08 x kernel: [550036.621507] sd 2:0:1:0: [sdb] Unhandled sense code

Oct 19 06:26:08 x kernel: [550036.621516] sd 2:0:1:0: [sdb]

Oct 19 06:26:08 x kernel: [550036.621523] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

Oct 19 06:26:08 x kernel: [550036.621530] sd 2:0:1:0: [sdb]

Oct 19 06:26:08 x kernel: [550036.621537] Sense Key : Medium Error [current] [descriptor]

Oct 19 06:26:08 x kernel: [550036.621555] Descriptor sense data with sense descriptors (in hex):

Oct 19 06:26:08 x kernel: [550036.621562] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00

Oct 19 06:26:08 x kernel: [550036.621606] 6c 9c fb 1c

Oct 19 06:26:08 x kernel: [550036.621626] sd 2:0:1:0: [sdb]

Oct 19 06:26:08 x kernel: [550036.621638] Add. Sense: Unrecovered read error - auto reallocate failed

Oct 19 06:26:08 x kernel: [550036.621646] sd 2:0:1:0: [sdb] CDB:

Oct 19 06:26:08 x kernel: [550036.621653] Read(10): 28 00 6c 9c fb 15 00 00 08 00

Oct 19 06:26:08 x kernel: [550036.621692] end_request: I/O error, dev sdb, sector 1822227228

Oct 19 06:26:08 x kernel: [550036.621719] raid1_end_read_request: 9 callbacks suppressed

Oct 19 06:26:08 x kernel: [550036.621727] md/raid1:md1: sdb3: rescheduling sector 1816361448

Oct 19 06:26:08 x kernel: [550036.621782] ata3: EH complete

Oct 19 06:26:08 x kernel: [550041.155637] ata3.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0

Oct 19 06:26:08 x kernel: [550041.155669] ata3.01: BMDMA stat 0x64

Oct 19 06:26:08 x kernel: [550041.155694] ata3.01: failed command: READ DMA EXT

Oct 19 06:26:08 x kernel: [550041.155719] ata3.01: cmd 25/00:08:15:fb:9c/00:00:6c:00:00/f0 tag 0 dma 4096 in

Oct 19 06:26:08 x kernel: [550041.155719] res 51/40:00:1c:fb:9c/40:00:6c:00:00/10 Emask 0x9 (media error)

Oct 19 06:26:08 x kernel: [550041.155767] ata3.01: status: { DRDY ERR }

Oct 19 06:26:08 x kernel: [550041.155785] ata3.01: error: { UNC }

Oct 19 06:26:08 x kernel: [550041.343437] ata3.00: configured for UDMA/133

Oct 19 06:26:08 x kernel: [550041.391438] ata3.01: configured for UDMA/133

Oct 19 06:26:08 x kernel: [550041.391501] sd 2:0:1:0: [sdb] Unhandled sense code

Oct 19 06:26:08 x kernel: [550041.391510] sd 2:0:1:0: [sdb]

Oct 19 06:26:08 x kernel: [550041.391517] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE

Oct 19 06:26:08 x kernel: [550041.391525] sd 2:0:1:0: [sdb]

Oct 19 06:26:08 x kernel: [550041.391532] Sense Key : Medium Error [current] [descriptor]

Oct 19 06:26:08 x kernel: [550041.391546] Descriptor sense data with sense descriptors (in hex):

Oct 19 06:26:08 x kernel: [550041.391553] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00

Oct 19 06:26:08 x kernel: [550041.391596] 6c 9c fb 1c

Oct 19 06:26:08 x kernel: [550041.391616] sd 2:0:1:0: [sdb]

Oct 19 06:26:08 x kernel: [550041.391624] Add. Sense: Unrecovered read error - auto reallocate failed

Oct 19 06:26:08 x kernel: [550041.391636] sd 2:0:1:0: [sdb] CDB:

Oct 19 06:26:08 x kernel: [550041.391643] Read(10): 28 00 6c 9c fb 15 00 00 08 00

Oct 19 06:26:08 x kernel: [550041.391681] end_request: I/O error, dev sdb, sector 1822227228

Oct 19 06:26:08 x kernel: [550041.391737] ata3: EH complete

Oct 19 06:26:08 x kernel: [550041.409686] md/raid1:md1: read error corrected (8 sectors at 1816363496 on sdb3)

Oct 19 06:26:08 x kernel: [550041.409705] handle_read_error: 9 callbacks suppressed

Oct 19 06:26:08 x kernel: [550041.409709] md/raid1:md1: redirecting sector 1816361448 to other mirror: sda3

计算机继续将一些条目记录到系统日志中,直到大约一个小时后,然后最终变得完全没有响应. syslog中没有记录“内核oops”.必须重新启动计算机,此时raid阵列处于重新同步状态.重新同步后,一切都显示良好,驱动器似乎正常工作.

我还注意到,所有重新安排的部门恰好分开了8个扇区,这对我来说似乎很奇怪.

最后,重启后大约一两天,但在raid重新同步完成后显着,驱动器重置了不可读(待定)和离线不可纠正的扇区计数,我认为这是正常的,因为驱动器使这些扇区脱机并重新映射它们:

Oct 20 01:05:42 x kernel: [ 2.186400] md: bind

Oct 20 01:05:42 x kernel: [ 2.204826] md: bind

Oct 20 01:05:42 x kernel: [ 2.209618] md: raid1 personality registered for level 1

Oct 20 01:05:42 x kernel: [ 2.210079] md/raid1:md1: not clean -- starting background reconstruction

Oct 20 01:05:42 x kernel: [ 2.210087] md/raid1:md1: active with 2 out of 2 mirrors

Oct 20 01:05:42 x kernel: [ 2.210122] md1: detected capacity change from 0 to 997198858240

Oct 20 01:05:42 x kernel: [ 2.210903] md: resync of RAID array md1

Oct 20 01:05:42 x kernel: [ 2.210911] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.

Oct 20 01:05:42 x kernel: [ 2.210915] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for resync.

Oct 20 01:05:42 x kernel: [ 2.210920] md: using 128k window, over a total of 973827010k.

Oct 20 01:05:42 x kernel: [ 2.241676] md1: unknown partition table

...

Oct 20 06:33:10 x kernel: [19672.235467] md: md1: resync done.

...

Oct 21 05:35:50 x smartd[455]: Device: /dev/sdb [SAT], No more Currently unreadable (pending) sectors, warning condition reset after 1 email

Oct 21 05:35:50 x smartd[455]: Device: /dev/sdb [SAT], No more Offline uncorrectable sectors, warning condition reset after 1 email

smartctl -a / dev / sdb现在显示

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE

...

5 Reallocated_Sector_Ct 0x0033 096 096 036 Pre-fail Always - 195

...

197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0

198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0

...

出现了一些问题:

1)为什么所有重新安排的部门都要分开8个?

2)为什么内核无响应并需要重启?难道这不是RAID-1在没有系统爆炸的情况下应该处理的情况吗?

3)为什么raid重新同步完成后仅23小时才会重置不可读和离线不可纠正的计数?

解决方法:

1) Why would all the rescheduled sectors be exactly 8 apart?

行业数量的这种差距是可以预期的,问题是这些差距会有多大(4k或更大). 8x 512字节是4k,这是大多数文件系统使用的扇区大小.因此文件系统可能要求从RAID读取4k,RAID要求/ dev / sdb获取该数据.该读取的第一个扇区失败(这是您在日志中看到的扇区号),RAID切换到/ dev / sda并从那里服务4k.然后文件系统请求读取下一个4k,返回到/ dev / sdb,扇区号为8再次失败,这也是你在日志中看到的…

2) Why would the kernel become unresponsive and require a reboot?

不应该正常发生.问题是重新分配的情况是你能得到的最贵的.每次失败的读取都必须重定向到另一个磁盘,必须在原始磁盘上重写等.如果它同时填充您的日志文件,则会导致新的写入请求,而这些请求又必须重新分配在这种情况下,将磁盘完全取出会更便宜.

这也是其他硬件(如SATA控制器)如何处理故障驱动器的问题.如果控制器本身出现打嗝,则会对性能产生更大的影响.

如果没有日志条目,很难说出究竟发生了什么;这是Linux内核的一个弱点,没有直接的解决方案可以在事情真正发生时保留最后的消息.

3) Why would the unreadable and offline uncorrectable counts reset only 23 hours after the raid resync was complete?

某些值仅在您执行脱机数据收集(UPDATED Offline列)时更新,这可能需要一些时间.如果磁盘设置为自动执行此操作,则它取决于磁盘,例如每四个小时一次.如果您不想依赖磁盘,则应使用smartmontools进行设置.

标签:linux,fedora,software-raid,raid1

来源: https://codeday.me/bug/20190813/1649017.html

linux驱动读取文件失败怎么办,linux – 由于单个驱动器读取错误导致软件RAID-1导致内核故障...相关推荐

  1. 信用社服务器获取安装文件失败是怎么回事,安装驱动器读取失败是怎么回事

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 安装驱动器读取失败的原因有: 1.光驱连接不当造成 光驱安装后,开机自检,如不能检测到光驱,则要认真检查光驱排线的连接是否正确.牢 ...

  2. linux驱动设备信息失败怎么办,Linux设备驱动程序(LDD)中snull的编译问题 《转》

    对LDD中snull程序,编译的时候会有许多问题,鉴于网上还没有合适的解决办法,做此总结,整理知识.本文在debian6.0上运行通过,内核版本为2.6.32. 学习LDD中网络驱动程序部分,理解sn ...

  3. linux驱动获取函数失败信息,linux驱动调试--段错误之栈信息分析

    接着上一篇来分析一下Oops的栈 s3c2440平台 关于调试源码和整个Oops信息请参考上一篇博文,这里只再次贴出关于栈的信息 Stack: (0xc3a61e30 to 0xc3a62000) 1 ...

  4. python读取文件失败解决方案

    python读取文件失败解决方法 我的目录如下 python/text_files/pi_digits.txt python/text_files/file_reader.py 1. python默认 ...

  5. linux 几个文件夹作用,linux下每一个文件夹的作用.docx

    目录结构及主要内容 "/"根冃录部分有以F子冃录: /usr 口录包含所有的命令.程序库.文档和英它文件.这些文件在正常操作中不会被改变的.这个目录也包含你的Linux 发行版本的 ...

  6. linux 穿件文件_关于Linux的25件事

    linux 穿件文件 今天是Linux 25年的历史,这是有史以来最成功的软件. 在本周的LinuxCon上,Linux基金会的Jim Zemlin在主题演讲中表达了钦佩,赞美和激动,他说:" ...

  7. 嵌入式linux驱动开发实战教程,嵌入式Linux驱动开发实战视频教程

    嵌入式Linux驱动开发实战教程(内核驱动.看门狗技术.触摸屏.视频采集系统) 适合人群:高级 课时数量:109课时 用到技术:嵌入式 Linux 涉及项目:驱动开发.看门狗技术.触摸屏.视频采集 咨 ...

  8. winform6、(C#)程序开机启动时读取文件失败

    winform6.(C#)程序开机启动时读取文件失败 今天在测试程序的时候发现,通过注册表来开机自启动程序时,读取不到配置文件,最后终究是发现了问题所在: 程序中使用了相对路径,而通过注册表启动时程序 ...

  9. pd.read_csv()读取文件失败,路径错误

    问题 pd.read_csv()读取文件失败,路径错误 原因 在windows系统当中读取文件路径可以使用\ ,但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要 ...

最新文章

  1. AI一分钟 | 特朗普以国家安全为由否决博通收购高通;阿里发起时尚AI算法大赛
  2. 关于自定义可以点击的的布局
  3. 学习笔记(25):Python网络编程并发编程-Thread其他属性和守护线程
  4. 三类基于贪心思想的区间覆盖问题
  5. TortoiseGit 单文件版本对比_入门试炼_09
  6. 使用Beetle简单构建聊天室程序
  7. 常用的开源镜像网站收集与备忘
  8. 东方时尚网上约车的用户名密码是什么_网站制作要学什么、在现代网页设计中,动效常见的几种用法...
  9. linux 下nm命令输出,Linux nm命令介绍
  10. Media Player Classic - HC 源代码分析 4:核心类 (CMainFrame)(3)
  11. 如何进入服务器文件管理,服务器怎么打开任务管理器
  12. PyTorch报错:xxx.pth is a zip archive(did you mean to use torch.jit.load()?)
  13. 如何听节拍器_节拍器节拍点怎么听
  14. 冰冻三尺,非一日之寒!
  15. 外星人入侵游戏python学习心得——创建第一个外星人在左上角
  16. 天使爱美丽经典台词语录片段对白分享
  17. 热水器突然不出热水问题排查记录
  18. 计算机组成原理题库(唐朔飞)
  19. SuSE zypper命令基本使用
  20. 大数据平台开发:大数据系统架构模块解析

热门文章

  1. html页面vertical,vertical.html
  2. 鼠标在linux下如何工作,Linux操作系统下的鼠标操作
  3. linux中文件的编辑 写入 读取 光标的位置 以及相应的补充
  4. android gridview显示本地图片大小,在Android上的GridView中调整图像大小
  5. html标签slot,HTML slot 标签
  6. 所有库在门不显示封装_COB全天候通透屏,在商业显示中的场景应用
  7. Leetcode 54 螺旋矩阵 (每日一题 20210729)
  8. MATLAB从入门到精通-matlab中符号推导应用及相关技巧
  9. 听说你想去大厂看妹子,带你看看美团后端开发实习岗详细面经
  10. 过拟合(原因、解决方案、原理)