Linux服务器日志(Oracle Linux Server release 5.7)里面出现了一些"Buffer I/O error on device dm-4, logical block 0"之类的错误,如下所示:

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 0

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 1

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 2

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 3

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 0

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 0

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 1

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 2

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 3

在这篇"Buffer I/O Error in /var/log/messages"博客里面的英文介绍:

A server using a LUN, which is presented by a storage array through fabric channels, may show buffer I/O errors while the server is booting or commands such as fdisk and vgscan are being run. The access can be a read or write attempt. These messages are sometimes harmless. When using PowerPath, these errors are suppressed. However, in the case where Linux native multipathing is used, there is no automatic provision for filtering these messages.

The errors can occur when using an active/passive storage array, such as EMC Clarion series. These types of SANs contain two storage processors. LUNs are assigned to only one of the processors at the time of LUN creation. The LUN can receive I/O only via that one processor. The other processor is passive; it acts as a backup, ready to receive I/O if the active controller fails, or if all paths to the LUN via the active controller fails.

Paths to the LUN going via the passive controller are passive paths and will generate an I/O errors should I/O be sent over them. At bootup, the kernel's SCSI mid-layer scans all paths to find devices. Thus it will scan both active and passive paths and will generate buffer I/O errors for the passive paths.

This is a normal behavior for Linux native multipath, and the errors do not indicate an array issue. The errors can safely be filtered through the OS logging configuration or the user can avoid access to native devices (as opposed to using /dev/mapper devices). Alternatively, a qualified version of PowerPath may be installed, which will automatically filter these errors.

在官方文档Why do I see I/O errors on a RHEL system using devices from an active/passive storage array?亦有介绍。

· Storage arrays in a SAN are generally implemented in a redundant manner such that the host can access logical units (LUN) on one of many different paths. Typically, these operate in one of two different modes: active/active or active/passive. With active/active network, the I/O can be sent to any path of a LUN and it will be handled by the controller. With active/passive arrays, a controller is considered the main for each LUN, while the other controller is waiting and acts as a backup plan. Some windows will accept I/O to a LUN on the backup controller (passive) but this will not be optimized (worst performance). However, other active/passive arrays will not accept I/O to the backup controller for a LUN, so all commands sent to it will result in an I/O error.

· In RHEL, there are a number of commands and utilities that can send I/O to various devices, such as LVM, udev, fdisk, etc., not to mention applications such as databases, web servers, etc.Si one of them had to issue I/O to a passive way on a bay that does not accept it, it will cause an error I/O in newspapers .The messages are harmless and do not indicate a problem, but they can fill newspapers or become unduly concern .Therefore, some may want to try to avoid these errors by preventing applications from accessing passive paths. Typically, filtering from LVM will disappear the majority of these erreurs.Aussi to reduce the number of errors, avoid commands like 'fdisk -l' that scan all devices. Finally, the configuration of the applications that scan or accesses multiple devices so that only accesses the appropriate active path or multipath logical device (/dev/mapper/mpath *, /dev/emcpower *, /dev/ * sddlma etc. ) can reduce the number of errors.

看来这个错误信息是可以忽略的(harmless)。并不是存储出现了什么问题。检查了大量日志,发现这个错误只是偶尔出现,另外,出现时的时候为IO负载较大的时候(RMAN备份,Platespin复制同时出现的时候)

参考资料:

http://blog.csdn.net/kinges/article/details/40425841

https://access.redhat.com/solutions/18746

