我们正在Oracle系统上运行数据库转储的导入 – (RHEL 5.9,2.6.18-348.6.1.el5)。 导入不完成,最终出错:
ORA-15080: synchronous I/O operation to a disk failed WARNING: failed to write mirror side 1 of virtual extent 248 logical extent 0 of file 280 in group 1 on disk 1 allocation unit 986 Errors in file /u01/app/oracle/diag/rdbms/dbprod/DBPROD/trace/DBPROD_lgwr_24520.trc: ORA-00345: redo log write error block 509314 count 2023 ORA-00312: online log 1 thread 1: '+DATA/dbprod/redo01.log' ORA-15081: failed to submit an I/O operation to a disk ORA-15081: failed to submit an I/O operation to a disk
环形缓冲区和/var/log/messages有相应的错误:
Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io error, sge_count = 51 Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io error, sge_count = 51 Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io error, sge_count = 51 Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: timing out command, waited 360s Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: Unhandled error code Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: SCSI error: return code = 0x06000000 Jun 12 18:54:42 db1-test kernel: Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT,SUGGEST_OK
包含导入的驱动器arrays是RAID 1 + 0中使用300GB 10k磁盘的10磁盘SASarrays。 RAID控制器是LSI MegaRAID SAS 9260-8i 。 没有磁盘或适配器错误通过MegaCLI报告。
编辑:
其他调度程序已经尝试了相同的结果。 在此设置中运行第三方(Vormetric)文件系统encryption模块 。 删除它可以导入完成。 所以现在我想知道这是否是模块中的缺陷,或者是否在LSI驱动中触发了一个不好的情况。
在导入期间,我们达到了14,000个写入IOPS。 
在最近的尝试中,系统在控制台上完全停止。 
冻结前的最后一个输出。 
最终谢尔盖是正确的 – 这是一个驱动程序的问题。 但是让我们先看看:
首先你要使用截止dateI / O调度程序而不是CFQ。 正如其名称所暗示的那样, deadline能够确保所有IOP及时完成。
从megaraid卡抓取事件:
megacli -adpeventlog -getevents -f /tmp/megaraid-$(date +%F_%T) -aALL
检查磁盘上的SMART数据(您将需要构build一个新的smartmontools以使其工作):
# megacli -pdlist -a0 |grep 'Device Id' Device Id: 10 Device Id: 9 # smartctl -a /dev/sda -d megaraid,9 «…» # smartctl -a /dev/sda -d megaraid,10 «…»
如果一切正常,请继续尝试LSI提供的最新驱动程序 。
在此设置中运行第三方(Vormetric)文件系统encryption模块。 删除它可以导入完成。 所以现在我想知道这是否是模块中的缺陷,或者是否在LSI驱动程序中触发了一个糟糕的情况。
Voretric模块可能会做一些不兼容的事情,是的。 我将首先与他们谈谈他们的模块是如何在高负载下搞砸你的系统的。