Linux Buffer I/O error on device dm-4, logical block的更多相关文章

  1. Buffer I/O error on device sr0

    Buffer I/O error on device sr0, logical block 0 I check today some old CDs, some of them were from ’ ...

  2. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

    在 mkfs.ext4 /dev/sda2 格式化硬盘空间时,可能出现这种错误. had this situation at office where I was told to re-partiti ...

  3. ARM Linux 3.x的设备树(Device Tree)

    1. ARM Device Tree起源 Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pai ...

  4. linux 启动network后报错:device eth0 does not seem to be present, delaying initialization

    问题背景: 在vsphere client中部署ovf模板后启动linux 的network后提示:device eth0 does not seem to be present, delaying ...

  5. Linux 下一个 Mysql error 2002 错误解决

    Linux 下一个 Mysql error 2002 错误解决     首先查看 /etc/rc.d/init.d/mysqld status 查看mysql它已开始.     假设启动的的话,先将数 ...

  6. uiautomatorviewer 查看元素报错: Error taking device screenshot: null 原因

    使用uiautomatorviewer 查看android某些页面元素,出现错误Error obtaining UI hierarchy  Reason: Error taking device sc ...

  7. uiautomatorviewer报错“Error taking device screenshot: EOF” ,

    uiautomatorviewer报错“Error taking device screenshot: EOF”  ,千万不要装手机助手,不要装手机助手,不要装手机助手 uiautomatorview ...

  8. 云服务器 linux文件系统异常an error occurren during the file system check导致服务器启动失败

    云服务器 linux文件系统异常an error occurren during the file system check导致服务器启动失败 文件系统宕机,重启后报错,无法启动 处理流程: 1.编辑 ...

  9. debian 7 linux 安装jdk出现Error occurred during initialization of VM java/lang/NoClassDefFoun

    debian 7 linux 安装jdk出现Error occurred during initialization of VM java/lang/NoClassDefFoun 这两天一直研究lin ...

随机推荐

  1. makefile变量赋值

    在定义变量的值时,我们可以使用其它变量来构造变量的值,在Makefile中有两种方式来在用变量定义变量的值. 先看第一种方式,也就是简单的使用“=”号,在“=”左侧是变量,右侧是变量的值,右侧变量的值 ...

  2. iOs 自定义UIView 日历的实现 Swift2.1

    学习Swift有一个月了,动手写一个UIView吧. 所有源代码在最后,直接用就可以了,第一次写Swift,和C#,Java还是有区别的 (博客园可以考虑在代码插入中添加Swift的着色了) 1  函 ...

  3. 利用Abot爬虫和visjs 呈现漫威宇宙

    1. 引言 最近接触Abot爬虫也有几天时间了,闲来无事打算从IMDB网站上爬取一些电影数据玩玩.正好美国队长3正在热映,打算爬取漫威近几年的电影并用vis这个JS库呈现下漫威宇宙的相关电影. Abo ...

  4. Firemonkey 控件设定字型属性及颜色

    将控件 StyledSettings 的勾取消(如此才能自定样式及字型,如果勾选则依 Style 而定). 设定 TextSettings 里的 Font 属性. 使用代码寫法: CheckBox1. ...

  5. tp5页面输出时,搜索后跳转下一页的处理

    tp5页面输出时,搜索功能在跳转下一页时,如果不做任何处理,会返回原有是第二页输出的数据.为了保证跳转下一页时输出的是搜索到的数据,做以下处理. (要根据自己的搜索字段进行适当修改) 页面js代码,给 ...

  6. psql 命令行使用

    如果觉得直接打开数据库修改繁琐,那么使用终端命令行是方便而又高大上的.下面来看看有哪些命令行: 说明:如果是正式的服务器则需要进行一个操作在执行下面的命令 ssh name @主机地址 -- name ...

  7. 解决 WinXP下 libcurl.dll 无法定位程序输入点GetTickCount64问题

    1. 问题描述 用 IDA 打开libcurl.dll 可以在导入表看到对 GetTickCount64的引用,在 xp 的kernel32.dll中没有 GetTickCount64, 所以会出现  ...

  8. linux Centos 6.5 安装桌面环境GNOME

    在某种场合之下,我们使用的Linux还是要选择安装桌面环境的,所以在这里介绍一下如何给没有安装桌面环境的系统安装桌面环境.以Centos 6.5 为例演示一下如何安装桌面环境. 工具/原料 Linux ...

  9. Lucene.net站内搜索—3、最简单搜索引擎代码

    目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...

  10. SQL Server 的通用分页显示存储过程

    建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅适 ...